Thread (6 messages) 6 messages, 2 authors, 2009-11-26

Re: [PATCH] PPC: Sync guest visible MMU state

From: Alexander Graf <hidden>
Date: 2009-11-26 12:46:58
Also in: kvm

Avi Kivity wrote:
On 11/26/2009 01:16 PM, Alexander Graf wrote:
quoted
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.


  struct kvm_sregs {
-    __u32 pvr;
-    char pad[1020];
+    union {
+        struct {
+            __u32 pvr;
+            __u64 sdr1;
+            struct {
+                struct {
+                    __u64 slbe;
+                    __u64 slbv;
+                } slb[64];
+            } ppc64;
+            struct {
+                __u32 sr[16];
+                __u64 ibat[8];
+                __u64 dbat[8];
+            } ppc32;
+        };
+        __u8 pad[1024];
+    };
  };
   
Please avoid unnamed unions in user-visible headers - they're a gcc
extension.

Yes, we have them elsewhere, but let's not add to the pile.
I'm open to scalable suggestions that don't break existing userspace code.
If I name the union now, existing qemu code will break. If I align the
pad array manually I'll definitely mess up something.

Alex
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help