QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1404|回复: 6

GDT和IDT表的加载问题

[复制链接]
发表于 2004-9-22 10:36:00 | 显示全部楼层 |阅读模式
我开始读linux0.11内核,有一个问题不明白,希望大家帮帮忙,谢谢

在setup.s中

end_move:
在这里加载了idt和gdt表
lidt        idt_48                ! load idt with 0,0
lgdt        gdt_48                ! load gdt with whatever appropriate
而后进入保护模式

我看的书上说,IDG和GDT表在进入保护模式后将不能被改动,可是为什么在head.s中的startup_32:处调用了setup_idt 和 setup_gdt函数重新加载了GDT 和IDT表!
这是怎么回事?
发表于 2004-9-22 12:56:28 | 显示全部楼层
可以重新装载,我只记得重新装载gdt时要保证装载前的eip动作和装载后的eip动作是连续的。
回复

使用道具 举报

 楼主| 发表于 2004-9-22 13:43:18 | 显示全部楼层
有没有详细的资料可供参考呢?!
回复

使用道具 举报

 楼主| 发表于 2004-10-5 14:13:41 | 显示全部楼层
各位帮帮忙啊!为什么这么久都没有人理我啊???
回复

使用道具 举报

发表于 2004-10-5 19:19:11 | 显示全部楼层
x86的Intel他们家设计的,你到Intel他们家的网站看看,肯定有这方面的资料。
回复

使用道具 举报

发表于 2004-10-11 09:21:05 | 显示全部楼层
情景分析里似乎讲了一点点. 去找来看看拉.
回复

使用道具 举报

发表于 2004-10-27 15:13:36 | 显示全部楼层
??
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-9-30 08:06 , Processed in 0.049656 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表