与80386段相关的宏定义
set_seg_desc
<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } -->
set_tssldt_desc
<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } -->
对n,addr地址的说明
set_tss_desc() 和set_ldt_desc()在两个地方被调用:sched_init()和copy_process ()中。在sched_init()中:
set_tss_desc(gdt+FIRST_TSS_ENTRY,&(init_task.task.tss));
set_ldt_desc(gdt+FIRST_LDT_ENTRY,&(init_task.task.ldt));
在copy_process ()中
set_tss_desc(gdt+(nr<<1)+FIRST_TSS_ENTRY,&(p->tss));
set_ldt_desc(gdt+(nr<<1)+FIRST_LDT_ENTRY,&(p->ldt))
这里传入的地址都是逻辑地址,但是因为3种地址重合,所以也没问题。