Arm Linux Startup
- ARM Linux Kernel Boot Requirements
- Booting ARM Linux
- Booting ARM Linux html, pdf
- Lecture 2 - bootloader
- Linux内核源码分析
- Linux内核源码分析之系统初始化
- Linux启动分析
- ARM Linux Boot Sequence
- The ARM Linux Boot Process
- Android 筆記-Linux Kernel SMP (Symmetric Multi-Processors) 開機流程解析
- ARM linux starting up process
- r0 = 0,
- r1 = machine architecture number (the MACH_TYPE_XXX in kernel)
- Must match one of define in linux/arch/arm/tools/mach-types.
- r2 = physical address of tagged list in system RAM
- arch/arm/boot/compressed/head.S
- arch/arm/kernel/head.S
- THUMB macro
- setmode macro
- __lookup_processor_type
- .proc.info.init section
- __create_page_tables
- __enable_mmu/__turn_mmu_on
- proc-v7.S
- __vet_atags
- __fixup_smp
- arch\arm\include\asm\unified.h
#ifdef CONFIG_THUMB2_KERNEL
...
#define ARM(x...)
#define THUMB(x...) x
...
#else /* !CONFIG_THUMB2_KERNEL */
...
#endif /* CONFIG_THUMB2_KERNEL */
- start_kernel()
prot_l1 | First-level descriptor |
prot_pte | Second-level descriptor |
prot_sect |
- Patchwork 1/5 ARM: hw_breakpoint: add initial Cortex-A15 (debug v7.1) support
- Patchwork 2/5 ARM: hw_breakpoint: reserve one breakpoint for watchpoint stepping
- Patchwork 3/5 ARM: hw_breakpoint: add support for multiple watchpoints
- Patchwork 4/5 ARM: hw_breakpoint: reduce the number of WARN_ONCE invocations
- Patchwork 5/5 ARM: hw_breakpoint: trap undef instruction exceptions in reset_ctrl_regs
- SMP
page revision: 3, last edited: 02 Apr 2014 11:53