ARM: compile fix for DEBUG_LL=y && MMU=n
RFC PATCH 1/1 ARM: compile fix for DEBUG_LL=y && MMU=n
debug_ll_addr is only used on machines with an MMU so it can be #ifdef'ed out safely. This fixes:
arch/arm/kernel/debug.S: Assembler messages:arch/arm/kernel/debug.S:104: Error: too many positional arguments
---
The obvious alternative fix is to make addruart on !MMU take 3 arguments, too.
The problem was introduced in
e5c5f2a (ARM: implement debug_ll_io_init())
which appeared in v3.8-rc1.
--- arch/arm/kernel/debug.S | 2 ++ 1 file changed, 2 insertions(+)
arch/arm/kernel/debug.S +2 -0
@@ -100,12 +100,14 @@ ENTRY(printch) b 1b ENDPROC(printch) +#ifdef CONFIG_MMU ENTRY(debug_ll_addr) addruart r2, r3, ip str r2, [r0] str r3, [r1] mov pc, lr ENDPROC(debug_ll_addr) +#endif #else
Signature · 1 line
1.7.10.4
RFC PATCH 1/1 ARM: compile fix for DEBUG_LL=y && MMU=n
Quoted 10 lines · Uwe Kleine-K?nig
debug_ll_addris only used on machines with an MMU so it can be #ifdef'ed out safely. This fixes:
arch/arm/kernel/debug.S: Assembler messages:arch/arm/kernel/debug.S:104: Error: too many positional argumentsSigned-off-by Uwe Kleine-K?nig <[email protected]>Cc Rob Herring <[email protected]>Cc Stephen Warren <[email protected]>Cc Olof Johansson <[email protected]>
Quoted 7 lines
---
The obvious alternative fix is to make addruart on !MMU take 3 arguments, too.The problem was introduced in
e5c5f2a (ARM: implement debug_ll_io_init())
It may be useful to mention that in the commit message.
Sorry for the breakage. Are there any ARM defconfigs for !MMU?
(although should the second copy of debug_ll_addr at the end of the file be ifdef'd away too; the one for CONFIG_DEBUG_SEMIHOSTING)?
RFC PATCH 1/1 ARM: compile fix for DEBUG_LL=y && MMU=n
Quoted 15 lines · Stephen Warren
Quoted 14 lines · Uwe Kleine-K?nig
debug_ll_addris only used on machines with an MMU so it can be #ifdef'ed out safely. This fixes:
arch/arm/kernel/debug.S: Assembler messages:arch/arm/kernel/debug.S:104: Error: too many positional argumentsSigned-off-by Uwe Kleine-K?nig <[email protected]>Cc Rob Herring <[email protected]>Cc Stephen Warren <[email protected]>Cc Olof Johansson <[email protected]>---
The obvious alternative fix is to make addruart on !MMU take 3 arguments, too.
Quoted 5 lines
Quoted 3 lines
The problem was introduced in
e5c5f2a (ARM: implement debug_ll_io_init())It may be useful to mention that in the commit message.
right.
Quoted 1 line
Sorry for the breakage. Are there any ARM defconfigs for !MMU?
I'm not aware of anything in mainline.
Quoted 1 line
Reviewed-by Stephen Warren <[email protected]>
thanks
Quoted 2 lines
(although should the second copy of
debug_ll_addrat the end of the file be ifdef'd away too; the one forCONFIG_DEBUG_SEMIHOSTING)?
In contrast to the !CONFIG_DEBUG_SEMIHOSTING implementation this one doesn't call addruart and should compile just fine. I don't care much.
Best regards
Uwe
Signature · 2 lines
Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |
RFC PATCH 1/1 ARM: compile fix for DEBUG_LL=y && MMU=n
In reply to Uwe Kleine-KönigQuoted 6 lines · Uwe Kleine-K?nig
debug_ll_addris only used on machines with an MMU so it can be #ifdef'ed out safely. This fixes:
arch/arm/kernel/debug.S: Assembler messages:arch/arm/kernel/debug.S:104: Error: too many positional arguments
Quoted 7 lines
Signed-off-by Uwe Kleine-K?nig <[email protected]>Cc Rob Herring <[email protected]>Cc Stephen Warren <[email protected]>Cc Olof Johansson <[email protected]>---
The obvious alternative fix is to make addruart on !MMU take 3 arguments, too.
We never envision a need to get the uart address from C code on !MMU?
Either way:
Quoted 30 lines
The problem was introduced in
e5c5f2a (ARM: implement debug_ll_io_init())which appeared in v3.8-rc1.
--- arch/arm/kernel/debug.S | 2 ++ 1 file changed, 2 insertions(+)arch/arm/kernel/debug.S +2
-0@@ -100,12 +100,14 @@ ENTRY(printch) b 1b ENDPROC(printch) +#ifdef CONFIG_MMU ENTRY(debug_ll_addr) addruart r2, r3, ip str r2, [r0] str r3, [r1] mov pc, lr ENDPROC(debug_ll_addr) +#endif #else
RFC PATCH 1/1 ARM: compile fix for DEBUG_LL=y && MMU=n
Quoted 15 lines · Rob Herring
Quoted 6 lines · Uwe Kleine-K?nig
debug_ll_addris only used on machines with an MMU so it can be #ifdef'ed out safely. This fixes:
arch/arm/kernel/debug.S: Assembler messages:arch/arm/kernel/debug.S:104: Error: too many positional argumentsQuoted 7 lines
Signed-off-by Uwe Kleine-K?nig <[email protected]>Cc Rob Herring <[email protected]>Cc Stephen Warren <[email protected]>Cc Olof Johansson <[email protected]>---
The obvious alternative fix is to make addruart on !MMU take 3 arguments, too.
Quoted 1 line
We never envision a need to get the uart address from C code on !MMU?
On MMU addruart takes 3 arguments: physical address output, virtual address output and a tmp. On !MMU physical == virtual, so only one register for the address is needed.
(BTW, it was commit 639da5e (ARM: add an extra temp register to the low level debugging addruart macro) that only changed the MMU variants of addruart.)
Best regards
Uwe
Signature · 2 lines
Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |
RFC PATCH 1/1 ARM: compile fix for DEBUG_LL=y && MMU=n
In reply to Uwe Kleine-KönigQuoted 14 lines · Uwe Kleine-K?nig
debug_ll_addris only used on machines with an MMU so it can be #ifdef'ed out safely. This fixes:
arch/arm/kernel/debug.S: Assembler messages:arch/arm/kernel/debug.S:104: Error: too many positional argumentsSigned-off-by Uwe Kleine-K?nig <[email protected]>Cc Rob Herring <[email protected]>Cc Stephen Warren <[email protected]>Cc Olof Johansson <[email protected]>---
The obvious alternative fix is to make addruart on !MMU take 3 arguments, too.
Quoted 5 lines
The problem was introduced in
e5c5f2a (ARM: implement debug_ll_io_init())which appeared in v3.8-rc1.
Since we introduced the breakage in arm-soc, I've picked up the fix (I guess it could have gone through Russell's tree as well though).
I've added the reference to the introducing commit, and the acks/review tags.
Adding a defconfig for a !MMU platform seems like a good idea, since there's several of us who make sure that there is build coverage of the defconfigs and follow up on most of the breakage. Feel free to send one in for 3.9.
-Olof
RFC PATCH 1/1 ARM: compile fix for DEBUG_LL=y && MMU=n
Quoted 21 lines · Olof Johansson
Quoted 14 lines · Uwe Kleine-K?nig
debug_ll_addris only used on machines with an MMU so it can be #ifdef'ed out safely. This fixes:
arch/arm/kernel/debug.S: Assembler messages:arch/arm/kernel/debug.S:104: Error: too many positional argumentsSigned-off-by Uwe Kleine-K?nig <[email protected]>Cc Rob Herring <[email protected]>Cc Stephen Warren <[email protected]>Cc Olof Johansson <[email protected]>---
The obvious alternative fix is to make addruart on !MMU take 3 arguments, too.Quoted 5 lines
The problem was introduced in
e5c5f2a (ARM: implement debug_ll_io_init())which appeared in v3.8-rc1.
Quoted 8 lines
Since we introduced the breakage in arm-soc, I've picked up the fix (I guess it could have gone through Russell's tree as well though).
I've added the reference to the introducing commit, and the acks/review tags.
Adding a defconfig for a !MMU platform seems like a good idea, since there's several of us who make sure that there is build coverage of the defconfigs and follow up on most of the breakage. Feel free to send one in for 3.9.
Jonny just pointed out in irc that there is at91x40_defconfig.
Best regards
Uwe
Signature · 2 lines
Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |
RFC PATCH 1/1 ARM: compile fix for DEBUG_LL=y && MMU=n
Quoted 4 lines · Uwe Kleine-K?nig
Quoted 3 lines · Olof Johansson
Quoted 2 lines · Uwe Kleine-K?nig
debug_ll_addris only used on machines with an MMU so it can be #ifdef'ed out safely. This fixes:
...
Quoted 5 lines
Quoted 3 lines
Adding a defconfig for a !MMU platform seems like a good idea, since there's several of us who make sure that there is build coverage of the defconfigs and follow up on most of the breakage. Feel free to send one in for 3.9.
Jonny just pointed out in irc that there is
at91x40_defconfig.
Ah. I have built that a few times recently, but since it doesn't enable DEBUG_LL, this problem didn't show up.