xref: /qemu/hw/i386/fw_cfg.h (revision 69ea07a5)
187abaa5dSPhilippe Mathieu-Daudé /*
287abaa5dSPhilippe Mathieu-Daudé  * QEMU fw_cfg helpers (X86 specific)
387abaa5dSPhilippe Mathieu-Daudé  *
487abaa5dSPhilippe Mathieu-Daudé  * Copyright (c) 2003-2004 Fabrice Bellard
587abaa5dSPhilippe Mathieu-Daudé  *
687abaa5dSPhilippe Mathieu-Daudé  * SPDX-License-Identifier: MIT
787abaa5dSPhilippe Mathieu-Daudé  */
887abaa5dSPhilippe Mathieu-Daudé 
987abaa5dSPhilippe Mathieu-Daudé #ifndef HW_I386_FW_CFG_H
1087abaa5dSPhilippe Mathieu-Daudé #define HW_I386_FW_CFG_H
1187abaa5dSPhilippe Mathieu-Daudé 
12149c50caSPhilippe Mathieu-Daudé #include "hw/boards.h"
13a0204a5eSBernhard Beschow #include "hw/i386/pc.h"
1487abaa5dSPhilippe Mathieu-Daudé #include "hw/nvram/fw_cfg.h"
1587abaa5dSPhilippe Mathieu-Daudé 
1689a289c7SPaolo Bonzini #define FW_CFG_IO_BASE     0x510
1789a289c7SPaolo Bonzini 
1887abaa5dSPhilippe Mathieu-Daudé #define FW_CFG_ACPI_TABLES      (FW_CFG_ARCH_LOCAL + 0)
1987abaa5dSPhilippe Mathieu-Daudé #define FW_CFG_SMBIOS_ENTRIES   (FW_CFG_ARCH_LOCAL + 1)
2087abaa5dSPhilippe Mathieu-Daudé #define FW_CFG_IRQ0_OVERRIDE    (FW_CFG_ARCH_LOCAL + 2)
2187abaa5dSPhilippe Mathieu-Daudé #define FW_CFG_HPET             (FW_CFG_ARCH_LOCAL + 4)
2287abaa5dSPhilippe Mathieu-Daudé 
23149c50caSPhilippe Mathieu-Daudé FWCfgState *fw_cfg_arch_create(MachineState *ms,
24149c50caSPhilippe Mathieu-Daudé                                uint16_t boot_cpus,
25149c50caSPhilippe Mathieu-Daudé                                uint16_t apic_id_limit);
26*69ea07a5SIgor Mammedov void fw_cfg_build_smbios(PCMachineState *pcms, FWCfgState *fw_cfg,
27*69ea07a5SIgor Mammedov                          SmbiosEntryPointType ep_type);
28149c50caSPhilippe Mathieu-Daudé void fw_cfg_build_feature_control(MachineState *ms, FWCfgState *fw_cfg);
290575c2fdSGerd Hoffmann void fw_cfg_add_acpi_dsdt(Aml *scope, FWCfgState *fw_cfg);
30149c50caSPhilippe Mathieu-Daudé 
3187abaa5dSPhilippe Mathieu-Daudé #endif
32