aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/head.S
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2009-04-14 09:36:29 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2009-04-14 09:37:27 -0400
commitab96e798cbd562a53edd802272e49a5100b29efb (patch)
tree4b3558bc97f5c2fc5c63789431deef79534e3bd3 /arch/s390/kernel/head.S
parentb6112ccbff5ec580d46b584ecc3c3a773b830da2 (diff)
[S390] boot cputime accounting
Start the cpu time accounting very early to catch the cpu time spent for the initial kernel setup. To make the output of /proc/uptime match the sum of all cpu accounting values of the boot cpu reset xtime and wall_to_monotonic to sane values based on the TOD clock. The values set by timekeeping_init are off by up to a second. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/head.S')
-rw-r--r--arch/s390/kernel/head.S8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/s390/kernel/head.S b/arch/s390/kernel/head.S
index 16f8975325ed..bba14494ee00 100644
--- a/arch/s390/kernel/head.S
+++ b/arch/s390/kernel/head.S
@@ -473,7 +473,10 @@ startup:basr %r13,0 # get base
473 xc 0x300(256),0x300 473 xc 0x300(256),0x300
474 l %r1,5f-.LPG0(%r13) 474 l %r1,5f-.LPG0(%r13)
475 stck 0(%r1) 475 stck 0(%r1)
476 476 spt 6f-.LPG0(%r13)
477 mvc __LC_LAST_UPDATE_CLOCK(8),0(%r1)
478 mvc __LC_LAST_UPDATE_TIMER(8),6f-.LPG0(%r13)
479 mvc __LC_EXIT_TIMER(8),5f-.LPG0(%r13)
477#ifndef CONFIG_MARCH_G5 480#ifndef CONFIG_MARCH_G5
478 # check processor version against MARCH_{G5,Z900,Z990,Z9_109,Z10} 481 # check processor version against MARCH_{G5,Z900,Z990,Z9_109,Z10}
479 stidp __LC_CPUID # store cpuid 482 stidp __LC_CPUID # store cpuid
@@ -500,8 +503,11 @@ startup:basr %r13,0 # get base
500 503
501 l %r13,4f-.LPG0(%r13) 504 l %r13,4f-.LPG0(%r13)
502 b 0(%r13) 505 b 0(%r13)
506 .align 4
5034: .long startup_continue 5074: .long startup_continue
5045: .long sched_clock_base_cc 5085: .long sched_clock_base_cc
509 .align 8
5106: .long 0x7fffffff,0xffffffff
505 511
506# 512#
507# params at 10400 (setup.h) 513# params at 10400 (setup.h)