xref: /openbmc/qemu/hw/i386/fw_cfg.h (revision 30a1690f)
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/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
33