🐛 解决了ap处理器无法处理异常的bug(原因是设置错了TSS表)

This commit is contained in:
fslongjin
2022-04-06 18:36:56 +08:00
parent b7df2805ed
commit cc39911d4d
8 changed files with 56 additions and 96 deletions

View File

@ -149,11 +149,11 @@ void system_initialize()
load_TR(10); // 加载TR寄存器
ul tss_item_addr = 0x7c00;
set_TSS64((ul)&TSS64_Table, _stack_start, _stack_start, _stack_start, tss_item_addr,
tss_item_addr, tss_item_addr, tss_item_addr, tss_item_addr, tss_item_addr);
set_tss64(TSS64_Table, _stack_start, _stack_start, _stack_start, tss_item_addr,
tss_item_addr, tss_item_addr, tss_item_addr, tss_item_addr, tss_item_addr, tss_item_addr);
cpu_core_info[0].stack_start = _stack_start;
cpu_core_info[0].tss_vaddr = (ul)TSS64_Table;
cpu_core_info[0].tss_vaddr = &TSS64_Table;
// 初始化中断描述符表
sys_vector_init();
@ -165,11 +165,8 @@ void system_initialize()
// 初始化中断模块
irq_init();
kdebug("23232");
smp_init();
kdebug("12121221212");
//smp_ap_start();
hlt();
// 先初始化系统调用模块
syscall_init();
@ -179,13 +176,12 @@ void system_initialize()
// ata_init();
pci_init();
ahci_init();
// test_slab();
// test_mm();
// 再初始化进程模块。顺序不能调转
// process_init();
}
//操作系统内核从这里开始执行
@ -228,8 +224,7 @@ void Start_Kernel(void)
analyze_mousecode();
}
*/
while (1)
;
hlt();
}
void ignore_int()