Make it more clear what the bit means, and the new function will be called from yet another place in the future.
Reviewed-by: Christian Borntraeger <[email protected]> Reviewed-by: Matthew Rosato <[email protected]> Signed-off-by: Konstantin Shkolnyy <[email protected]> --- hw/s390x/s390-pci-inst.c | 7 ++++++- include/hw/s390x/s390-pci-bus.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/s390x/s390-pci-inst.c b/hw/s390x/s390-pci-inst.c index 37ca70dcf1..00a847f493 100644 --- a/hw/s390x/s390-pci-inst.c +++ b/hw/s390x/s390-pci-inst.c @@ -1021,6 +1021,11 @@ int pci_dereg_irqs(S390PCIBusDevice *pbdev) return 0; } +bool s390_pci_is_translation_enabled(uint64_t g_iota) +{ + return ((g_iota >> 11) & 0x1) != 0; /* "T" bit */ +} + static int reg_ioat(CPUS390XState *env, S390PCIBusDevice *pbdev, ZpciFib fib, uintptr_t ra) { @@ -1029,7 +1034,7 @@ static int reg_ioat(CPUS390XState *env, S390PCIBusDevice *pbdev, ZpciFib fib, uint64_t pal = ldq_be_p(&fib.pal); uint64_t g_iota = ldq_be_p(&fib.iota); uint8_t dt = (g_iota >> 2) & 0x7; - uint8_t t = (g_iota >> 11) & 0x1; + bool t = s390_pci_is_translation_enabled(g_iota); pba &= ~0xfff; pal |= 0xfff; diff --git a/include/hw/s390x/s390-pci-bus.h b/include/hw/s390x/s390-pci-bus.h index 9228523ce8..eb15cb8b2d 100644 --- a/include/hw/s390x/s390-pci-bus.h +++ b/include/hw/s390x/s390-pci-bus.h @@ -390,6 +390,7 @@ int pci_chsc_sei_nt2_get_event(void *res); int pci_chsc_sei_nt2_have_event(void); void s390_pci_sclp_configure(SCCB *sccb); void s390_pci_sclp_deconfigure(SCCB *sccb); +bool s390_pci_is_translation_enabled(uint64_t g_iota); void s390_pci_iommu_enable(S390PCIIOMMU *iommu); void s390_pci_iommu_direct_map_enable(S390PCIIOMMU *iommu); void s390_pci_iommu_disable(S390PCIIOMMU *iommu); -- 2.34.1
