- 論壇徽章:
- 0
|
內(nèi)核啟動(dòng)時(shí),預(yù)填充中斷idt的操作如下:
498 setup_idt:
499 lea ignore_int,%edx
500 movl $(__KERNEL_CS << 16),%eax
501 movw %dx,%ax /* selector = 0x0010 = cs */
502 movw $0x8E00,%dx /* interrupt gate - dpl=0, present */
503
504 lea idt_table,%edi
505 mov $256,%ecx
506rp_sidt:
507 movl %eax,(%edi)
508 movl %edx,4(%edi)
509 addl $8,%edi
510 dec %ecx
511 jne rp_sidt
其中
499 lea ignore_int,%edx
500 movl $(__KERNEL_CS << 16),%eax
501 movw %dx,%ax /* selector = 0x0010 = cs */
是計(jì)算函數(shù)ignore_int地址
我想問的是為什么需要這樣計(jì)算呢,而ignore_int不是函數(shù)的地址??? |
|