diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2009-12-03 07:49:39 -0500 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2009-12-03 07:49:39 -0500 |
commit | 220d0b1dbf78c6417a658c96e571415552d3abac (patch) | |
tree | 70cd3862540c38ea490e7a27c3c7acc35b680234 /arch/s390 | |
parent | 474b18ccc264c472abeec50f48469b6477202699 (diff) | |
parent | 22763c5cf3690a681551162c15d34d935308c8d7 (diff) |
Merge branch 'master' into for-2.6.33
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/kernel/early.c | 9 | ||||
-rw-r--r-- | arch/s390/kernel/entry.S | 8 | ||||
-rw-r--r-- | arch/s390/kernel/entry64.S | 8 |
3 files changed, 17 insertions, 8 deletions
diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c index bf8b4ae7ff2d..e49e9e0c69fd 100644 --- a/arch/s390/kernel/early.c +++ b/arch/s390/kernel/early.c | |||
@@ -55,6 +55,7 @@ static void __init reset_tod_clock(void) | |||
55 | disabled_wait(0); | 55 | disabled_wait(0); |
56 | 56 | ||
57 | sched_clock_base_cc = TOD_UNIX_EPOCH; | 57 | sched_clock_base_cc = TOD_UNIX_EPOCH; |
58 | S390_lowcore.last_update_clock = sched_clock_base_cc; | ||
58 | } | 59 | } |
59 | 60 | ||
60 | #ifdef CONFIG_SHARED_KERNEL | 61 | #ifdef CONFIG_SHARED_KERNEL |
@@ -167,6 +168,14 @@ static noinline __init void create_kernel_nss(void) | |||
167 | return; | 168 | return; |
168 | } | 169 | } |
169 | 170 | ||
171 | /* re-initialize cputime accounting. */ | ||
172 | sched_clock_base_cc = get_clock(); | ||
173 | S390_lowcore.last_update_clock = sched_clock_base_cc; | ||
174 | S390_lowcore.last_update_timer = 0x7fffffffffffffffULL; | ||
175 | S390_lowcore.user_timer = 0; | ||
176 | S390_lowcore.system_timer = 0; | ||
177 | asm volatile("SPT 0(%0)" : : "a" (&S390_lowcore.last_update_timer)); | ||
178 | |||
170 | /* re-setup boot command line with new ipl vm parms */ | 179 | /* re-setup boot command line with new ipl vm parms */ |
171 | ipl_update_parameters(); | 180 | ipl_update_parameters(); |
172 | setup_boot_command_line(); | 181 | setup_boot_command_line(); |
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S index f43d2ee54464..48215d15762b 100644 --- a/arch/s390/kernel/entry.S +++ b/arch/s390/kernel/entry.S | |||
@@ -565,10 +565,10 @@ pgm_svcper: | |||
565 | lh %r7,0x8a # get svc number from lowcore | 565 | lh %r7,0x8a # get svc number from lowcore |
566 | l %r9,__LC_THREAD_INFO # load pointer to thread_info struct | 566 | l %r9,__LC_THREAD_INFO # load pointer to thread_info struct |
567 | TRACE_IRQS_OFF | 567 | TRACE_IRQS_OFF |
568 | l %r1,__TI_task(%r9) | 568 | l %r8,__TI_task(%r9) |
569 | mvc __THREAD_per+__PER_atmid(2,%r1),__LC_PER_ATMID | 569 | mvc __THREAD_per+__PER_atmid(2,%r8),__LC_PER_ATMID |
570 | mvc __THREAD_per+__PER_address(4,%r1),__LC_PER_ADDRESS | 570 | mvc __THREAD_per+__PER_address(4,%r8),__LC_PER_ADDRESS |
571 | mvc __THREAD_per+__PER_access_id(1,%r1),__LC_PER_ACCESS_ID | 571 | mvc __THREAD_per+__PER_access_id(1,%r8),__LC_PER_ACCESS_ID |
572 | oi __TI_flags+3(%r9),_TIF_SINGLE_STEP # set TIF_SINGLE_STEP | 572 | oi __TI_flags+3(%r9),_TIF_SINGLE_STEP # set TIF_SINGLE_STEP |
573 | TRACE_IRQS_ON | 573 | TRACE_IRQS_ON |
574 | stosm __SF_EMPTY(%r15),0x03 # reenable interrupts | 574 | stosm __SF_EMPTY(%r15),0x03 # reenable interrupts |
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S index a6f7b20df616..9aff1d449b6e 100644 --- a/arch/s390/kernel/entry64.S +++ b/arch/s390/kernel/entry64.S | |||
@@ -543,10 +543,10 @@ pgm_svcper: | |||
543 | mvc __LC_LAST_UPDATE_TIMER(8),__LC_SYNC_ENTER_TIMER | 543 | mvc __LC_LAST_UPDATE_TIMER(8),__LC_SYNC_ENTER_TIMER |
544 | llgh %r7,__LC_SVC_INT_CODE # get svc number from lowcore | 544 | llgh %r7,__LC_SVC_INT_CODE # get svc number from lowcore |
545 | lg %r9,__LC_THREAD_INFO # load pointer to thread_info struct | 545 | lg %r9,__LC_THREAD_INFO # load pointer to thread_info struct |
546 | lg %r1,__TI_task(%r9) | 546 | lg %r8,__TI_task(%r9) |
547 | mvc __THREAD_per+__PER_atmid(2,%r1),__LC_PER_ATMID | 547 | mvc __THREAD_per+__PER_atmid(2,%r8),__LC_PER_ATMID |
548 | mvc __THREAD_per+__PER_address(8,%r1),__LC_PER_ADDRESS | 548 | mvc __THREAD_per+__PER_address(8,%r8),__LC_PER_ADDRESS |
549 | mvc __THREAD_per+__PER_access_id(1,%r1),__LC_PER_ACCESS_ID | 549 | mvc __THREAD_per+__PER_access_id(1,%r8),__LC_PER_ACCESS_ID |
550 | oi __TI_flags+7(%r9),_TIF_SINGLE_STEP # set TIF_SINGLE_STEP | 550 | oi __TI_flags+7(%r9),_TIF_SINGLE_STEP # set TIF_SINGLE_STEP |
551 | TRACE_IRQS_ON | 551 | TRACE_IRQS_ON |
552 | stosm __SF_EMPTY(%r15),0x03 # reenable interrupts | 552 | stosm __SF_EMPTY(%r15),0x03 # reenable interrupts |