aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2009-03-26 10:24:43 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2009-03-26 10:24:27 -0400
commitda292bbe1f620221b08c4b589424f370168d642b (patch)
treefa57cd1410b357028559f219305676d5bf2762e8 /arch
parent7b4684880dfc6c45bc56039ca5eada771d7643ab (diff)
[S390] eliminate ipl_device from lowcore
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/s390/include/asm/lowcore.h8
-rw-r--r--arch/s390/kernel/head31.S1
-rw-r--r--arch/s390/kernel/head64.S1
-rw-r--r--arch/s390/kernel/setup.c1
-rw-r--r--arch/s390/kernel/smp.c1
5 files changed, 2 insertions, 10 deletions
diff --git a/arch/s390/include/asm/lowcore.h b/arch/s390/include/asm/lowcore.h
index ad543c11826d..5b18035c1dc7 100644
--- a/arch/s390/include/asm/lowcore.h
+++ b/arch/s390/include/asm/lowcore.h
@@ -80,7 +80,6 @@
80#define __LC_USER_ASCE 0xC50 80#define __LC_USER_ASCE 0xC50
81#define __LC_PANIC_STACK 0xC54 81#define __LC_PANIC_STACK 0xC54
82#define __LC_CPUID 0xC60 82#define __LC_CPUID 0xC60
83#define __LC_IPLDEV 0xC7C
84#define __LC_CURRENT 0xC90 83#define __LC_CURRENT 0xC90
85#define __LC_INT_CLOCK 0xC98 84#define __LC_INT_CLOCK 0xC98
86#else /* __s390x__ */ 85#else /* __s390x__ */
@@ -101,7 +100,6 @@
101#define __LC_USER_ASCE 0xD60 100#define __LC_USER_ASCE 0xD60
102#define __LC_PANIC_STACK 0xD68 101#define __LC_PANIC_STACK 0xD68
103#define __LC_CPUID 0xD80 102#define __LC_CPUID 0xD80
104#define __LC_IPLDEV 0xDB8
105#define __LC_CURRENT 0xDD8 103#define __LC_CURRENT 0xDD8
106#define __LC_INT_CLOCK 0xDE8 104#define __LC_INT_CLOCK 0xDE8
107#define __LC_VDSO_PER_CPU 0xE38 105#define __LC_VDSO_PER_CPU 0xE38
@@ -273,8 +271,7 @@ struct _lowcore
273 /* entry.S sensitive area start */ 271 /* entry.S sensitive area start */
274 cpuid_t cpu_id; /* 0xc60 */ 272 cpuid_t cpu_id; /* 0xc60 */
275 __u32 cpu_nr; /* 0xc68 */ 273 __u32 cpu_nr; /* 0xc68 */
276 __u32 ipl_device; /* 0xc6c */ 274 __u8 pad_0xc6c[0xc80-0xc6c]; /* 0xc6c */
277 __u8 pad_0xc70[0xc80-0xc70]; /* 0xc70 */
278 /* entry.S sensitive area end */ 275 /* entry.S sensitive area end */
279 276
280 /* SMP info area: defined by DJB */ 277 /* SMP info area: defined by DJB */
@@ -368,8 +365,7 @@ struct _lowcore
368 /* entry.S sensitive area start */ 365 /* entry.S sensitive area start */
369 cpuid_t cpu_id; /* 0xd80 */ 366 cpuid_t cpu_id; /* 0xd80 */
370 __u32 cpu_nr; /* 0xd88 */ 367 __u32 cpu_nr; /* 0xd88 */
371 __u32 ipl_device; /* 0xd8c */ 368 __u8 pad_0xd8c[0xdc0-0xd8c]; /* 0xd8c */
372 __u8 pad_0xd90[0xdc0-0xd90]; /* 0xd90 */
373 /* entry.S sensitive area end */ 369 /* entry.S sensitive area end */
374 370
375 /* SMP info area: defined by DJB */ 371 /* SMP info area: defined by DJB */
diff --git a/arch/s390/kernel/head31.S b/arch/s390/kernel/head31.S
index db476d114caa..2ced846065b7 100644
--- a/arch/s390/kernel/head31.S
+++ b/arch/s390/kernel/head31.S
@@ -20,7 +20,6 @@ startup_continue:
20 lctl %c0,%c15,.Lctl-.LPG1(%r13) # load control registers 20 lctl %c0,%c15,.Lctl-.LPG1(%r13) # load control registers
21 l %r12,.Lparmaddr-.LPG1(%r13) # pointer to parameter area 21 l %r12,.Lparmaddr-.LPG1(%r13) # pointer to parameter area
22 # move IPL device to lowcore 22 # move IPL device to lowcore
23 mvc __LC_IPLDEV(4),IPL_DEVICE-PARMAREA(%r12)
24# 23#
25# Setup stack 24# Setup stack
26# 25#
diff --git a/arch/s390/kernel/head64.S b/arch/s390/kernel/head64.S
index f9f70aa15244..65667b2e65ce 100644
--- a/arch/s390/kernel/head64.S
+++ b/arch/s390/kernel/head64.S
@@ -86,7 +86,6 @@ startup_continue:
86 lctlg %c0,%c15,.Lctl-.LPG1(%r13) # load control registers 86 lctlg %c0,%c15,.Lctl-.LPG1(%r13) # load control registers
87 lg %r12,.Lparmaddr-.LPG1(%r13) # pointer to parameter area 87 lg %r12,.Lparmaddr-.LPG1(%r13) # pointer to parameter area
88 # move IPL device to lowcore 88 # move IPL device to lowcore
89 mvc __LC_IPLDEV(4),IPL_DEVICE+4-PARMAREA(%r12)
90 lghi %r0,__LC_PASTE 89 lghi %r0,__LC_PASTE
91 stg %r0,__LC_VDSO_PER_CPU 90 stg %r0,__LC_VDSO_PER_CPU
92# 91#
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
index 9c8853f21bb2..91551ef1d67e 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -419,7 +419,6 @@ setup_lowcore(void)
419 PSW_ADDR_AMODE | (unsigned long) mcck_int_handler; 419 PSW_ADDR_AMODE | (unsigned long) mcck_int_handler;
420 lc->io_new_psw.mask = psw_kernel_bits; 420 lc->io_new_psw.mask = psw_kernel_bits;
421 lc->io_new_psw.addr = PSW_ADDR_AMODE | (unsigned long) io_int_handler; 421 lc->io_new_psw.addr = PSW_ADDR_AMODE | (unsigned long) io_int_handler;
422 lc->ipl_device = S390_lowcore.ipl_device;
423 lc->clock_comparator = -1ULL; 422 lc->clock_comparator = -1ULL;
424 lc->kernel_stack = ((unsigned long) &init_thread_union) + THREAD_SIZE; 423 lc->kernel_stack = ((unsigned long) &init_thread_union) + THREAD_SIZE;
425 lc->async_stack = (unsigned long) 424 lc->async_stack = (unsigned long)
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
index b167f74d94cd..775885772ff1 100644
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@ -566,7 +566,6 @@ int __cpuinit __cpu_up(unsigned int cpu)
566 cpu_lowcore->current_task = (unsigned long) idle; 566 cpu_lowcore->current_task = (unsigned long) idle;
567 cpu_lowcore->cpu_nr = cpu; 567 cpu_lowcore->cpu_nr = cpu;
568 cpu_lowcore->kernel_asce = S390_lowcore.kernel_asce; 568 cpu_lowcore->kernel_asce = S390_lowcore.kernel_asce;
569 cpu_lowcore->ipl_device = S390_lowcore.ipl_device;
570 eieio(); 569 eieio();
571 570
572 while (signal_processor(cpu, sigp_restart) == sigp_busy) 571 while (signal_processor(cpu, sigp_restart) == sigp_busy)