mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.11-20171204' into staging
ppc patch queue 2017-12-04 We are, alas, not yet to the bottom of ppc bugs. This pull request fixes several more. I believe they're important enough to include in 2.11. despite the late date. # gpg: Signature made Mon 04 Dec 2017 03:40:56 GMT # gpg: using RSA key 0x6C38CACA20D9B392 # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" # gpg: aka "David Gibson (Red Hat) <dgibson@redhat.com>" # gpg: aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" # gpg: aka "David Gibson (kernel.org) <dwg@kernel.org>" # Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392 * remotes/dgibson/tags/ppc-for-2.11-20171204: spapr: Include "pre-plugged" DIMMS in ram size calculation at reset target-ppc: Don't invalidate non-supported msr bits pseries: fix TCG migration Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
+5
-2
@@ -1386,7 +1386,10 @@ void spapr_setup_hpt_and_vrma(sPAPRMachineState *spapr)
|
||||
&& !spapr_ovec_test(spapr->ov5_cas, OV5_HPT_RESIZE))) {
|
||||
hpt_shift = spapr_hpt_shift_for_ramsize(MACHINE(spapr)->maxram_size);
|
||||
} else {
|
||||
hpt_shift = spapr_hpt_shift_for_ramsize(MACHINE(spapr)->ram_size);
|
||||
uint64_t current_ram_size;
|
||||
|
||||
current_ram_size = MACHINE(spapr)->ram_size + get_plugged_memory_size();
|
||||
hpt_shift = spapr_hpt_shift_for_ramsize(current_ram_size);
|
||||
}
|
||||
spapr_reallocate_hpt(spapr, hpt_shift, &error_fatal);
|
||||
|
||||
@@ -1570,7 +1573,7 @@ static int spapr_post_load(void *opaque, int version_id)
|
||||
err = spapr_rtc_import_offset(&spapr->rtc, spapr->rtc_offset);
|
||||
}
|
||||
|
||||
if (spapr->patb_entry) {
|
||||
if (kvm_enabled() && spapr->patb_entry) {
|
||||
PowerPCCPU *cpu = POWERPC_CPU(first_cpu);
|
||||
bool radix = !!(spapr->patb_entry & PATBE1_GR);
|
||||
bool gtse = !!(cpu->env.spr[SPR_LPCR] & LPCR_GTSE);
|
||||
|
||||
@@ -300,9 +300,9 @@ static int cpu_post_load(void *opaque, int version_id)
|
||||
ppc_store_sdr1(env, env->spr[SPR_SDR1]);
|
||||
}
|
||||
|
||||
/* Invalidate all msr bits except MSR_TGPR/MSR_HVB before restoring */
|
||||
/* Invalidate all supported msr bits except MSR_TGPR/MSR_HVB before restoring */
|
||||
msr = env->msr;
|
||||
env->msr ^= ~((1ULL << MSR_TGPR) | MSR_HVB);
|
||||
env->msr ^= env->msr_mask & ~((1ULL << MSR_TGPR) | MSR_HVB);
|
||||
ppc_store_msr(env, msr);
|
||||
|
||||
hreg_compute_mem_idx(env);
|
||||
|
||||
Reference in New Issue
Block a user