arch/sh/boot/compressed/head_32.S
Source file repositories/reference/linux-study-clean/arch/sh/boot/compressed/head_32.S
File Facts
- System
- Linux kernel
- Corpus path
arch/sh/boot/compressed/head_32.S- Extension
.S- Size
- 2430 bytes
- Lines
- 127
- Domain
- Architecture Layer
- Bucket
- arch/sh
- Inferred role
- Architecture Layer: arch/sh
- Status
- atlas-only
Why This File Exists
CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
Dependency Surface
asm/page.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
.text
#include <asm/page.h>
.global startup
startup:
/* Load initial status register */
mov.l init_sr, r1
ldc r1, sr
/* Move myself to proper location if necessary */
mova 1f, r0
mov.l 1f, r2
cmp/eq r2, r0
bt clear_bss
sub r0, r2
mov.l bss_start_addr, r0
mov #0xffffffe0, r1
and r1, r0 ! align cache line
mov.l text_start_addr, r3
mov r0, r1
sub r2, r1
3:
mov.l @r1, r4
mov.l @(4,r1), r5
mov.l @(8,r1), r6
mov.l @(12,r1), r7
mov.l @(16,r1), r8
mov.l @(20,r1), r9
mov.l @(24,r1), r10
mov.l @(28,r1), r11
mov.l r4, @r0
mov.l r5, @(4,r0)
mov.l r6, @(8,r0)
mov.l r7, @(12,r0)
mov.l r8, @(16,r0)
mov.l r9, @(20,r0)
mov.l r10, @(24,r0)
mov.l r11, @(28,r0)
#ifdef CONFIG_CPU_SH4
ocbwb @r0
#endif
cmp/hi r3, r0
add #-32, r0
bt/s 3b
add #-32, r1
mov.l 2f, r0
jmp @r0
nop
.align 2
1: .long 1b
2: .long clear_bss
text_start_addr:
.long startup
/* Clear BSS */
clear_bss:
mov.l end_addr, r1
mov.l bss_start_addr, r2
mov #0, r0
l1:
mov.l r0, @-r1
cmp/eq r1,r2
bf l1
/* Set the initial pointer. */
mov.l init_stack_addr, r0
mov.l @r0, r15
Annotation
- Immediate include surface: `asm/page.h`.
- Atlas domain: Architecture Layer / arch/sh.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.