aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2013-02-26 09:41:41 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2013-03-01 16:09:59 -0500
commitded3ef0fa71696d3cf631fa4b8ac65313f370b4c (patch)
tree9e868d4b7f27c0701a683bfbad08e779233e895f /arch
parentb255188f90e2bade1bd11a986dd1ca4861869f4d (diff)
ARM: Fix broken commit 0cc41e4a21d43 corrupting kernel messages
Commit 0cc41e4a21d43 (arch: remove direct definitions of KERN_<LEVEL> uses) is broken - not enough thought was put into changing: .asciz "string" to .asciz "string1" "string2" The problem is that each string gets _separately_ NUL terminated, so the result is a string containing: "string1\0string2\0" rather than: "string1string2\0" With our new printk levels, this ends up as - eg, KERN_DEBUG "string": 0x01 0x00 0x07 0x00 "string" 0x00 which produces lots of \x01 in the kernel log. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/vfp/vfphw.S36
1 files changed, 21 insertions, 15 deletions
diff --git a/arch/arm/vfp/vfphw.S b/arch/arm/vfp/vfphw.S
index dd5e56f95f3f..8d10dc8a1e17 100644
--- a/arch/arm/vfp/vfphw.S
+++ b/arch/arm/vfp/vfphw.S
@@ -22,12 +22,14 @@
22 .macro DBGSTR, str 22 .macro DBGSTR, str
23#ifdef DEBUG 23#ifdef DEBUG
24 stmfd sp!, {r0-r3, ip, lr} 24 stmfd sp!, {r0-r3, ip, lr}
25 add r0, pc, #4 25 ldr r0, =1f
26 bl printk 26 bl printk
27 b 1f 27 ldmfd sp!, {r0-r3, ip, lr}
28 .asciz KERN_DEBUG "VFP: \str\n" 28
29 .balign 4 29 .pushsection .rodata, "a"
301: ldmfd sp!, {r0-r3, ip, lr} 301: .ascii KERN_DEBUG "VFP: \str\n"
31 .byte 0
32 .previous
31#endif 33#endif
32 .endm 34 .endm
33 35
@@ -35,12 +37,14 @@
35#ifdef DEBUG 37#ifdef DEBUG
36 stmfd sp!, {r0-r3, ip, lr} 38 stmfd sp!, {r0-r3, ip, lr}
37 mov r1, \arg 39 mov r1, \arg
38 add r0, pc, #4 40 ldr r0, =1f
39 bl printk 41 bl printk
40 b 1f 42 ldmfd sp!, {r0-r3, ip, lr}
41 .asciz KERN_DEBUG "VFP: \str\n" 43
42 .balign 4 44 .pushsection .rodata, "a"
431: ldmfd sp!, {r0-r3, ip, lr} 451: .ascii KERN_DEBUG "VFP: \str\n"
46 .byte 0
47 .previous
44#endif 48#endif
45 .endm 49 .endm
46 50
@@ -50,12 +54,14 @@
50 mov r3, \arg3 54 mov r3, \arg3
51 mov r2, \arg2 55 mov r2, \arg2
52 mov r1, \arg1 56 mov r1, \arg1
53 add r0, pc, #4 57 ldr r0, =1f
54 bl printk 58 bl printk
55 b 1f 59 ldmfd sp!, {r0-r3, ip, lr}
56 .asciz KERN_DEBUG "VFP: \str\n" 60
57 .balign 4 61 .pushsection .rodata, "a"
581: ldmfd sp!, {r0-r3, ip, lr} 621: .ascii KERN_DEBUG "VFP: \str\n"
63 .byte 0
64 .previous
59#endif 65#endif
60 .endm 66 .endm
61 67