ok6410 对应的linux-3.0.1 的编译情况
arch 下面的这些目录 镜像 相关, 其他目录与当前镜像 无关
boot common configs include kernel lib mach- s3c64xx mm plat- samsung
各目录分析
✗ ls boot - R
boot:
compressed
boot/ compressed:
decompress. c head. S lib1funcs. S misc. c piggy. gzip. S
1. 解压 压缩内容, 并放置到 zreladdr
2. 设置 r0 , r1 , r2
3. 跳转到 非解压内核 的 stext
head. S
misc. c
decompress. c
lib1funcs. S
piggy. gzip. S
✗ ls common - R
common:
vic. c
1. 提供 arm 的 IP 代码
vic. c
✗ ls configs - R
configs:
FORLINX6410_CFG
1. 提供板子的配置
FORLINX6410_CFG
✗ ls include - R
include:
asm generated
include/ asm :
a. out- core. h cputime. h fiq. h hw_breakpoint. h kprobes. h msgbuf. h poll. h shmparam. h statfs. h types. h
a. out. h cputype. h fixmap. h hwcap. h leds. h mtd- xip. h posix_types. h sigcontext. h stat. h uaccess. h
asm - offsets. h current. h flat. h hw_irq. h limits. h mutex. h processor. h siginfo. h string. h ucontext. h
assembler. h delay. h floppy. h i8253. h linkage. h nwflash. h proc- fns. h signal. h swab. h unaligned. h
atomic. h device. h fncpy. h ide. h local64. h outercache. h procinfo. h signal. h~ system. h unified. h
auxvec. h div64. h fpstate. h ioctl. h local. h page. h prom. h sizes. h tcm. h unistd. h
bitops. h dma. h ftrace. h ioctls. h localtimer. h page- nommu. h ptrace. h smp. h termbits. h unwind. h
bitsperlong. h dma- mapping. h futex. h io. h locks. h param. h resource. h smp_plat. h termios. h user. h
bug. h domain. h glue- cache. h ipcbuf. h mach parport. h scatterlist. h smp_scu. h therm. h vfp. h
bugs. h ecard. h glue- df. h irqflags. h mach- types. h pci. h sched_clock. h smp_twd. h thread_info. h vfpmacros. h
byteorder. h elf. h glue. h irq. h mc146818rtc. h percpu. h seccomp. h socket. h thread_notify. h vga. h
cacheflush. h emergency- restart. h glue- pf. h irq_regs. h memblock. h perf_event. h sections. h sockios. h timex. h xor. h
cache. h entry- macro- multi. S glue- proc. h Kbuild memory. h pgalloc. h segment. h sparsemem. h tlbflush. h
cachetype. h entry- macro- vic2. S gpio. h kdebug. h mman. h pgtable. h sembuf. h spinlock. h tlb. h
checksum. h errno. h hardirq. h kexec. h mmu_context. h pgtable- hwdef. h serial. h spinlock_types. h tls. h
clkdev. h fb. h hardware kgdb. h mmu. h pgtable- nommu. h setup. h stackprotector. h topology. h
cpu. h fcntl. h highmem. h kmap_types. h module. h pmu. h shmbuf. h stacktrace. h traps. h
include/ asm / hardware:
arm_timer. h clps7111. h debug- 8250. S entry- macro- gic. S ep7212. h ioc. h iop3xx- gpio. h it8152. h memc. h pl330. h sp810. h uengine. h
cache- l2x0. h coresight. h debug- pl01x. S entry- macro- iomd. S gic. h iomd. h iop3xx. h linkup- l1110. h pci_v3. h sa1111. h ssp. h vic. h
cache- tauros2. h cs89712. h dec21285. h ep7211. h icst. h iop3xx- adma. h iop_adma. h locomo. h pl080. h scoop. h timer- sp. h
include/ asm / mach:
arch. h dma. h flash. h irda. h irq. h map. h pci. h serial_at91. h serial_sa1100. h sharpsl_param. h time. h udc_pxa2xx. h
include/ generated:
asm
include/ generated/ asm :
1. 提供 arm IP 的各种定义
TODO
✗ ls kernel - R
kernel:
armksyms. c elf. c head- common. S init_task. c kprobes. c module. c process. c return_address. c stacktrace. c time. c
atags. c entry- armv. S head. S io. c kprobes- decode. c perf_event. c ptrace. c setup. c sys_arm. c traps. c
debug. S entry- common. S hw_breakpoint. c irq. c machine_kexec. c pmu. c relocate_kernel. S signal. c sys_oabi- compat. c unwind. c
1. 提供 非压缩内核 启动流程
2. 提供 异常向量表
head. S head- common. S
init_task. c
atags. c
entry- armv. S entry- common. S
irq. c
✗ ls lib - R
lib:
ashldi3. S clear_user. S csumpartialcopy. S findbit. S io- writesb. S memchr. S muldi3. S strncpy_from_user. S testsetbit. S
ashrdi3. S copy_from_user. S csumpartialcopyuser. S getuser. S io- writesl. S memcpy. S putuser. S strnlen_user. S ucmpdi2. S
backtrace. S copy_page. S csumpartial. S io- readsb. S io- writesw- armv4. S memmove. S setbit. S strrchr. S
changebit. S copy_to_user. S delay. S io- readsl. S lib1funcs. S memset. S sha1. S testchangebit. S
clearbit. S csumipv6. S div64. S io- readsw- armv4. S lshrdi3. S memzero. S strchr. S testclearbit. S
1. ARM 提供的库, 共谁用( TODO)
TODO
✗ ls mach- s3c64xx - R
mach- s3c64xx:
clock. c dev- audio. c dev- ts. c dma. c irq. c mach- smdk6410. c setup- fb- 24 bpp. c setup- i2c1. c setup- keypad. c setup- sdhci- gpio. c
cpu. c dev- spi. c dev- uart. c gpiolib. c irq- eint. c s3c6410. c setup- i2c0. c setup- ide. c setup- sdhci. c
1. 提供板子的驱动, 给哪个阶段的内核用?
s3c6410. c
mach- smdk6410. c
其他文件
✗ ls mm - R
mm:
abort- ev6. S cache- v6. S copypage- v6. c extable. c fault. c highmem. c init. c ioremap. c mmu. c pgd. c proc- v6. S vmregion. c
alignment. c context. c dma- mapping. c fault- armv. c flush. c idmap. c iomap. c mmap. c pabort- v6. S proc- syms. c tlb- v6. S
1. 提供内存相关功能
proc- v6. S
其他问题
✗ ls plat- samsung
adc. c dev- adc. c dev- fimc1. c dev- i2c1. c dev- pwm. c dev- usb- hsotg. c gpio. c irq- vic- timer. c setup- fimc1. c
bootmem. c dev- asocdma. c dev- hsmmc1. c dev- ide. c dev- rtc. c dev- video. c gpio- config. c platformdata. c time. c
clock. c dev- fb. c dev- hsmmc. c dev- keypad. c dev- uart. c dev- wdt. c init. c pwm- clock. c wakeup- mask. c
clock- clksrc. c dev- fimc0. c dev- i2c0. c dev- nand. c dev- usb. c dma. c irq- uart. c setup- fimc0. c
1. 为 mach- s3c64xx 中的函数 提供 库
2. 直接为 内核 提供函数
TODO