Re: [Qemu-devel] [PATCH v1 1/2] target/arm: kvm64 make guest debug AA32 break point aware

2018-12-14 Thread Ard Biesheuvel
On Fri, 14 Dec 2018 at 17:26, Alex Bennée wrote: > > > Richard Henderson writes: > > > On 12/13/18 8:55 AM, Alex Bennée wrote: > >> > >> Ard Biesheuvel writes: > >> > >>> Hi Alex, > >>> > >>> Thanks again for looking into this. > >>> > >>> On Thu, 13 Dec 2018 at 12:55, Alex Bennée wrote: > >>

Re: [Qemu-devel] [PATCH v1 1/2] target/arm: kvm64 make guest debug AA32 break point aware

2018-12-14 Thread Alex Bennée
Richard Henderson writes: > On 12/13/18 8:55 AM, Alex Bennée wrote: >> >> Ard Biesheuvel writes: >> >>> Hi Alex, >>> >>> Thanks again for looking into this. >>> >>> On Thu, 13 Dec 2018 at 12:55, Alex Bennée wrote: >> >>> int kvm_arch_insert_sw_breakpoint(CPUState *cs, struct

Re: [Qemu-devel] [PATCH v1 1/2] target/arm: kvm64 make guest debug AA32 break point aware

2018-12-14 Thread Richard Henderson
On 12/14/18 2:37 AM, Omair Javaid wrote: > Are you expecting GDB to switch targets (from AArch64 to AArch32 or > vice versa) when there is mode switch for example a AArch64 binary > calling a AArch32 library function. Mode changes happen only at privilege level changes. E.g. AArch32 binary makes

Re: [Qemu-devel] [PATCH v1 1/2] target/arm: kvm64 make guest debug AA32 break point aware

2018-12-14 Thread Omair Javaid
On Thu, 13 Dec 2018 at 16:55, Alex Bennée wrote: > > When supported by the hardware we can run AA32 guests or even AA64 EL1 > code with AA32 EL0 mode code. Inserting a AA64 break point into AA32 > code tends to break things. This is especially acute with gdb as it > inserts temporary breakpoints

Re: [Qemu-devel] [PATCH v1 1/2] target/arm: kvm64 make guest debug AA32 break point aware

2018-12-13 Thread Richard Henderson
On 12/13/18 8:55 AM, Alex Bennée wrote: > > Ard Biesheuvel writes: > >> Hi Alex, >> >> Thanks again for looking into this. >> >> On Thu, 13 Dec 2018 at 12:55, Alex Bennée wrote: > >> >>> >>> int kvm_arch_insert_sw_breakpoint(CPUState *cs, struct kvm_sw_breakpoint >>> *bp) >>> { >>> +

Re: [Qemu-devel] [PATCH v1 1/2] target/arm: kvm64 make guest debug AA32 break point aware

2018-12-13 Thread Richard Henderson
On 12/13/18 5:55 AM, Alex Bennée wrote: > int kvm_arch_insert_sw_breakpoint(CPUState *cs, struct kvm_sw_breakpoint *bp) > { > +CPUARMState *env = _CPU(cs)->env; > +int el = arm_current_el(env); > +bool is_aa64 = arm_el_is_aa64(env, el); This will assert for el == 0; for that you

Re: [Qemu-devel] [PATCH v1 1/2] target/arm: kvm64 make guest debug AA32 break point aware

2018-12-13 Thread Alex Bennée
Ard Biesheuvel writes: > Hi Alex, > > Thanks again for looking into this. > > On Thu, 13 Dec 2018 at 12:55, Alex Bennée wrote: > >> >> int kvm_arch_insert_sw_breakpoint(CPUState *cs, struct kvm_sw_breakpoint >> *bp) >> { >> +CPUARMState *env = _CPU(cs)->env; >> +int el =

Re: [Qemu-devel] [PATCH v1 1/2] target/arm: kvm64 make guest debug AA32 break point aware

2018-12-13 Thread Ard Biesheuvel
Hi Alex, Thanks again for looking into this. On Thu, 13 Dec 2018 at 12:55, Alex Bennée wrote: > > When supported by the hardware we can run AA32 guests or even AA64 EL1 > code with AA32 EL0 mode code. Inserting a AA64 break point into AA32 > code tends to break things. This is especially acute

[Qemu-devel] [PATCH v1 1/2] target/arm: kvm64 make guest debug AA32 break point aware

2018-12-13 Thread Alex Bennée
When supported by the hardware we can run AA32 guests or even AA64 EL1 code with AA32 EL0 mode code. Inserting a AA64 break point into AA32 code tends to break things. This is especially acute with gdb as it inserts temporary breakpoints when stepping through code. The heuristic of checking the