mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-18 12:16:31 +00:00
🔧 改用local apic定时器进行进程时间片更新
This commit is contained in:
@ -32,6 +32,8 @@
|
||||
#include <driver/uart/uart.h>
|
||||
#include <driver/video/video.h>
|
||||
|
||||
#include <driver/interrupt/apic/apic_timer.h>
|
||||
|
||||
unsigned int *FR_address = (unsigned int *)0xb8000; //帧缓存区的地址
|
||||
ul bsp_idt_size, bsp_gdt_size;
|
||||
|
||||
@ -39,7 +41,6 @@ struct memory_desc memory_management_struct = {{0}, 0};
|
||||
// struct Global_Memory_Descriptor memory_management_struct = {{0}, 0};
|
||||
void test_slab();
|
||||
|
||||
|
||||
struct gdtr gdtp;
|
||||
struct idtr idtp;
|
||||
void reload_gdt()
|
||||
@ -144,14 +145,15 @@ void system_initialize()
|
||||
HPET_measure_apic_timer_freq();
|
||||
// current_pcb->preempt_count = 0;
|
||||
// kdebug("cpu_get_core_crysral_freq()=%ld", cpu_get_core_crysral_freq());
|
||||
// while(1);
|
||||
|
||||
process_init();
|
||||
// 对显示模块进行高级初始化,启用double buffer
|
||||
video_init(true);
|
||||
|
||||
// fat32_init();
|
||||
// 系统初始化到此结束,剩下的初始化功能应当放在初始内核线程中执行
|
||||
HPET_enable();
|
||||
// 系统初始化到此结束,剩下的初始化功能应当放在初始内核线程中执行
|
||||
apic_timer_init();
|
||||
}
|
||||
|
||||
//操作系统内核从这里开始执行
|
||||
@ -178,7 +180,6 @@ void Start_Kernel(void)
|
||||
|
||||
system_initialize();
|
||||
|
||||
|
||||
while (1)
|
||||
hlt();
|
||||
}
|
||||
@ -186,5 +187,5 @@ void Start_Kernel(void)
|
||||
void ignore_int()
|
||||
{
|
||||
kwarn("Unknown interrupt or fault at RIP.\n");
|
||||
return;
|
||||
while(1);
|
||||
}
|
Reference in New Issue
Block a user