mirror of https://github.com/xemu-project/xemu.git
q35: add config space wmask for SMRAM and ESMRAMC
Not all bits in SMRAM and ESMRAMC can be changed by the guest. Add wmask defines accordingly and set them in mch_reset(). Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
7744752402
commit
b66a67d751
|
@ -355,6 +355,8 @@ static void mch_reset(DeviceState *qdev)
|
||||||
|
|
||||||
d->config[MCH_HOST_BRIDGE_SMRAM] = MCH_HOST_BRIDGE_SMRAM_DEFAULT;
|
d->config[MCH_HOST_BRIDGE_SMRAM] = MCH_HOST_BRIDGE_SMRAM_DEFAULT;
|
||||||
d->config[MCH_HOST_BRIDGE_ESMRAMC] = MCH_HOST_BRIDGE_ESMRAMC_DEFAULT;
|
d->config[MCH_HOST_BRIDGE_ESMRAMC] = MCH_HOST_BRIDGE_ESMRAMC_DEFAULT;
|
||||||
|
d->wmask[MCH_HOST_BRIDGE_SMRAM] = MCH_HOST_BRIDGE_SMRAM_WMASK;
|
||||||
|
d->wmask[MCH_HOST_BRIDGE_ESMRAMC] = MCH_HOST_BRIDGE_ESMRAMC_WMASK;
|
||||||
|
|
||||||
mch_update(mch);
|
mch_update(mch);
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,6 +140,11 @@ typedef struct Q35PCIHost {
|
||||||
#define MCH_HOST_BRIDGE_UPPER_SYSTEM_BIOS_END 0x100000
|
#define MCH_HOST_BRIDGE_UPPER_SYSTEM_BIOS_END 0x100000
|
||||||
#define MCH_HOST_BRIDGE_SMRAM_DEFAULT \
|
#define MCH_HOST_BRIDGE_SMRAM_DEFAULT \
|
||||||
MCH_HOST_BRIDGE_SMRAM_C_BASE_SEG
|
MCH_HOST_BRIDGE_SMRAM_C_BASE_SEG
|
||||||
|
#define MCH_HOST_BRIDGE_SMRAM_WMASK \
|
||||||
|
(MCH_HOST_BRIDGE_SMRAM_D_OPEN | \
|
||||||
|
MCH_HOST_BRIDGE_SMRAM_D_CLS | \
|
||||||
|
MCH_HOST_BRIDGE_SMRAM_D_LCK | \
|
||||||
|
MCH_HOST_BRIDGE_SMRAM_G_SMRAME)
|
||||||
|
|
||||||
#define MCH_HOST_BRIDGE_ESMRAMC 0x9e
|
#define MCH_HOST_BRIDGE_ESMRAMC 0x9e
|
||||||
#define MCH_HOST_BRIDGE_ESMRAMC_H_SMRAME ((uint8_t)(1 << 7))
|
#define MCH_HOST_BRIDGE_ESMRAMC_H_SMRAME ((uint8_t)(1 << 7))
|
||||||
|
@ -156,6 +161,10 @@ typedef struct Q35PCIHost {
|
||||||
(MCH_HOST_BRIDGE_ESMRAMC_SM_CACHE | \
|
(MCH_HOST_BRIDGE_ESMRAMC_SM_CACHE | \
|
||||||
MCH_HOST_BRIDGE_ESMRAMC_SM_L1 | \
|
MCH_HOST_BRIDGE_ESMRAMC_SM_L1 | \
|
||||||
MCH_HOST_BRIDGE_ESMRAMC_SM_L2)
|
MCH_HOST_BRIDGE_ESMRAMC_SM_L2)
|
||||||
|
#define MCH_HOST_BRIDGE_ESMRAMC_WMASK \
|
||||||
|
(MCH_HOST_BRIDGE_ESMRAMC_H_SMRAME | \
|
||||||
|
MCH_HOST_BRIDGE_ESMRAMC_TSEG_SZ_MASK | \
|
||||||
|
MCH_HOST_BRIDGE_ESMRAMC_T_EN)
|
||||||
|
|
||||||
/* D1:F0 PCIE* port*/
|
/* D1:F0 PCIE* port*/
|
||||||
#define MCH_PCIE_DEV 1
|
#define MCH_PCIE_DEV 1
|
||||||
|
|
Loading…
Reference in New Issue