Message ID | 70a13eeab01913de030d9848aaea04a6acea37b4.1467783317.git.sam.bobroff@au1.ibm.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
On Wed, Jul 06, 2016 at 03:35:21PM +1000, Sam Bobroff wrote: > There are a few issues with our handling of the ibm,pa-features > HTM bit: > > - We don't support transactional memory in PR KVM, so don't tell > the OS that we do. > > - In full emulation we have a minimal implementation of HTM that always > fails, so for performance reasons lets not tell the OS that we > support it either. > > - In HV KVM mode, we should mirror the host HTM enabled state by > checking a KVM capability or looking at the AT_HWCAP2 bit. > > For now unconditionally disable it by removing HTM from the > pa-features bits. It will be re-enabled in a subsequent patch > specifically for HV KVM. > > Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> But I won't merge it until the rest of the series is ready to go. > --- > hw/ppc/spapr.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c > index 78ebd9e..704aae7 100644 > --- a/hw/ppc/spapr.c > +++ b/hw/ppc/spapr.c > @@ -635,7 +635,7 @@ static void spapr_populate_cpu_dt(CPUState *cs, void *fdt, int offset, > 0xf6, 0x1f, 0xc7, 0xc0, 0x80, 0xf0, > 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, > 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, > - 0x80, 0x00, 0x80, 0x00, 0x80, 0x00 }; > + 0x80, 0x00, 0x80, 0x00, 0x00, 0x00 }; > uint8_t *pa_features; > size_t pa_size; >
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 78ebd9e..704aae7 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -635,7 +635,7 @@ static void spapr_populate_cpu_dt(CPUState *cs, void *fdt, int offset, 0xf6, 0x1f, 0xc7, 0xc0, 0x80, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, - 0x80, 0x00, 0x80, 0x00, 0x80, 0x00 }; + 0x80, 0x00, 0x80, 0x00, 0x00, 0x00 }; uint8_t *pa_features; size_t pa_size;
There are a few issues with our handling of the ibm,pa-features HTM bit: - We don't support transactional memory in PR KVM, so don't tell the OS that we do. - In full emulation we have a minimal implementation of HTM that always fails, so for performance reasons lets not tell the OS that we support it either. - In HV KVM mode, we should mirror the host HTM enabled state by checking a KVM capability or looking at the AT_HWCAP2 bit. For now unconditionally disable it by removing HTM from the pa-features bits. It will be re-enabled in a subsequent patch specifically for HV KVM. Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com> --- hw/ppc/spapr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)