浏览代码

已知bug:平台不提供rsdpv1时,会出现bug

fslongjin 3 年之前
父节点
当前提交
a75fa791e7
共有 2 个文件被更改,包括 2 次插入2 次删除
  1. 1 1
      kernel/driver/acpi/acpi.h
  2. 1 1
      kernel/driver/interrupt/apic/apic.c

+ 1 - 1
kernel/driver/acpi/acpi.h

@@ -27,7 +27,7 @@
 // 0x80-0xff Reserved for OEM use
 
 #define ACPI_RSDT_VIRT_ADDR_BASE SPECIAL_MEMOEY_MAPPING_VIRT_ADDR_BASE + ACPI_RSDT_MAPPING_OFFSET
-#define ACPI_DESCRIPTION_HEDERS_BASE ACPI_RSDT_VIRT_ADDR_BASE + PAGE_2M_SIZE
+#define ACPI_DESCRIPTION_HEDERS_BASE ACPI_RSDT_VIRT_ADDR_BASE + (PAGE_2M_SIZE)
 
 struct acpi_RSDP_t
 {

+ 1 - 1
kernel/driver/interrupt/apic/apic.c

@@ -24,8 +24,8 @@ void apic_io_apic_init()
 {
 
     ul madt_addr;
-    kdebug("madt_addr = %#018lx", (ul)madt_addr);
     acpi_iter_SDT(acpi_get_MADT, &madt_addr);
+    kdebug("madt_addr = %#018lx", (ul)madt_addr);
     madt = (struct acpi_Multiple_APIC_Description_Table_t *)madt_addr;
 
     kdebug("MADT->local intr controller addr=%#018lx", madt->Local_Interrupt_Controller_Address);