这个文件是我正在尝试通过使用printf/printk语句进行调试的文件。
这段代码是汇编语言。
79 __HEAD
80 ENTRY(stext)
81 ARM_BE8(setend be ) @ ensure we are in BE8 mode
82
83 THUMB( adr r9, BSYM(1f) ) @ Kernel is always entered in ARM.
84 THUMB( bx r9 ) @ If this is a Thumb-2 kernel,
85 THUMB( .thumb ) @ switch to Thumb now.
86 THUMB(1: )
87
88 #ifdef CONFIG_ARM_VIRT_EXT
89 bl __hyp_stub_install
90 #endif
91 @ ensure svc mode and all interrupts masked
92 safe_svcmode_maskall r9
93
94 mrc p15, 0, r9, c0, c0 @ get processor id
95 bl __lookup_processor_type @ r5=procinfo r9=cpuid
96 movs r10, r5 @ invalid processor (r5=0)?
97 THUMB( it eq ) @ force fixup-able long branch encoding
98 beq __error_p @ yes, error 'p'
99
100 #ifdef CONFIG_ARM_LPAE
101 mrc p15, 0, r3, c0, c1, 4 @ read ID_MMFR0
102 and r3, r3, #0xf @ extract VMSA support
103 cmp r3, #5 @ long-descriptor translation table format?
104 THUMB( it lo ) @ force fixup-able long branch encoding
105 blo __error_lpae @ only classic page table format
106 #endif
107
108 #ifndef CONFIG_XIP_KERNEL
109 adr r3,
我只是想从这个文件向控制台输出一些消息。这段代码是为ARM编写的。
我尝试在这样的代码块中使用printk,但它无法编译。
有什么建议吗?
start_kernel
之前,printk
几乎是不可能的。然而,如果你的引导加载程序有一个printf
实现,并留下了一个可用的 SP,如果你能找出正确的地址进行调用,你可能可以在这个时候使用它。 - Notlikethat