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/early.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/early.c')
-rw-r--r-- | arch/s390/kernel/early.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c index 4d221c81c849..d4e1e5b6cfda 100644 --- a/arch/s390/kernel/early.c +++ b/arch/s390/kernel/early.c | |||
@@ -34,6 +34,8 @@ | |||
34 | 34 | ||
35 | char kernel_nss_name[NSS_NAME_SIZE + 1]; | 35 | char kernel_nss_name[NSS_NAME_SIZE + 1]; |
36 | 36 | ||
37 | static unsigned long machine_flags; | ||
38 | |||
37 | static void __init setup_boot_command_line(void); | 39 | static void __init setup_boot_command_line(void); |
38 | 40 | ||
39 | 41 | ||
@@ -391,5 +393,6 @@ void __init startup_init(void) | |||
391 | setup_hpage(); | 393 | setup_hpage(); |
392 | sclp_facilities_detect(); | 394 | sclp_facilities_detect(); |
393 | detect_memory_layout(memory_chunk); | 395 | detect_memory_layout(memory_chunk); |
396 | S390_lowcore.machine_flags = machine_flags; | ||
394 | lockdep_on(); | 397 | lockdep_on(); |
395 | } | 398 | } |