🆕 完成了简单的APIC中断处理功能

This commit is contained in:
fslongjin
2022-03-13 21:09:38 +08:00
parent 9cb628c3b9
commit ee49849158
6 changed files with 177 additions and 38 deletions

View File

@ -557,7 +557,6 @@ void mm_map_phys_addr(ul virt_addr_start, ul phys_addr_start, ul length, ul flag
ul *tmp1;
// 初始化2M物理页
int js = 0;
for (ul i = 0; i < (length); i += PAGE_2M_SIZE)
{
// 计算当前2M物理页对应的pdt的页表项的物理地址
@ -565,9 +564,7 @@ void mm_map_phys_addr(ul virt_addr_start, ul phys_addr_start, ul length, ul flag
// 页面写穿,禁止缓存
set_pdt(tmp1, mk_pdt((ul)phys_addr_start + i, flags));
++js;
}
kdebug("js=%d", js);
flush_tlb();
}

View File

@ -39,7 +39,8 @@
#define SPECIAL_MEMOEY_MAPPING_VIRT_ADDR_BASE 0xffff800000000000UL
#define FRAME_BUFFER_MAPPING_OFFSET 0x3000000UL
#define ACPI_RSDT_MAPPING_OFFSET 0x7000000UL
#define IO_APIC_MAPPING_OFFSET 0x8000000UL
#define IO_APIC_MAPPING_OFFSET 0xfec00000UL
#define LOCAL_APIC_MAPPING_OFFSET 0xfee00000UL
// ===== 内存区域属性 =====
// DMA区域
#define ZONE_DMA (1 << 0)