diff options
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/Makefile | 27 | ||||
-rw-r--r-- | arch/mips/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/mips/kernel/vmlinux.lds.S | 13 |
3 files changed, 16 insertions, 29 deletions
diff --git a/arch/mips/Makefile b/arch/mips/Makefile index c825b14b4ed0..77f5021218d3 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile | |||
@@ -627,16 +627,6 @@ endif | |||
627 | cflags-y += -I$(srctree)/arch/mips/include/asm/mach-generic | 627 | cflags-y += -I$(srctree)/arch/mips/include/asm/mach-generic |
628 | drivers-$(CONFIG_PCI) += arch/mips/pci/ | 628 | drivers-$(CONFIG_PCI) += arch/mips/pci/ |
629 | 629 | ||
630 | ifdef CONFIG_32BIT | ||
631 | ifdef CONFIG_CPU_LITTLE_ENDIAN | ||
632 | JIFFIES = jiffies_64 | ||
633 | else | ||
634 | JIFFIES = jiffies_64 + 4 | ||
635 | endif | ||
636 | else | ||
637 | JIFFIES = jiffies_64 | ||
638 | endif | ||
639 | |||
640 | # | 630 | # |
641 | # Automatically detect the build format. By default we choose | 631 | # Automatically detect the build format. By default we choose |
642 | # the elf format according to the load address. | 632 | # the elf format according to the load address. |
@@ -660,8 +650,9 @@ ifdef CONFIG_64BIT | |||
660 | endif | 650 | endif |
661 | 651 | ||
662 | KBUILD_AFLAGS += $(cflags-y) | 652 | KBUILD_AFLAGS += $(cflags-y) |
663 | KBUILD_CFLAGS += $(cflags-y) \ | 653 | KBUILD_CFLAGS += $(cflags-y) |
664 | -D"VMLINUX_LOAD_ADDRESS=$(load-y)" | 654 | KBUILD_CPPFLAGS += -D"VMLINUX_LOAD_ADDRESS=$(load-y)" |
655 | KBUILD_CPPFLAGS += -D"DATAOFFSET=$(if $(dataoffset-y),$(dataoffset-y),0)" | ||
665 | 656 | ||
666 | LDFLAGS += -m $(ld-emul) | 657 | LDFLAGS += -m $(ld-emul) |
667 | 658 | ||
@@ -676,18 +667,6 @@ endif | |||
676 | 667 | ||
677 | OBJCOPYFLAGS += --remove-section=.reginfo | 668 | OBJCOPYFLAGS += --remove-section=.reginfo |
678 | 669 | ||
679 | # | ||
680 | # Choosing incompatible machines durings configuration will result in | ||
681 | # error messages during linking. Select a default linkscript if | ||
682 | # none has been choosen above. | ||
683 | # | ||
684 | |||
685 | CPPFLAGS_vmlinux.lds := \ | ||
686 | $(KBUILD_CFLAGS) \ | ||
687 | -D"LOADADDR=$(load-y)" \ | ||
688 | -D"JIFFIES=$(JIFFIES)" \ | ||
689 | -D"DATAOFFSET=$(if $(dataoffset-y),$(dataoffset-y),0)" | ||
690 | |||
691 | head-y := arch/mips/kernel/head.o arch/mips/kernel/init_task.o | 670 | head-y := arch/mips/kernel/head.o arch/mips/kernel/init_task.o |
692 | 671 | ||
693 | libs-y += arch/mips/lib/ | 672 | libs-y += arch/mips/lib/ |
diff --git a/arch/mips/kernel/init_task.c b/arch/mips/kernel/init_task.c index 5b457a40c784..6d6ca5305895 100644 --- a/arch/mips/kernel/init_task.c +++ b/arch/mips/kernel/init_task.c | |||
@@ -21,9 +21,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
21 | * | 21 | * |
22 | * The things we do for performance.. | 22 | * The things we do for performance.. |
23 | */ | 23 | */ |
24 | union thread_union init_thread_union | 24 | union thread_union init_thread_union __init_task_data |
25 | __attribute__((__section__(".data.init_task"), | 25 | __attribute__((__aligned__(THREAD_SIZE))) = |
26 | __aligned__(THREAD_SIZE))) = | ||
27 | { INIT_THREAD_INFO(init_task) }; | 26 | { INIT_THREAD_INFO(init_task) }; |
28 | 27 | ||
29 | /* | 28 | /* |
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S index 2769bed3d2af..9bf0e3df7c5a 100644 --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S | |||
@@ -10,7 +10,16 @@ PHDRS { | |||
10 | text PT_LOAD FLAGS(7); /* RWX */ | 10 | text PT_LOAD FLAGS(7); /* RWX */ |
11 | note PT_NOTE FLAGS(4); /* R__ */ | 11 | note PT_NOTE FLAGS(4); /* R__ */ |
12 | } | 12 | } |
13 | jiffies = JIFFIES; | 13 | |
14 | ifdef CONFIG_32BIT | ||
15 | ifdef CONFIG_CPU_LITTLE_ENDIAN | ||
16 | jiffies = jiffies_64; | ||
17 | else | ||
18 | jiffies = jiffies_64 + 4; | ||
19 | endif | ||
20 | else | ||
21 | jiffies = jiffies_64; | ||
22 | endif | ||
14 | 23 | ||
15 | SECTIONS | 24 | SECTIONS |
16 | { | 25 | { |
@@ -29,7 +38,7 @@ SECTIONS | |||
29 | /* . = 0xa800000000300000; */ | 38 | /* . = 0xa800000000300000; */ |
30 | . = 0xffffffff80300000; | 39 | . = 0xffffffff80300000; |
31 | #endif | 40 | #endif |
32 | . = LOADADDR; | 41 | . = VMLINUX_LOAD_ADDRESS; |
33 | /* read-only */ | 42 | /* read-only */ |
34 | _text = .; /* Text and read-only data */ | 43 | _text = .; /* Text and read-only data */ |
35 | .text : { | 44 | .text : { |