Re: Hardware watchpoints on GNU/Linux AArch64

Luis Machado via Gdb
2023-01-05T14:18:46Z

Hi,

On 1/2/23 16:48, Florian Weimer via Gdb wrote:
> Running
>
> gdb-12.1-10.fc38.aarch64
> kernel-6.2.0-0.rc1.20221230gitbff687b3dad6.15.fc38.aarch64
>
> I do not seem to be able to use hardware watchpoints. GDB just logs
> warnings:
>
> warning: Unable to determine the number of hardware watchpoints available.
> warning: Unable to determine the number of hardware breakpoints available.
>
> I see AArch64-specific code in GDB, so this is a bit of a surprise to
> me.
>
> The machine uses virtualization:
>
> Architecture: aarch64
> CPU op-mode(s): 32-bit, 64-bit
> Byte Order: Little Endian
> CPU(s): 3
> On-line CPU(s) list: 0-2
> Vendor ID: ARM
> BIOS Vendor ID: QEMU
> Model name: Neoverse-N1
> BIOS Model name: virt-rhel8.6.0 CPU @ 2.0GHz
> BIOS CPU family: 1
> Model: 1
> Thread(s) per core: 1
> Core(s) per socket: 1
> Socket(s): 3
> Stepping: r3p1
> BogoMIPS: 50.00
> Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp
> asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
>
> Is this actually expected to work? Would we have more luck on a
> bare-metal system?
>
> Thanks,
> Florian
>

Apologies, I was out for a few days during end of year. Hardware watchpoints should work
on AArch64/Linux. They should also work on system QEMU (though there might be differences in behavior).

I'm not sure about KVM though.