|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-users] Debugging DomU
On 21/05/2015 00:48, Chris (Christopher) Brand wrote:
> Hi Julien,
Hi Chris,
Sorry for the late answer.
>> I was asking if the kernel already setup his PT and enable pagination.
>
> No, I don't believe it's gotten that far.
>
>> The important CONFIG_* that should be enable are:
> [snip]
> All of these were enabled except for one:
>> - CONFIG_ARCH_VIRT
>
> I tried enabling that one, and it still ended up in the same state (as far as
> I can tell), but I saw two messages from Xen, too:
> (XEN) traps.c:1757:d1v0 mcr p14, 0, r1, cr0, cr5, 0 @ 0x40e4e1f8
If I'm not mistaken this is DBGDTRTXint register.
> (XEN) traps.c:1759:d1v0 unhandled 32-bit cp14 access 0xa
When a register is not handled by Xen, an undef instruction
will be injected to the guest.
Currently Xen use a dummy implementation of Debug registers
which let the guest think it's not possible to use hardware
debugging.
Although, it looks like we miss some registers when it was
implemented.
AFAICT DBDGDTRTXint register should be handled WI/RAZ. Can
you give a try to the patch below?
============
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 47d6cef..ec56359 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1921,6 +1921,7 @@ static void do_cp14_32(struct cpu_user_regs *regs, const
union hsr hsr)
case HSR_CPREG32(DBGWCR0):
case HSR_CPREG32(DBGBVR1):
case HSR_CPREG32(DBGBCR1):
+ case HSR_CPREG32(DBGDTRTXint): /* Share the same opcode as DBGDTRRXint */
return handle_raz_wi(regs, r, cp32.read, hsr, 1);
/*
diff --git a/xen/include/asm-arm/cpregs.h b/xen/include/asm-arm/cpregs.h
index e5cb00c..80276fc 100644
--- a/xen/include/asm-arm/cpregs.h
+++ b/xen/include/asm-arm/cpregs.h
@@ -82,6 +82,8 @@
#define DBGWCR0 p14,0,c0,c0,7 /* Watchpoint Control 0 */
#define DBGBVR1 p14,0,c0,c1,4 /* Breakpoint Value 1 */
#define DBGBCR1 p14,0,c0,c1,5 /* Breakpoint Control 1 */
+#define DBGDTRTXint p14,0,c0,c5,0 /* Target To Host Data Transfer
Internal */
+#define DBGDTRRXint p14,0,c0,c5,0 /* Host To Target Data Transfer
Internal */
#define DBGOSLAR p14,0,c1,c0,4 /* OS Lock Access */
#define DBGOSLSR p14,0,c1,c1,4 /* OS Lock Status Register */
#define DBGOSDLR p14,0,c1,c3,4 /* OS Double Lock */
===============
Regards,
--
Julien Grall
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |