diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2014-01-28 13:29:59 +0530 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2014-03-05 03:06:47 +0100 |
commit | 5736245c80bb277f3de7f37d9482c906743612ad (patch) | |
tree | 76e8964a9ddc17f4f98d10dacfe6af8d28b79f80 /hw/ppc | |
parent | 3b66da82cebf3ddd1c2e06233c647369f617a6bc (diff) |
target-ppc: Update external_htab even when HTAB is managed by kernel
We will use this in later patches to make sure we use the right load
functions when copying hpte entries.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'hw/ppc')
-rw-r--r-- | hw/ppc/spapr.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index c9dfc6cb8c..0989ed6272 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -741,6 +741,13 @@ static void spapr_cpu_reset(void *opaque) env->spr[SPR_HIOR] = 0; env->external_htab = (uint8_t *)spapr->htab; + if (kvm_enabled() && !env->external_htab) { + /* + * HV KVM, set external_htab to 1 so our ppc_hash64_load_hpte* + * functions do the right thing. + */ + env->external_htab = (void *)1; + } env->htab_base = -1; env->htab_mask = HTAB_SIZE(spapr) - 1; env->spr[SPR_SDR1] = (target_ulong)(uintptr_t)spapr->htab | |