Selecting this option produces: AS arch/arm/boot/compressed/debug.o arch/arm/boot/compressed/debug.S:4:33: fatal error: mach/debug-macro.S: No such file or directory compilation terminated. make[3]: *** [arch/arm/boot/compressed/debug.o] Error 1 The semihosting support cannot be modelled into a senduart macro as it requires memory space for argument passing. So the CONFIG_DEBUG_LL_INCLUDE may not have any sensible value and the include directive should be omitted. While at it, let's add proper semihosting output support to the decompressor. Signed-off-by: Nicolas Pitre <nico@linaro.org> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			635 B
			
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			635 B
			
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
#include <linux/linkage.h>
 | 
						|
#include <asm/assembler.h>
 | 
						|
 | 
						|
#ifndef CONFIG_DEBUG_SEMIHOSTING
 | 
						|
 | 
						|
#include CONFIG_DEBUG_LL_INCLUDE
 | 
						|
 | 
						|
ENTRY(putc)
 | 
						|
	addruart r1, r2, r3
 | 
						|
	waituart r3, r1
 | 
						|
	senduart r0, r1
 | 
						|
	busyuart r3, r1
 | 
						|
	mov	 pc, lr
 | 
						|
ENDPROC(putc)
 | 
						|
 | 
						|
#else
 | 
						|
 | 
						|
ENTRY(putc)
 | 
						|
	adr	r1, 1f
 | 
						|
	ldmia	r1, {r2, r3}
 | 
						|
	add	r2, r2, r1
 | 
						|
	ldr	r1, [r2, r3]
 | 
						|
	strb	r0, [r1]
 | 
						|
	mov	r0, #0x03		@ SYS_WRITEC
 | 
						|
   ARM(	svc	#0x123456	)
 | 
						|
 THUMB(	svc	#0xab		)
 | 
						|
	mov	pc, lr
 | 
						|
	.align	2
 | 
						|
1:	.word	_GLOBAL_OFFSET_TABLE_ - .
 | 
						|
	.word	semi_writec_buf(GOT)
 | 
						|
ENDPROC(putc)
 | 
						|
 | 
						|
	.bss
 | 
						|
	.global	semi_writec_buf
 | 
						|
	.type   semi_writec_buf, %object
 | 
						|
semi_writec_buf:
 | 
						|
	.space	4
 | 
						|
	.size	semi_writec_buf, 4
 | 
						|
 | 
						|
#endif
 |