//枚举导出的函数//#include static main(){ auto entrypoints,i,ord,addr,name,purged,file,fd; file = AskFile(1,"*.idt","Select IDT save file"); //打开文件对话框 fd = f...
分类:
其他好文 时间:
2014-08-21 13:04:54
阅读次数:
213
上篇博文对中断描述符表(IDT)中异常和非屏蔽中断部分的初始化做了说明,这篇文章将分析中断部分的初始化。在上篇博文中,可以看到,内核在setup_once汇编片段中,对中断和异常部分做了初步的初始化,用early_idt_handlers函数的地址来初始化异常门描述符,用ignore_int函数地址...
分类:
其他好文 时间:
2014-07-29 10:57:26
阅读次数:
352
1.中断描述符表的定义(arch/x86/kernel/traps.c)1 gate_desc debug_idt_table[NR_VECTORS] __page_aligned_bss;定义的描述符表为一个结构体数组,数组元素类型为gate_desc,大小为8B。NR_VECTORS宏为256,...
分类:
其他好文 时间:
2014-07-27 21:59:49
阅读次数:
445
#include #include #include #include #include #include #include #include #include #include #include #include #include MODULE_LICENSE("GPL");struct desc...
分类:
系统相关 时间:
2014-07-18 12:08:40
阅读次数:
292
16位/32位中断机制比较
原理:
16位中断机制:使用中断向量表
32位中断机制:使用中段描述符表IDT
位置:
中断向量表的位置是固定的,位于内存的开始0x00000
中断向量符表位置不固定,由系统设计者安排,由IDTR(IDT基地址寄存器)锁定其位置。...
分类:
其他好文 时间:
2014-07-09 12:32:57
阅读次数:
204
/* * linux/boot/head.S * * Copyright (C) 1991,
1992 Linus Torvalds *//* * head.S contains the 32-bit startup code.
*/.text.globl _idt,_gdt,.globl ...
分类:
其他好文 时间:
2014-06-06 15:11:14
阅读次数:
417
We added a system call to modify idt table,
then programed it inmodify_idt.c1. Put our modify_idt.c file
in/usr/src/linux-3.10.15/arch/x86/kernel2./us...
分类:
其他好文 时间:
2014-05-22 15:51:03
阅读次数:
269
自动化测试专家Elfriede Dustin在2008年10月的《Software
Testing and
Performance》杂志上发表文章,深入探讨了为什么如此多的自动化测试项目会最终失败。1、IDT的自动化测试调查IDT(Innovative Defense
Technologies)在2...
分类:
其他好文 时间:
2014-05-16 00:25:58
阅读次数:
289
最近终于把实现多任务的微内核调试了一遍,我们阐述了如何在保护模式下切换任务。同时知识包括:gdt,idt,ldt,tss,时钟中断服务,特权级切换,显存编程,boot和loader功能,bios调用等等。详细知识还要在实践中摸索学习,希望大家一起进步。这篇文章仅仅做个记录,如有亲身调试过代码,可能不大好理解。接下几天重点看看0.12启动程序,多分页需要更加深入了解。
;#Mode=Dos ;放在...
分类:
系统相关 时间:
2014-05-15 13:34:12
阅读次数:
568
1.中断描述符表(IDT),将每个异常或中断向量分别与它们的处理过程联系起来。与GDT和LDT类似,IDT也是由8字节长度的描述符组成。IDT空描述符的存在标志位必须是0。IDT表可以驻留在线性地址空间的任何地方,处理器使用IDTR寄存器来定位IDT表的位置。
LIDT指令可以把内存中的限长值和基地址操作数加载到IDTR寄存器中,该指令仅能由当前特权级CPL是0的代码执行,通常被用于创建...
分类:
其他好文 时间:
2014-05-11 20:12:21
阅读次数:
310