🔧 改用local apic定时器进行进程时间片更新

This commit is contained in:
fslongjin
2022-07-11 21:47:28 +08:00
parent 594aeadf65
commit defb9e769c
9 changed files with 220 additions and 51 deletions

View File

@ -16,6 +16,7 @@
#include "../process/ptrace.h"
#define SMP_IRQ_NUM 10
#define LOCAL_APIC_IRQ_NUM 10
extern void (*interrupt_table[24])(void);
extern void do_IRQ(struct pt_regs *regs, ul number);
@ -23,6 +24,7 @@ extern void do_IRQ(struct pt_regs *regs, ul number);
extern void (*SMP_interrupt_table[SMP_IRQ_NUM])(void);
extern void (*syscall_intr_table[1])(void);
extern void (*local_apic_interrupt_table[LOCAL_APIC_IRQ_NUM])(void);
/* ========= 中断向量分配表 ==========
@ -128,9 +130,10 @@ typedef struct
#define IRQ_NUM 24
// 这两个表一定要放在这里否则在HPET初始化后收到中断会产生page fault
irq_desc_t interrupt_desc[IRQ_NUM] = {0};
irq_desc_t local_apic_interrupt_desc[20] = {0};
irq_desc_t SMP_IPI_desc[SMP_IRQ_NUM] = {0};
/**
* @brief 中断注册函数
*