冷库建设网站/什么平台可以发广告引流
在老的内核中断是在完全由所谓的板级支持包中指定的,同时相关的寄存器地址这些也都是在代码中写死的。
这种代码没法在多个SOC上通用,这个就导致大量的重复代码出现。
在2.6.35.7内核中,SMDKV210单板是这样描述的
MACHINE_START(SMDKV210, "SMDKV210")/* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */.phys_io = S3C_PA_UART & 0xfff00000,.io_pg_offst = (((u32)S3C_VA_UART) >> 18) & 0xfffc,.boot_params = S5P_PA_SDRAM + 0x100,.init_irq = s5pv210_init_irq,.map_io = smdkv210_map_io,.init_machine = smdkv210_machine_init,
#ifdef CONFIG_S5P_HIGH_RES_TIMERS.timer = &s5p_systimer,
#else.timer = &s3c24xx_timer,
#endif
MACHINE_END
可以看到这里写了很多的固定的静态映射的地址信息,如S3C_PA_UART,S5P_PA_SDRAM。
比如进入到中断初始化函数中s5pv210_init_irq
#define S5P_VA_CHIPID S3C_ADDR(0x00700000)
#define S5P_VA_GPIO S3C_ADDR(0x00500000)
#define S5P_VA_SYSTIMER S3C_ADDR(0x0