From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Guthro Subject: [PATCH][kdb] Implement dbg_rw_hvm_mem Date: Tue, 03 Jun 2008 15:28:05 -0400 Message-ID: <48459B45.2030609@virtualiron.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------030106010208000203090900" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: mukesh.rathor@oracle.com Cc: xen-devel List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------030106010208000203090900 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 --------------030106010208000203090900 Content-Type: text/plain; name="xen-kdb-fixes.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="xen-kdb-fixes.patch" diff -r 7e82d2b0a20d xen/arch/x86/debug.c --- a/xen/arch/x86/debug.c +++ b/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 */ /* diff -r 7e82d2b0a20d xen/kdb/kdb_cmds.c --- a/xen/kdb/kdb_cmds.c +++ b/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(""); --------------030106010208000203090900 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------030106010208000203090900--