aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/relocate_kernel.S
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2006-09-28 10:56:37 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2006-09-28 10:56:37 -0400
commit25d83cbfaa44e1b9170c0941c3ef52ca39f54ccc (patch)
tree30d9bbc0a1051b837313edfafc40ffa6c5fbfedc /arch/s390/kernel/relocate_kernel.S
parent52149ba6b0ddf3e9d965257cc0513193650b3ea8 (diff)
[S390] Whitespace cleanup.
Huge s390 assembly files whitespace cleanup. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/relocate_kernel.S')
-rw-r--r--arch/s390/kernel/relocate_kernel.S74
1 files changed, 37 insertions, 37 deletions
diff --git a/arch/s390/kernel/relocate_kernel.S b/arch/s390/kernel/relocate_kernel.S
index 2a25ec7147ff..f9899ff2e5b0 100644
--- a/arch/s390/kernel/relocate_kernel.S
+++ b/arch/s390/kernel/relocate_kernel.S
@@ -3,7 +3,7 @@
3 * 3 *
4 * (C) Copyright IBM Corp. 2005 4 * (C) Copyright IBM Corp. 2005
5 * 5 *
6 * Author(s): Rolf Adelsberger <adelsberger@de.ibm.com> 6 * Author(s): Rolf Adelsberger,
7 * Heiko Carstens <heiko.carstens@de.ibm.com> 7 * Heiko Carstens <heiko.carstens@de.ibm.com>
8 * 8 *
9 */ 9 */
@@ -24,14 +24,14 @@
24 .text 24 .text
25 .globl relocate_kernel 25 .globl relocate_kernel
26 relocate_kernel: 26 relocate_kernel:
27 basr %r13,0 #base address 27 basr %r13,0 # base address
28 .base: 28 .base:
29 stnsm sys_msk-.base(%r13),0xf8 #disable DAT and IRQ (external) 29 stnsm sys_msk-.base(%r13),0xf8 # disable DAT and IRQ (external)
30 spx zero64-.base(%r13) #absolute addressing mode 30 spx zero64-.base(%r13) # absolute addressing mode
31 stctl %c0,%c15,ctlregs-.base(%r13) 31 stctl %c0,%c15,ctlregs-.base(%r13)
32 stm %r0,%r15,gprregs-.base(%r13) 32 stm %r0,%r15,gprregs-.base(%r13)
33 la %r1,load_psw-.base(%r13) 33 la %r1,load_psw-.base(%r13)
34 mvc 0(8,%r0),0(%r1) 34 mvc 0(8,%r0),0(%r1)
35 la %r0,.back-.base(%r13) 35 la %r0,.back-.base(%r13)
36 st %r0,4(%r0) 36 st %r0,4(%r0)
37 oi 4(%r0),0x80 37 oi 4(%r0),0x80
@@ -51,50 +51,50 @@
51 .back_pgm: 51 .back_pgm:
52 lm %r0,%r15,gprregs-.base(%r13) 52 lm %r0,%r15,gprregs-.base(%r13)
53 .start_reloc: 53 .start_reloc:
54 lhi %r10,-1 #preparing the mask 54 lhi %r10,-1 # preparing the mask
55 sll %r10,12 #shift it such that it becomes 0xf000 55 sll %r10,12 # shift it such that it becomes 0xf000
56 .top: 56 .top:
57 lhi %r7,4096 #load PAGE_SIZE in r7 57 lhi %r7,4096 # load PAGE_SIZE in r7
58 lhi %r9,4096 #load PAGE_SIZE in r9 58 lhi %r9,4096 # load PAGE_SIZE in r9
59 l %r5,0(%r2) #read another word for indirection page 59 l %r5,0(%r2) # read another word for indirection page
60 ahi %r2,4 #increment pointer 60 ahi %r2,4 # increment pointer
61 tml %r5,0x1 #is it a destination page? 61 tml %r5,0x1 # is it a destination page?
62 je .indir_check #NO, goto "indir_check" 62 je .indir_check # NO, goto "indir_check"
63 lr %r6,%r5 #r6 = r5 63 lr %r6,%r5 # r6 = r5
64 nr %r6,%r10 #mask it out and... 64 nr %r6,%r10 # mask it out and...
65 j .top #...next iteration 65 j .top # ...next iteration
66 .indir_check: 66 .indir_check:
67 tml %r5,0x2 #is it a indirection page? 67 tml %r5,0x2 # is it a indirection page?
68 je .done_test #NO, goto "done_test" 68 je .done_test # NO, goto "done_test"
69 nr %r5,%r10 #YES, mask out, 69 nr %r5,%r10 # YES, mask out,
70 lr %r2,%r5 #move it into the right register, 70 lr %r2,%r5 # move it into the right register,
71 j .top #and read next... 71 j .top # and read next...
72 .done_test: 72 .done_test:
73 tml %r5,0x4 #is it the done indicator? 73 tml %r5,0x4 # is it the done indicator?
74 je .source_test #NO! Well, then it should be the source indicator... 74 je .source_test # NO! Well, then it should be the source indicator...
75 j .done #ok, lets finish it here... 75 j .done # ok, lets finish it here...
76 .source_test: 76 .source_test:
77 tml %r5,0x8 #it should be a source indicator... 77 tml %r5,0x8 # it should be a source indicator...
78 je .top #NO, ignore it... 78 je .top # NO, ignore it...
79 lr %r8,%r5 #r8 = r5 79 lr %r8,%r5 # r8 = r5
80 nr %r8,%r10 #masking 80 nr %r8,%r10 # masking
81 0: mvcle %r6,%r8,0x0 #copy PAGE_SIZE bytes from r8 to r6 - pad with 0 81 0: mvcle %r6,%r8,0x0 # copy PAGE_SIZE bytes from r8 to r6 - pad with 0
82 jo 0b 82 jo 0b
83 j .top 83 j .top
84 .done: 84 .done:
85 sr %r0,%r0 #clear register r0 85 sr %r0,%r0 # clear register r0
86 la %r4,load_psw-.base(%r13) #load psw-address into the register 86 la %r4,load_psw-.base(%r13) # load psw-address into the register
87 o %r3,4(%r4) #or load address into psw 87 o %r3,4(%r4) # or load address into psw
88 st %r3,4(%r4) 88 st %r3,4(%r4)
89 mvc 0(8,%r0),0(%r4) #copy psw to absolute address 0 89 mvc 0(8,%r0),0(%r4) # copy psw to absolute address 0
90 tm have_diag308-.base(%r13),0x01 90 tm have_diag308-.base(%r13),0x01
91 jno .no_diag308 91 jno .no_diag308
92 diag %r0,%r0,0x308 92 diag %r0,%r0,0x308
93 .no_diag308: 93 .no_diag308:
94 sr %r1,%r1 #clear %r1 94 sr %r1,%r1 # clear %r1
95 sr %r2,%r2 #clear %r2 95 sr %r2,%r2 # clear %r2
96 sigp %r1,%r2,0x12 #set cpuid to zero 96 sigp %r1,%r2,0x12 # set cpuid to zero
97 lpsw 0 #hopefully start new kernel... 97 lpsw 0 # hopefully start new kernel...
98 98
99 .align 8 99 .align 8
100 zero64: 100 zero64: