diff options
author | Chuanxiao Dong <chuanxiao.dong@intel.corp-partner.google.com> | 2020-02-27 13:58:26 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-02-28 00:11:19 +0000 |
commit | 020fbf04c2ac112f34b87306b5fbb75e7a02a81a (patch) | |
tree | 127111f64edbb95d7a2b6deceb414dfd24b8db39 /x86_64/src/mptable.rs | |
parent | 46d61ba80df1ccf8364d9589170b3a7bff1268ee (diff) | |
download | crosvm-020fbf04c2ac112f34b87306b5fbb75e7a02a81a.tar crosvm-020fbf04c2ac112f34b87306b5fbb75e7a02a81a.tar.gz crosvm-020fbf04c2ac112f34b87306b5fbb75e7a02a81a.tar.bz2 crosvm-020fbf04c2ac112f34b87306b5fbb75e7a02a81a.tar.lz crosvm-020fbf04c2ac112f34b87306b5fbb75e7a02a81a.tar.xz crosvm-020fbf04c2ac112f34b87306b5fbb75e7a02a81a.tar.zst crosvm-020fbf04c2ac112f34b87306b5fbb75e7a02a81a.zip |
x86_64: generate ACPI tables
Add acpi_rsdp_addr in boot_params to allow crosvm to pass a physicall address of RSDP to the Linux guest kernel, so that the linux guest kernel can parse the constructed ACPI tables and enable the ACPI. Although there is ACPI tables but as we still have "acpi=off" in command line parameter, there is still no ACPI in guest kernel. The ACPI construction refers to the implementation of the Cloud-hypervisor commit: - arch: x86_64: Generate basic ACPI tables BUG=chromium:1018674 TEST=None Change-Id: Ibcb2ae98c43da8ef8c07a07eda9213f61570d14c Signed-off-by: Chuanxiao Dong <chuanxiao.dong@intel.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2035351 Reviewed-by: Tomasz Jeznach <tjeznach@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Tomasz Jeznach <tjeznach@chromium.org>
Diffstat (limited to 'x86_64/src/mptable.rs')
-rw-r--r-- | x86_64/src/mptable.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/x86_64/src/mptable.rs b/x86_64/src/mptable.rs index 8b754bd..9aded3f 100644 --- a/x86_64/src/mptable.rs +++ b/x86_64/src/mptable.rs @@ -77,8 +77,10 @@ const MPC_OEM: [c_char; 8] = char_array!(c_char; 'C', 'R', 'O', 'S', 'V', 'M', ' const MPC_PRODUCT_ID: [c_char; 12] = ['0' as c_char; 12]; const BUS_TYPE_ISA: [u8; 6] = char_array!(u8; 'I', 'S', 'A', ' ', ' ', ' '); const BUS_TYPE_PCI: [u8; 6] = char_array!(u8; 'P', 'C', 'I', ' ', ' ', ' '); -const IO_APIC_DEFAULT_PHYS_BASE: u32 = 0xfec00000; // source: linux/arch/x86/include/asm/apicdef.h -const APIC_DEFAULT_PHYS_BASE: u32 = 0xfee00000; // source: linux/arch/x86/include/asm/apicdef.h +// source: linux/arch/x86/include/asm/apicdef.h +pub const IO_APIC_DEFAULT_PHYS_BASE: u32 = 0xfec00000; +// source: linux/arch/x86/include/asm/apicdef.h +pub const APIC_DEFAULT_PHYS_BASE: u32 = 0xfee00000; const APIC_VERSION: u8 = 0x14; const CPU_STEPPING: u32 = 0x600; const CPU_FEATURE_APIC: u32 = 0x200; |