Skip to contentSkip to conversation

Implement dbg_rw_hvm_mem

PATCH In review Ben Guthro 2 participants 2 messages Jun 3, 2008 – Jun 5, 2008

lore
Share & tools
lore

Ben Guthro

author
#0 lore raw

PATCH 1/1 Implement dbg_rw_hvm_mem

The following patch does 2 things:
- Correct a bug confusing XEN_SUBVERSION with XEN_VERSION - preventing kdb working on xen 3.2
- Implement dbg_rw_hvm_mem for Xen 3.X hypervisors

xen/arch/x86/debug.c +6 -3
diff -r 7e82d2b0a20d xen/arch/x86/debug.c
@@ -34,12 +34,15 @@
 typedef unsigned char dbgbyte_t;
 
 
-#if XEN_SUBVERSION >= 3             /* xen 3.x.x */
+#if XEN_VERSION >= 3             /* xen 3.x.x */
 static noinline int
 dbg_rw_hvm_mem(dbgva_t addr, dbgbyte_t *buf, int len, struct domain *dp,
                int toaddr)
 {
-	return len;
+        if ( toaddr ) 
+                return hvm_copy_to_guest_virt(addr, buf, len) == HVMCOPY_okay;
+        else 
+                return hvm_copy_from_guest_virt(buf, addr, len) == HVMCOPY_okay;         
 }
 
 #else
@@ -82,7 +85,7 @@
     	return len;
 }
 
-#endif /* XEN_SUBVERSION >= 3 */
+#endif /* XEN_VERSION >= 3 */
 
 
 /*
xen/kdb/kdb_cmds.c +2 -2
diff -r 7e82d2b0a20d xen/kdb/kdb_cmds.c
@@ -658,7 +658,7 @@
 	return KDB_CPU_MAIN_KDB;
 }
 
-#if XEN_SUBVERSION >= 3             /* xen 3.x.x */
+#if XEN_VERSION >= 3             /* xen 3.x.x */
 struct  Xgt_desc_struct {
         unsigned short size;
         unsigned long address __attribute__((packed));
@@ -1496,7 +1496,7 @@
 kdb_cpu_cmd_t
 kdb_cmdf_reboot(int argc, const char **argv, struct cpu_user_regs *regs)
 {
-#if XEN_SUBVERSION >= 3             /* xen 3.x.x */
+#if XEN_VERSION >= 3             /* xen 3.x.x */
 	machine_restart();
 #else
 	machine_restart("");

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel

#1 lore raw
Quoted 3 lines · Ben Guthro

The following patch does 2 things:
- Correct a bug confusing XEN_SUBVERSION with XEN_VERSION - preventing kdb working on xen 3.2

Actually, there's no confusion. The api's are different in 3.1.x and 3.3. Looks like 3.2 is same as 3.3. I'm downloading 3.2 and will change appropriately.

Quoted 1 line

- Implement dbg_rw_hvm_mem for Xen 3.X hypervisors

ok, thanks.

BTW, you must refresh your kdb with a BUG fix i made in kdbmain.c/kdbmain() regarding disabling irqs in ss mode.

Thanks
Mukesh