如何读取“acpidump”提供的 XSDT 表的地址?

如何读取“acpidump”提供的 XSDT 表的地址?

我想访问 BSD 中的物理内存。acpidump -t XSDT > xsdt_dump.asl它给出:

/*
  RSD PTR: OEM=ALASKA, ACPI_Rev=2.0x (2)
    XSDT=0x9aae8070, length=36, cksum=164
 */
/*
  XSDT: Length=92, Revision=1, Checksum=244,
    OEMID=ALASKA, OEM Table ID=H55HC, OEM Revision=0x1072009,
    Creator ID=AMI, Creator Revision=0x10013
    Entries={ 0x9aaee2d8, 0x9aaee3d0, 0x9aaee458, 0x9aaee4a0, 0x9aaee560, 0x9aaee668, 0x9aaee6a8 }
 */
/*
  FACP: Length=244, Revision=4, Checksum=153,
    OEMID=ALASKA, OEM Table ID=H55HC, OEM Revision=0x1072009,
    Creator ID=AMI, Creator Revision=0x10013
    FACS=0x9b2f9f80, DSDT=0x9aae8158
    INT_MODEL=APIC
    Preferred_PM_Profile=Workstation (3)
    SCI_INT=9
    SMI_CMD=0xb2, ACPI_ENABLE=0xa0, ACPI_DISABLE=0xa1, S4BIOS_REQ=0x0
    PSTATE_CNT=0x0
    PM1a_EVT_BLK=0x400-0x403
    PM1a_CNT_BLK=0x404-0x405
    PM2_CNT_BLK=0x450-0x450
    PM_TMR_BLK=0x408-0x40b
    GPE0_BLK=0x420-0x42f
    P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
    FLUSH_SIZE=1024, FLUSH_STRIDE=16
    DUTY_OFFSET=1, DUTY_WIDTH=3
    DAY_ALRM=13, MON_ALRM=0, CENTURY=50
    IAPC_BOOT_ARCH={LEGACY_DEVICES}
    Flags={WBINVD,C1_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,RESET_REGISTER,PLATFORM_CLOCK,S4_RTC_VALID,REMOTE_POWER_ON}
    RESET_REG=0xcf9:0[8] (IO), RESET_VALUE=0x6
 */
/*
  FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
    Global_Lock=
    Flags=
    Version=2
 */
/*
  DSDT: Length=24957, Revision=2, Checksum=249,
    OEMID=ALASKA, OEM Table ID=H55HC, OEM Revision=0x400,
    Creator ID=INTL, Creator Revision=0x20051117
 */
/*
  APIC: Length=132, Revision=3, Checksum=217,
    OEMID=ALASKA, OEM Table ID=H55HC, OEM Revision=0x1072009,
    Creator ID=AMI, Creator Revision=0x10013
    Local APIC ADDR=0xfee00000
    Flags={PC-AT}

    Type=Local APIC
    ACPI CPU=0
    Flags={ENABLED}
    APIC ID=0

    Type=Local APIC
    ACPI CPU=2
    Flags={ENABLED}
    APIC ID=4

    Type=Local APIC
    ACPI CPU=1
    Flags={ENABLED}
    APIC ID=1

    Type=Local APIC
    ACPI CPU=3
    Flags={ENABLED}
    APIC ID=5

    Type=IO APIC
    APIC ID=0
    INT BASE=0
    ADDR=0x00000000fec00000

    Type=INT Override
    BUS=0
    IRQ=0
    INTR=2
    Flags={Polarity=conforming, Trigger=conforming}

    Type=INT Override
    BUS=0
    IRQ=9
    INTR=9
    Flags={Polarity=active-hi, Trigger=level}

    Type=Local APIC NMI
    ACPI CPU=0
    LINT Pin=1
    Flags={Polarity=active-hi, Trigger=edge}

    Type=Local APIC NMI
    ACPI CPU=2
    LINT Pin=1
    Flags={Polarity=active-hi, Trigger=edge}

    Type=Local APIC NMI
    ACPI CPU=1
    LINT Pin=1
    Flags={Polarity=active-hi, Trigger=edge}

    Type=Local APIC NMI
    ACPI CPU=3
    LINT Pin=1
    Flags={Polarity=active-hi, Trigger=edge}
 */
/*
  FPDT: Length=68, Revision=1, Checksum=154,
    OEMID=ALASKA, OEM Table ID=H55HC, OEM Revision=0x1072009,
    Creator ID=AMI, Creator Revision=0x10013
 */
/*
  FIDT: Length=192, Revision=1, Checksum=222,
    OEMID=ALASKA, OEM Table ID=H55HC, OEM Revision=0x1072009,
    Creator ID=AMI, Creator Revision=0x10013
 */
/*
  SSDT: Length=258, Revision=1, Checksum=239,
    OEMID=AMICPU, OEM Table ID=PROC, OEM Revision=0x1,
    Creator ID=MSFT, Creator Revision=0x3000001
 */
/*
  MCFG: Length=60, Revision=1, Checksum=155,
    OEMID=ALASKA, OEM Table ID=H55HC, OEM Revision=0x1072009,
    Creator ID=MSFT, Creator Revision=0x97

    Base Address=0x00000000e0000000
    Segment Group=0x0000
    Start Bus=0
    End Bus=63
 */
/*
  HPET: Length=56, Revision=1, Checksum=144,
    OEMID=ALASKA, OEM Table ID=H55HC, OEM Revision=0x1072009,
    Creator ID=AMI., Creator Revision=0x5
    HPET Number=0
    ADDR=0xfed00000:0[64] (Memory)  HW Rev=0x1
    Comparators=7
    Counter Size=1
    Legacy IRQ routing capable={TRUE}
    PCI Vendor ID=0x8086
    Minimal Tick=14318
 */

在 RSD PTR 表中,XSDT=0x9aae8070 是什么?这是 XSDT 表的地址吗?还是我需要添加其他地址才能从内存访问 XSDT 表?

相关内容