diff options
| author | Richard Qin <richard.qin.x@gmail.com> | 2026-07-10 11:31:46 +0800 |
|---|---|---|
| committer | Richard Qin <richard.qin.x@gmail.com> | 2026-07-10 11:31:46 +0800 |
| commit | e90b72ec3082588b296956730bd2930cf8d5d671 (patch) | |
| tree | 36ff6916af9b4176ea5a9662219d11e721f0b691 /scripts/extract-asm-offsets.sed | |
| parent | 1767d390fbf3d0c65389de46caf0b6d43ef3b6ad (diff) | |
| download | lume-e90b72ec3082588b296956730bd2930cf8d5d671.tar.gz lume-e90b72ec3082588b296956730bd2930cf8d5d671.tar.xz | |
refactor: promote new architecture to repository root
Archive the deprecated implementation under lume-legacy, make the new kernel the default root-level build, and update repository entry points without changing kernel behavior.
Diffstat (limited to 'scripts/extract-asm-offsets.sed')
| -rw-r--r-- | scripts/extract-asm-offsets.sed | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/scripts/extract-asm-offsets.sed b/scripts/extract-asm-offsets.sed new file mode 100644 index 0000000..c97ec2c --- /dev/null +++ b/scripts/extract-asm-offsets.sed @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Extract `->SYM val COMMENT` markers emitted by inline asm in +# asm-offsets.c into proper `#define SYM val /* COMMENT */` lines. +# 1:1 with Linux scripts/Makefile.lib `sed-offsets`. +# +# Input : assembly source produced by `gcc -S asm-offsets.c` — +# inline asm emits lines like +# .ascii "->KERNEL_MAP_VIRT_ADDR 0 offsetof(...)" +# Output : header fragment for include/generated/asm-offsets.h +# +# Step 1 unwraps the `.ascii "..."` directive so the actual payload +# (starting with `->`) is exposed. Steps 2-4 then rewrite into a +# proper #define. +s:^[[:space:]]*\.ascii[[:space:]]*"\(.*\)".*:\1: +/^->/{s:->#\(.*\):/* \1 */:; + s:^->\([^ ]*\) [\$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; + s:->::; + p;} |
