qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC PATCH v0 13/15] ppc: Make ibm, configure-connector end


From: Bharata B Rao
Subject: [Qemu-devel] [RFC PATCH v0 13/15] ppc: Make ibm, configure-connector endian-safe
Date: Thu, 4 Sep 2014 11:36:23 +0530

Store RTAS data in ibm,configure-connector RTAS call in big endian
format as per sPAPR specifications.

Signed-off-by: Bharata B Rao <address@hidden>
---
 hw/ppc/spapr_pci.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c
index 76463b3..4a384aa 100644
--- a/hw/ppc/spapr_pci.c
+++ b/hw/ppc/spapr_pci.c
@@ -641,7 +641,7 @@ static void rtas_ibm_configure_connector(PowerPCCPU *cpu,
     }
     wa_buf_int = wa_buf;
 
-    drc_index = *(uint32_t *)wa_buf;
+    drc_index = be32_to_cpu(*(uint32_t *)wa_buf);
     drc_entry = spapr_find_drc_entry(drc_index);
     if (!drc_entry) {
         rc = -1;
@@ -671,7 +671,7 @@ retry:
     case FDT_BEGIN_NODE:
         ccs->depth++;
         node_name = fdt_get_name(ccs->fdt, ccs->offset, &node_name_len);
-        wa_buf_int[CC_IDX_NODE_NAME_OFFSET] = CC_VAL_DATA_OFFSET;
+        wa_buf_int[CC_IDX_NODE_NAME_OFFSET] = cpu_to_be32(CC_VAL_DATA_OFFSET);
         strcpy(wa_buf + wa_buf_int[CC_IDX_NODE_NAME_OFFSET], node_name);
         rc = CC_RET_NEXT_CHILD;
         break;
@@ -688,10 +688,10 @@ retry:
     case FDT_PROP:
         prop = fdt_get_property_by_offset(ccs->fdt, ccs->offset, &prop_len);
         prop_name = fdt_string(ccs->fdt, fdt32_to_cpu(prop->nameoff));
-        wa_buf_int[CC_IDX_PROP_NAME_OFFSET] = CC_VAL_DATA_OFFSET;
-        wa_buf_int[CC_IDX_PROP_LEN] = prop_len;
+        wa_buf_int[CC_IDX_PROP_NAME_OFFSET] = cpu_to_be32(CC_VAL_DATA_OFFSET);
+        wa_buf_int[CC_IDX_PROP_LEN] = cpu_to_be32(prop_len);
         wa_buf_int[CC_IDX_PROP_DATA_OFFSET] =
-            CC_VAL_DATA_OFFSET + strlen(prop_name) + 1;
+            cpu_to_be32(CC_VAL_DATA_OFFSET + strlen(prop_name) + 1);
         strcpy(wa_buf + wa_buf_int[CC_IDX_PROP_NAME_OFFSET], prop_name);
         memcpy(wa_buf + wa_buf_int[CC_IDX_PROP_DATA_OFFSET],
                prop->data, prop_len);
-- 
1.7.11.7




reply via email to

[Prev in Thread] Current Thread [Next in Thread]