f375e62
From a89b91d1d8a0bf914c44deaca4f743de6971bdc7 Mon Sep 17 00:00:00 2001
f375e62
From: Alexander Graf <agraf@suse.de>
f375e62
Date: Wed, 19 Sep 2012 17:24:46 +0200
f375e62
Subject: [PATCH] s390x: fix -initrd in virtio machine
f375e62
f375e62
When using -initrd in the virtio machine, we need to indicate the initrd
f375e62
start and size inside the kernel image. These parameters need to be stored
f375e62
in native endianness.
f375e62
f375e62
Signed-off-by: Alexander Graf <agraf@suse.de>
f375e62
Acked-by: Richard Henderson <rth@twiddle.net>
f375e62
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
f375e62
(cherry picked from commit 235a3f0bed3584fe65079ffa07c7a842971f261e)
f375e62
f375e62
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
f375e62
---
f375e62
 hw/s390-virtio.c | 4 ++--
f375e62
 1 file changed, 2 insertions(+), 2 deletions(-)
f375e62
f375e62
diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
f375e62
index 47eed35..12ae612 100644
f375e62
--- a/hw/s390-virtio.c
f375e62
+++ b/hw/s390-virtio.c
f375e62
@@ -284,8 +284,8 @@ static void s390_init(ram_addr_t my_ram_size,
f375e62
         }
f375e62
 
f375e62
         /* we have to overwrite values in the kernel image, which are "rom" */
f375e62
-        memcpy(rom_ptr(INITRD_PARM_START), &initrd_offset, 8);
f375e62
-        memcpy(rom_ptr(INITRD_PARM_SIZE), &initrd_size, 8);
f375e62
+        stq_p(rom_ptr(INITRD_PARM_START), initrd_offset);
f375e62
+        stq_p(rom_ptr(INITRD_PARM_SIZE), initrd_size);
f375e62
     }
f375e62
 
f375e62
     if (rom_ptr(KERN_PARM_AREA)) {