| 1 | /* |
| 2 | * QEMU fw_cfg helpers (X86 specific) |
| 3 | * |
| 4 | * Copyright (c) 2003-2004 Fabrice Bellard |
| 5 | * |
| 6 | * SPDX-License-Identifier: MIT |
| 7 | */ |
| 8 | |
| 9 | #ifndef HW_I386_FW_CFG_H |
| 10 | #define HW_I386_FW_CFG_H |
| 11 | |
| 12 | #include "hw/core/boards.h" |
| 13 | #include "hw/i386/pc.h" |
| 14 | #include "hw/nvram/fw_cfg.h" |
| 15 | |
| 16 | #define FW_CFG_IO_BASE 0x510 |
| 17 | |
| 18 | #define FW_CFG_ACPI_TABLES (FW_CFG_ARCH_LOCAL + 0) |
| 19 | #define FW_CFG_SMBIOS_ENTRIES (FW_CFG_ARCH_LOCAL + 1) |
| 20 | #define FW_CFG_IRQ0_OVERRIDE (FW_CFG_ARCH_LOCAL + 2) |
| 21 | #define FW_CFG_HPET (FW_CFG_ARCH_LOCAL + 4) |
| 22 | |
| 23 | FWCfgState *fw_cfg_arch_create(MachineState *ms, |
| 24 | uint16_t boot_cpus, |
| 25 | uint16_t apic_id_limit); |
| 26 | void fw_cfg_build_smbios(PCMachineState *pcms, FWCfgState *fw_cfg, |
| 27 | SmbiosEntryPointType ep_type); |
| 28 | void fw_cfg_build_feature_control(MachineState *ms, FWCfgState *fw_cfg); |
| 29 | void fw_cfg_add_acpi_dsdt(Aml *scope, FWCfgState *fw_cfg); |
| 30 | void fw_cfg_add_e820(FWCfgState *fw_cfg); |
| 31 | |
| 32 | #endif |