aboutsummaryrefslogtreecommitdiff
path: root/hw/ppc/spapr.c
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2016-10-20 15:37:41 +1100
committerDavid Gibson <david@gibson.dropbear.id.au>2016-10-28 09:38:26 +1100
commit2cac78c12ade9a87b6251f8d854c2e43a30f41bf (patch)
tree579bc8d10805b03aee3a8660821da395629d9f1a /hw/ppc/spapr.c
parentcf6e522390126bdd20406481f3df79c194a431bd (diff)
downloadqemu-2cac78c12ade9a87b6251f8d854c2e43a30f41bf.zip
qemu-2cac78c12ade9a87b6251f8d854c2e43a30f41bf.tar.gz
qemu-2cac78c12ade9a87b6251f8d854c2e43a30f41bf.tar.bz2
pseries: Consolidate RTAS loading
At each system reset, the pseries machine needs to load RTAS (the runtime portion of the guest firmware) into the VM. This means copying the actual RTAS code into guest memory, and also updating the device tree so that the guest OS and boot firmware can locate it. For historical reasons the copy and update to the device tree were in different parts of the code. This cleanup brings them both together in an spapr_load_rtas() function. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Diffstat (limited to 'hw/ppc/spapr.c')
-rw-r--r--hw/ppc/spapr.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 8e58d86..17733df 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -1165,8 +1165,7 @@ static void ppc_spapr_reset(void)
fdt = spapr_build_fdt(spapr, rtas_addr, spapr->rtas_size);
- /* Copy RTAS over */
- cpu_physical_memory_write(rtas_addr, spapr->rtas_blob, spapr->rtas_size);
+ spapr_load_rtas(spapr, fdt, rtas_addr);
rc = fdt_pack(fdt);