diff options
author | Alexander Graf <agraf@suse.de> | 2009-11-29 22:02:02 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-12-08 00:02:50 -0500 |
commit | e15a113700324f7fdcee95589875daed2b98a2fe (patch) | |
tree | f2a528fb83219a748c86d0c03efd54c6980165ab /arch/powerpc/include/asm/kvm.h | |
parent | c0cefebc0b6ae1bc4c92672223a54e1ee96ea7f0 (diff) |
powerpc/kvm: Sync guest visible MMU state
Currently userspace has no chance to find out which virtual address space we're
in and resolve addresses. While that is a big problem for migration, it's also
unpleasent when debugging, as gdb and the monitor don't work on virtual
addresses.
This patch exports enough of the MMU segment state to userspace to make
debugging work and thus also includes the groundwork for migration.
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include/asm/kvm.h')
-rw-r--r-- | arch/powerpc/include/asm/kvm.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/kvm.h b/arch/powerpc/include/asm/kvm.h index c9ca97f43bc1..81f3b0b5601e 100644 --- a/arch/powerpc/include/asm/kvm.h +++ b/arch/powerpc/include/asm/kvm.h | |||
@@ -47,7 +47,23 @@ struct kvm_regs { | |||
47 | 47 | ||
48 | struct kvm_sregs { | 48 | struct kvm_sregs { |
49 | __u32 pvr; | 49 | __u32 pvr; |
50 | char pad[1020]; | 50 | union { |
51 | struct { | ||
52 | __u64 sdr1; | ||
53 | struct { | ||
54 | struct { | ||
55 | __u64 slbe; | ||
56 | __u64 slbv; | ||
57 | } slb[64]; | ||
58 | } ppc64; | ||
59 | struct { | ||
60 | __u32 sr[16]; | ||
61 | __u64 ibat[8]; | ||
62 | __u64 dbat[8]; | ||
63 | } ppc32; | ||
64 | } s; | ||
65 | __u8 pad[1020]; | ||
66 | } u; | ||
51 | }; | 67 | }; |
52 | 68 | ||
53 | struct kvm_fpu { | 69 | struct kvm_fpu { |