qnhgpsj 发表于 2007-6-25 13:44:56

为什么linux将中断向量拷贝到0xffff0000?

看linux2.6的代码,发现在traps_init()函数中,将中断向量表拷贝到了0xffff0000处,而ARM资料上说,系统发现中断后是自动跳到0x0地址去的,那么为什么linux不把中断向量表拷贝到0x0处,而要拷贝到0xffff0000处呢?

conke 发表于 2007-8-14 10:18:14

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.

qnhgpsj 发表于 2007-8-24 09:09:26

为什么0x0000_0000成了用户空间了?ARM遇到异常后是要跳到0x0000_0000处找异常响亮表的,如果我们把中断响亮表拷贝到别处,那ARM遇到异常后怎么办?ARM怎么会跳到0xffff_0000处找异常响亮表呢?
页: [1]
查看完整版本: 为什么linux将中断向量拷贝到0xffff0000?