mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-18 08:06:32 +00:00
🐛 解决了ap处理器无法处理异常的bug(原因是设置错了TSS表)
This commit is contained in:
@ -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()
|
||||
|
Reference in New Issue
Block a user