aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/kernel/setup.c')
-rw-r--r--arch/s390/kernel/setup.c10
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