qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: peter.maydell@linaro.org
Cc: lvivier@redhat.com, thuth@redhat.com,
	mark.cave-ayland@ilande.co.uk, agraf@suse.de,
	qemu-devel@nongnu.org, qemu-ppc@nongnu.org,
	bharata@linux.vnet.ibm.com,
	David Gibson <david@gibson.dropbear.id.au>,
	gkurz@linux.vnet.ibm.com
Subject: [Qemu-devel] [PULL 09/28] spapr: Remove abuse of rtas_ld() in h_client_architecture_support
Date: Mon, 25 Jan 2016 12:15:08 +1100	[thread overview]
Message-ID: <1453684527-23564-10-git-send-email-david@gibson.dropbear.id.au> (raw)
In-Reply-To: <1453684527-23564-1-git-send-email-david@gibson.dropbear.id.au>

h_client_architecture_support() uses rtas_ld() for general purpose memory
access, despite the fact that it's not an RTAS routine at all and rtas_ld
makes things more awkward.

Clean this up by replacing rtas_ld() calls with appropriate ldXX_phys()
calls.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
---
 hw/ppc/spapr_hcall.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c
index cebceea..9dbdba9 100644
--- a/hw/ppc/spapr_hcall.c
+++ b/hw/ppc/spapr_hcall.c
@@ -861,7 +861,8 @@ static target_ulong h_client_architecture_support(PowerPCCPU *cpu_,
                                                   target_ulong opcode,
                                                   target_ulong *args)
 {
-    target_ulong list = args[0], ov_table;
+    target_ulong list = ppc64_phys_to_real(args[0]);
+    target_ulong ov_table, ov5;
     PowerPCCPUClass *pcc_ = POWERPC_CPU_GET_CLASS(cpu_);
     CPUState *cs;
     bool cpu_match = false, cpu_update = true, memory_update = false;
@@ -875,9 +876,9 @@ static target_ulong h_client_architecture_support(PowerPCCPU *cpu_,
     for (counter = 0; counter < 512; ++counter) {
         uint32_t pvr, pvr_mask;
 
-        pvr_mask = rtas_ld(list, 0);
+        pvr_mask = ldl_be_phys(&address_space_memory, list);
         list += 4;
-        pvr = rtas_ld(list, 0);
+        pvr = ldl_be_phys(&address_space_memory, list);
         list += 4;
 
         trace_spapr_cas_pvr_try(pvr);
@@ -948,14 +949,13 @@ static target_ulong h_client_architecture_support(PowerPCCPU *cpu_,
     /* For the future use: here @ov_table points to the first option vector */
     ov_table = list;
 
-    list = cas_get_option_vector(5, ov_table);
-    if (!list) {
+    ov5 = cas_get_option_vector(5, ov_table);
+    if (!ov5) {
         return H_SUCCESS;
     }
 
     /* @list now points to OV 5 */
-    list += 2;
-    ov5_byte2 = rtas_ld(list, 0) >> 24;
+    ov5_byte2 = ldub_phys(&address_space_memory, ov5 + 2);
     if (ov5_byte2 & OV5_DRCONF_MEMORY) {
         memory_update = true;
     }
-- 
2.5.0

  parent reply	other threads:[~2016-01-25  1:14 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-25  1:14 [Qemu-devel] [PULL 00/28] ppc-for-2.6 queue 20160125 David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 01/28] target-ppc: Use sensible POWER8/POWER8E versions David Gibson
2016-01-25 19:14   ` Alexander Graf
2016-01-25 19:26     ` Thomas Huth
2016-01-25 20:20       ` Alexander Graf
2016-01-29  6:15       ` [Qemu-devel] [Qemu-ppc] " Stewart Smith
2016-01-25  1:15 ` [Qemu-devel] [PULL 02/28] target-ppc: use cpu_write_xer() helper in cpu_post_load David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 03/28] macio: use the existing IDEDMA aiocb to hold the active DMA aiocb David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 04/28] macio: add dma_active to VMStateDescription David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 05/28] mac_dbdma: add DBDMA controller state " David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 06/28] cuda: add missing fields " David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 07/28] spapr: Small fixes to rtas_ibm_get_system_parameter, remove rtas_st_buffer David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 08/28] spapr: Remove rtas_st_buffer_direct() David Gibson
2016-01-25  1:15 ` David Gibson [this message]
2016-01-25  1:15 ` [Qemu-devel] [PULL 10/28] spapr: Don't create ibm, dynamic-reconfiguration-memory w/o DR LMBs David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 11/28] ppc: Clean up error handling in ppc_set_compat() David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 12/28] pseries: Clean up error handling of spapr_cpu_init() David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 13/28] pseries: Clean up error handling in spapr_validate_node_memory() David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 14/28] pseries: Clean up error handling in spapr_vga_init() David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 15/28] pseries: Clean up error handling in spapr_rtas_register() David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 16/28] pseries: Clean up error handling in xics_system_init() David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 17/28] pseries: Clean up error reporting in ppc_spapr_init() David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 18/28] pseries: Clean up error reporting in htab migration functions David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 19/28] target-ppc: kvm: fix floating point registers sync on little-endian hosts David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 20/28] target-ppc: rename and export maybe_bswap_register() David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 21/28] target-ppc: gdbstub: fix float registers for little-endian guests David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 22/28] target-ppc: gdbstub: introduce avr_need_swap() David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 23/28] target-ppc: gdbstub: fix altivec registers for little-endian guests David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 24/28] target-ppc: gdbstub: fix spe " David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 25/28] target-ppc: gdbstub: Add VSX support David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 26/28] pseries: Allow TCG h_enter to work with hotplugged memory David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 27/28] cuda.c: return error for unknown commands David Gibson
2016-01-25  1:15 ` [Qemu-devel] [PULL 28/28] uninorth.c: add support for UniNorth kMacRISCPCIAddressSelect (0x48) register David Gibson
2016-01-25 10:42 ` [Qemu-devel] [PULL 00/28] ppc-for-2.6 queue 20160125 Peter Maydell
2016-01-25 11:19   ` David Gibson
2016-01-25 11:59     ` Peter Maydell
2016-01-25 14:00       ` David Gibson
2016-01-25 14:38         ` Peter Maydell
2016-01-26  5:37           ` David Gibson
2016-01-26  7:08             ` Alexander Graf
2016-01-26 10:56               ` Gerd Hoffmann
2016-01-27  3:01                 ` David Gibson
2016-01-27 13:36                   ` Gerd Hoffmann
2016-01-27 13:49                     ` Laurent Vivier
2016-01-26  9:13             ` Peter Maydell
2016-01-29  3:31               ` David Gibson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1453684527-23564-10-git-send-email-david@gibson.dropbear.id.au \
    --to=david@gibson.dropbear.id.au \
    --cc=agraf@suse.de \
    --cc=bharata@linux.vnet.ibm.com \
    --cc=gkurz@linux.vnet.ibm.com \
    --cc=lvivier@redhat.com \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).