为什么linux将中断向量拷贝到0xffff0000?
看linux2.6的代码,发现在traps_init()函数中,将中断向量表拷贝到了0xffff0000处,而ARM资料上说,系统发现中断后是自动跳到0x0地址去的,那么为什么linux不把中断向量表拷贝到0x0处,而要拷贝到0xffff0000处呢? ARM supports two exception address: 0x0000_0000(normal address) and 0xffff_0000(high vector address), up to CP setting.After MMU is enabled, 0x0000_0000 locates in user sapce, so we should set it to 0xffff_0000 which is in kernel space. 为什么0x0000_0000成了用户空间了?ARM遇到异常后是要跳到0x0000_0000处找异常响亮表的,如果我们把中断响亮表拷贝到别处,那ARM遇到异常后怎么办?ARM怎么会跳到0xffff_0000处找异常响亮表呢?
页:
[1]