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:
> >>
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
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
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
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)
>>> {
>>> +
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
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 =
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
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