mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
hw/isa/lpc_ich9: Connect PM stuff to LPC internally
Make TYPE_ICH9_LPC_DEVICE more self-contained by moving the call to ich9_lpc_pm_init() from board code to its realize function. In order to propagate x86_machine_is_smm_enabled(), introduce an "smm-enabled" property like we have in piix4. Signed-off-by: Bernhard Beschow <shentey@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230213173033.98762-8-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
ecf403cbb8
commit
20fe3af24f
5 changed files with 11 additions and 18 deletions
|
@ -407,14 +407,13 @@ static void smi_features_ok_callback(void *opaque)
|
|||
lpc->smi_features_ok = 1;
|
||||
}
|
||||
|
||||
void ich9_lpc_pm_init(PCIDevice *lpc_pci, bool smm_enabled)
|
||||
static void ich9_lpc_pm_init(ICH9LPCState *lpc)
|
||||
{
|
||||
ICH9LPCState *lpc = ICH9_LPC_DEVICE(lpc_pci);
|
||||
qemu_irq sci_irq;
|
||||
FWCfgState *fw_cfg = fw_cfg_find();
|
||||
|
||||
sci_irq = qemu_allocate_irq(ich9_set_sci, lpc, 0);
|
||||
ich9_pm_init(lpc_pci, &lpc->pm, smm_enabled, sci_irq);
|
||||
ich9_pm_init(PCI_DEVICE(lpc), &lpc->pm, sci_irq);
|
||||
|
||||
if (lpc->smi_host_features && fw_cfg) {
|
||||
uint64_t host_features_le;
|
||||
|
@ -731,6 +730,8 @@ static void ich9_lpc_realize(PCIDevice *d, Error **errp)
|
|||
pci_bus_irqs(pci_bus, ich9_lpc_set_irq, d, ICH9_LPC_NB_PIRQS);
|
||||
pci_bus_map_irqs(pci_bus, ich9_lpc_map_irq);
|
||||
pci_bus_set_route_irq_fn(pci_bus, ich9_route_intx_pin_to_irq);
|
||||
|
||||
ich9_lpc_pm_init(lpc);
|
||||
}
|
||||
|
||||
static bool ich9_rst_cnt_needed(void *opaque)
|
||||
|
@ -797,6 +798,7 @@ static const VMStateDescription vmstate_ich9_lpc = {
|
|||
static Property ich9_lpc_properties[] = {
|
||||
DEFINE_PROP_BOOL("noreboot", ICH9LPCState, pin_strap.spkr_hi, false),
|
||||
DEFINE_PROP_BOOL("smm-compat", ICH9LPCState, pm.smm_compat, false),
|
||||
DEFINE_PROP_BOOL("smm-enabled", ICH9LPCState, pm.smm_enabled, false),
|
||||
DEFINE_PROP_BIT64("x-smi-broadcast", ICH9LPCState, smi_host_features,
|
||||
ICH9_LPC_SMI_F_BROADCAST_BIT, true),
|
||||
DEFINE_PROP_BIT64("x-smi-cpu-hotplug", ICH9LPCState, smi_host_features,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue