Re: [PATCH 2 of 2] [PATCH] kvm-userspace: ppc: Fix for guest load address

2008-11-14 Thread Hollis Blanchard
On Fri, 2008-11-14 at 11:36 -0600, Deepa Srinivasan wrote:
> # HG changeset patch
> # User Deepa Srinivasan <[EMAIL PROTECTED]>
> # Date 1226682073 21600
> # Node ID c7f077a848cb4e80704450397f2f9bb300b9ee20
> # Parent  d175d293f2bff5bf882ef45286c973c094cfed1e
> [PATCH] kvm-userspace: ppc: Fix for guest load address
> 
> From: Deepa Srinivasan <[EMAIL PROTECTED]>
> 
> Fix to ensure that guest test code is loaded at 1 MB.

Looks good; thanks.

-- 
Hollis Blanchard
IBM Linux Technology Center

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2 of 2] [PATCH] kvm-userspace: ppc: Fix for guest load address

2008-11-14 Thread Deepa Srinivasan
# HG changeset patch
# User Deepa Srinivasan <[EMAIL PROTECTED]>
# Date 1226682073 21600
# Node ID c7f077a848cb4e80704450397f2f9bb300b9ee20
# Parent  d175d293f2bff5bf882ef45286c973c094cfed1e
[PATCH] kvm-userspace: ppc: Fix for guest load address

From: Deepa Srinivasan <[EMAIL PROTECTED]>

Fix to ensure that guest test code is loaded at 1 MB.

Signed-off-by: Deepa Srinivasan <[EMAIL PROTECTED]>
---

[diffstat]
 main-ppc.c |   11 +--
 1 file changed, 9 insertions(+), 2 deletions(-)

[diff]

diff -r d175d293f2bf -r c7f077a848cb user/main-ppc.c
--- a/user/main-ppc.c   Fri Nov 14 10:54:11 2008 -0600
+++ b/user/main-ppc.c   Fri Nov 14 11:01:13 2008 -0600
@@ -62,6 +62,9 @@ struct vcpu_info {
 };
 
 struct vcpu_info *vcpus;
+
+/* Load the guest binary at 1 MB since the flat.lds linker script sets the 
base address to this value. */
+#define VM_TEST_LOAD_ADDRESS0x10
 
 static int test_debug(void *opaque, int vcpu)
 {
@@ -241,9 +244,13 @@ static void *do_create_vcpu(void *_n)
 static void *do_create_vcpu(void *_n)
 {
int n = (long)_n;
+   struct kvm_regs regs;
 
kvm_create_vcpu(kvm, n);
init_vcpu(n);
+   kvm_get_regs(kvm, n, ®s);
+   regs.pc = VM_TEST_LOAD_ADDRESS;
+   kvm_set_regs(kvm, n, ®s);
kvm_run(kvm, n);
sem_post(&exited_sem);
return NULL;
@@ -364,8 +371,8 @@ int main(int argc, char **argv)
 
vm_mem = kvm_create_phys_mem(kvm, 0, memory_size, 0, 1);
 
-   len = load_file(vm_mem, argv[optind], 1);
-   sync_caches(vm_mem, len);
+   len = load_file(vm_mem + VM_TEST_LOAD_ADDRESS, argv[optind], 1);
+   sync_caches(vm_mem + VM_TEST_LOAD_ADDRESS, len);
 
io_table_register(&mmio_table, 0xf000, 64, mmio_handler, NULL);
 
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html