q35:Enable TSEG only when G_SMRAME and TSEG_EN both enabled
According to spec: "TSEG Enable (T_EN): Enabling of SMRAM memory for Extended SMRAM space only. When G_SMRAME = 1 and TSEG_EN = 1, the TSEG is enabled to appear in the appropriate physical address space. Note that once D_LCK is set, this bit becomes read only." Changed to match the spec description. Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Message-Id: <20220615034501.2733802-1-zhenzhong.duan@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
aa4f3a3b88
commit
766a981474
@ -379,7 +379,8 @@ static void mch_update_smram(MCHPCIState *mch)
|
||||
memory_region_set_enabled(&mch->high_smram, false);
|
||||
}
|
||||
|
||||
if (pd->config[MCH_HOST_BRIDGE_ESMRAMC] & MCH_HOST_BRIDGE_ESMRAMC_T_EN) {
|
||||
if ((pd->config[MCH_HOST_BRIDGE_ESMRAMC] & MCH_HOST_BRIDGE_ESMRAMC_T_EN) &&
|
||||
(pd->config[MCH_HOST_BRIDGE_SMRAM] & SMRAM_G_SMRAME)) {
|
||||
switch (pd->config[MCH_HOST_BRIDGE_ESMRAMC] &
|
||||
MCH_HOST_BRIDGE_ESMRAMC_TSEG_SZ_MASK) {
|
||||
case MCH_HOST_BRIDGE_ESMRAMC_TSEG_SZ_1MB:
|
||||
|
Loading…
Reference in New Issue
Block a user