diff options
Diffstat (limited to 'arch/s390/kernel/setup.c')
-rw-r--r-- | arch/s390/kernel/setup.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index 50c5210fbc64..863c8d08c026 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c | |||
@@ -41,6 +41,7 @@ | |||
41 | #include <linux/ctype.h> | 41 | #include <linux/ctype.h> |
42 | #include <linux/reboot.h> | 42 | #include <linux/reboot.h> |
43 | 43 | ||
44 | #include <asm/ipl.h> | ||
44 | #include <asm/uaccess.h> | 45 | #include <asm/uaccess.h> |
45 | #include <asm/system.h> | 46 | #include <asm/system.h> |
46 | #include <asm/smp.h> | 47 | #include <asm/smp.h> |
@@ -106,7 +107,7 @@ void __devinit cpu_init (void) | |||
106 | /* | 107 | /* |
107 | * Store processor id in lowcore (used e.g. in timer_interrupt) | 108 | * Store processor id in lowcore (used e.g. in timer_interrupt) |
108 | */ | 109 | */ |
109 | asm volatile("stidp %0": "=m" (S390_lowcore.cpu_data.cpu_id)); | 110 | get_cpu_id(&S390_lowcore.cpu_data.cpu_id); |
110 | S390_lowcore.cpu_data.cpu_addr = addr; | 111 | S390_lowcore.cpu_data.cpu_addr = addr; |
111 | 112 | ||
112 | /* | 113 | /* |
@@ -689,9 +690,14 @@ setup_memory(void) | |||
689 | psw_set_key(PAGE_DEFAULT_KEY); | 690 | psw_set_key(PAGE_DEFAULT_KEY); |
690 | 691 | ||
691 | free_bootmem_with_active_regions(0, max_pfn); | 692 | free_bootmem_with_active_regions(0, max_pfn); |
692 | reserve_bootmem(0, PFN_PHYS(start_pfn)); | ||
693 | 693 | ||
694 | /* | 694 | /* |
695 | * Reserve memory used for lowcore/command line/kernel image. | ||
696 | */ | ||
697 | reserve_bootmem(0, (unsigned long)_ehead); | ||
698 | reserve_bootmem((unsigned long)_stext, | ||
699 | PFN_PHYS(start_pfn) - (unsigned long)_stext); | ||
700 | /* | ||
695 | * Reserve the bootmem bitmap itself as well. We do this in two | 701 | * Reserve the bootmem bitmap itself as well. We do this in two |
696 | * steps (first step was init_bootmem()) because this catches | 702 | * steps (first step was init_bootmem()) because this catches |
697 | * the (very unlikely) case of us accidentally initializing the | 703 | * the (very unlikely) case of us accidentally initializing the |