diff options
author | Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com> | 2009-04-14 09:36:16 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-04-14 09:37:21 -0400 |
commit | 25097bf153391f7be4c591d47061b3dc4990dac2 (patch) | |
tree | e6fce72c43759d97eb80f0af1ae08c0e6058e6bc /arch/s390/kernel/setup.c | |
parent | b21597d0268983f8f9e8b563494f75490403e948 (diff) |
[S390] s390: move machine flags to lowcore
Currently the storage of the machine flags is a globally exported unsigned
long long variable. By moving the storage location into the lowcore struct we
allow assembler code to check machine_flags directly even without needing a
register. Addtionally the lowcore and therefore the machine flags too will be
in cache most of the time.
Signed-off-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/setup.c')
-rw-r--r-- | arch/s390/kernel/setup.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index 06201b93cbbf..163bdfe5a6be 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c | |||
@@ -82,9 +82,6 @@ EXPORT_SYMBOL(console_devno); | |||
82 | unsigned int console_irq = -1; | 82 | unsigned int console_irq = -1; |
83 | EXPORT_SYMBOL(console_irq); | 83 | EXPORT_SYMBOL(console_irq); |
84 | 84 | ||
85 | unsigned long machine_flags; | ||
86 | EXPORT_SYMBOL(machine_flags); | ||
87 | |||
88 | unsigned long elf_hwcap = 0; | 85 | unsigned long elf_hwcap = 0; |
89 | char elf_platform[ELF_PLATFORM_SIZE]; | 86 | char elf_platform[ELF_PLATFORM_SIZE]; |
90 | 87 | ||
@@ -426,6 +423,7 @@ setup_lowcore(void) | |||
426 | __alloc_bootmem(PAGE_SIZE, PAGE_SIZE, 0) + PAGE_SIZE; | 423 | __alloc_bootmem(PAGE_SIZE, PAGE_SIZE, 0) + PAGE_SIZE; |
427 | lc->current_task = (unsigned long) init_thread_union.thread_info.task; | 424 | lc->current_task = (unsigned long) init_thread_union.thread_info.task; |
428 | lc->thread_info = (unsigned long) &init_thread_union; | 425 | lc->thread_info = (unsigned long) &init_thread_union; |
426 | lc->machine_flags = S390_lowcore.machine_flags; | ||
429 | #ifndef CONFIG_64BIT | 427 | #ifndef CONFIG_64BIT |
430 | if (MACHINE_HAS_IEEE) { | 428 | if (MACHINE_HAS_IEEE) { |
431 | lc->extended_save_area_addr = (__u32) | 429 | lc->extended_save_area_addr = (__u32) |