mirror of https://github.com/xemu-project/xemu.git
hw/i386: remove smram_update
It's easier to inline it now that most of its work is done by the CPU (rather than the chipset) through /machine/smram and the memory API. Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
f809c60512
commit
3de70c0899
|
@ -31,12 +31,6 @@
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
#include "hw/pci-host/pam.h"
|
#include "hw/pci-host/pam.h"
|
||||||
|
|
||||||
void smram_update(MemoryRegion *smram_region, uint8_t smram)
|
|
||||||
{
|
|
||||||
bool smram_enabled = (smram & SMRAM_D_OPEN);
|
|
||||||
memory_region_set_enabled(smram_region, !smram_enabled);
|
|
||||||
}
|
|
||||||
|
|
||||||
void init_pam(DeviceState *dev, MemoryRegion *ram_memory,
|
void init_pam(DeviceState *dev, MemoryRegion *ram_memory,
|
||||||
MemoryRegion *system_memory, MemoryRegion *pci_address_space,
|
MemoryRegion *system_memory, MemoryRegion *pci_address_space,
|
||||||
PAMMemoryRegion *mem, uint32_t start, uint32_t size)
|
PAMMemoryRegion *mem, uint32_t start, uint32_t size)
|
||||||
|
|
|
@ -138,7 +138,8 @@ static void i440fx_update_memory_mappings(PCII440FXState *d)
|
||||||
pam_update(&d->pam_regions[i], i,
|
pam_update(&d->pam_regions[i], i,
|
||||||
pd->config[I440FX_PAM + ((i + 1) / 2)]);
|
pd->config[I440FX_PAM + ((i + 1) / 2)]);
|
||||||
}
|
}
|
||||||
smram_update(&d->smram_region, pd->config[I440FX_SMRAM]);
|
memory_region_set_enabled(&d->smram_region,
|
||||||
|
!(pd->config[I440FX_SMRAM] & SMRAM_D_OPEN));
|
||||||
memory_region_set_enabled(&d->smram,
|
memory_region_set_enabled(&d->smram,
|
||||||
pd->config[I440FX_SMRAM] & SMRAM_G_SMRAME);
|
pd->config[I440FX_SMRAM] & SMRAM_G_SMRAME);
|
||||||
memory_region_transaction_commit();
|
memory_region_transaction_commit();
|
||||||
|
|
|
@ -268,7 +268,8 @@ static void mch_update_smram(MCHPCIState *mch)
|
||||||
PCIDevice *pd = PCI_DEVICE(mch);
|
PCIDevice *pd = PCI_DEVICE(mch);
|
||||||
|
|
||||||
memory_region_transaction_begin();
|
memory_region_transaction_begin();
|
||||||
smram_update(&mch->smram_region, pd->config[MCH_HOST_BRIDGE_SMRAM]);
|
memory_region_set_enabled(&mch->smram_region,
|
||||||
|
!(pd->config[MCH_HOST_BRIDGE_SMRAM] & SMRAM_D_OPEN));
|
||||||
memory_region_set_enabled(&mch->smram,
|
memory_region_set_enabled(&mch->smram,
|
||||||
pd->config[MCH_HOST_BRIDGE_SMRAM] & SMRAM_G_SMRAME);
|
pd->config[MCH_HOST_BRIDGE_SMRAM] & SMRAM_G_SMRAME);
|
||||||
memory_region_transaction_commit();
|
memory_region_transaction_commit();
|
||||||
|
|
|
@ -86,7 +86,6 @@ typedef struct PAMMemoryRegion {
|
||||||
unsigned current;
|
unsigned current;
|
||||||
} PAMMemoryRegion;
|
} PAMMemoryRegion;
|
||||||
|
|
||||||
void smram_update(MemoryRegion *smram_region, uint8_t smram);
|
|
||||||
void init_pam(DeviceState *dev, MemoryRegion *ram, MemoryRegion *system,
|
void init_pam(DeviceState *dev, MemoryRegion *ram, MemoryRegion *system,
|
||||||
MemoryRegion *pci, PAMMemoryRegion *mem, uint32_t start, uint32_t size);
|
MemoryRegion *pci, PAMMemoryRegion *mem, uint32_t start, uint32_t size);
|
||||||
void pam_update(PAMMemoryRegion *mem, int idx, uint8_t val);
|
void pam_update(PAMMemoryRegion *mem, int idx, uint8_t val);
|
||||||
|
|
Loading…
Reference in New Issue