On Wed, 11 Sept 2024 at 07:50, Ganapatrao Kulkarni <gankulka...@os.amperecomputing.com> wrote: > > > > On 10-09-2024 05:53 pm, Peter Maydell wrote: > > On Tue, 10 Sept 2024 at 12:57, Ganapatrao Kulkarni > > <gankulka...@os.amperecomputing.com> wrote: > >> On 16-07-2024 09:15 pm, Peter Maydell wrote: > >>> Since Cornelia first wrote the patch this is based on, we've > >>> landed gdbstub support for MTE (so gdb can find out which > >>> addresses in the memory map have tags and read and write > >>> those tags). So I think the KVM MTE support now also needs to > >>> handle that. (See aarch64_cpu_register_gdb_commands() in > >>> target/arm/gdbstub64.c.) > >> > >> I looked at this code and it looks like, complete code is under > >> ifdef CONFIG_USER_ONLY and for kvm(target aarch64-softmmu) this is not > >> getting enabled. Are you asking to remove these ifdef and make > >> mte-gdbstub commands available for the KVM mode as well? > > > > The system mode support for mte gdbstub is just about > > to land. The current patchset is this one: > > https://patchew.org/QEMU/20240906143316.657436-1-gustavo.rom...@linaro.org/ > > > > Thanks. > I applied these patches to qemu and compiled gdb as said in the > cover-letter. Below is the log of the run, help me to interpret the logs.
I've cc'd Gustavo since he's the author of the patches. > [root@sut01sys-r214 mte-qemu]# make -C build -j 32 > run-tcg-tests-aarch64-softmmu > make: Entering directory '/home/ganapat/upstream/mte-qemu/build' > BUILD aarch64-softmmu guest-tests > RUN aarch64-softmmu guest-tests > TEST mte on aarch64 > TEST hello on aarch64 > TEST interrupt on aarch64 > TEST memory on aarch64 > TEST memory-sve on aarch64 > TEST hello-with-libbb.so on aarch64 > TEST interrupt-with-libbb.so on aarch64 > TEST memory-with-libbb.so on aarch64 > TEST hello-with-libempty.so on aarch64 > TEST interrupt-with-libempty.so on aarch64 > TEST memory-with-libempty.so on aarch64 > TEST interrupt-with-libinline.so on aarch64 > TEST hello-with-libinline.so on aarch64 > TEST memory-with-libinline.so on aarch64 > TEST hello-with-libinsn.so on aarch64 > TEST memory-with-libinsn.so on aarch64 > TEST interrupt-with-libinsn.so on aarch64 > TEST hello-with-libmem.so on aarch64 > TEST interrupt-with-libmem.so on aarch64 > TEST hello-with-libsyscall.so on aarch64 > TEST memory-with-libmem.so on aarch64 > TEST interrupt-with-libsyscall.so on aarch64 > TEST softmmu gdbstub support on aarch64 > TEST memory-with-libsyscall.so on aarch64 > TEST softmmu gdbstub support on aarch64 > TEST softmmu gdbstub untimely packets on aarch64 > TEST softmmu gdbstub support on aarch64 > TEST gdbstub MTE support on aarch64 > TEST memory-record on aarch64 > qemu-system-aarch64: -gdb > unix:path=/tmp/tmp80lbp057qemu-gdbstub/gdbstub.socket,server=on: info: > QEMU waiting for connection on: > disconnected:unix:/tmp/tmp80lbp057qemu-gdbstub/gdbstub.socket,server=on > qemu-system-aarch64: -gdb > unix:path=/tmp/tmp8h7kx8kyqemu-gdbstub/gdbstub.socket,server=on: info: > QEMU waiting for connection on: > disconnected:unix:/tmp/tmp8h7kx8kyqemu-gdbstub/gdbstub.socket,server=on > qemu-system-aarch64: -gdb > unix:path=/tmp/tmpo0448vk6qemu-gdbstub/gdbstub.socket,server=on: info: > QEMU waiting for connection on: > disconnected:unix:/tmp/tmpo0448vk6qemu-gdbstub/gdbstub.socket,server=on > qemu-system-aarch64: -gdb > unix:path=/tmp/tmplvwd79e3qemu-gdbstub/gdbstub.socket,server=on: info: > QEMU waiting for connection on: > disconnected:unix:/tmp/tmplvwd79e3qemu-gdbstub/gdbstub.socket,server=on > qemu-system-aarch64: -gdb > unix:path=/tmp/tmpv1t2ffjfqemu-gdbstub/gdbstub.socket,server=on: info: > QEMU waiting for connection on: > disconnected:unix:/tmp/tmpv1t2ffjfqemu-gdbstub/gdbstub.socket,server=on > TEST memory-replay on aarch64 > qemu-system-aarch64: QEMU: Terminated via GDBstub > qemu-system-aarch64: QEMU: Terminated via GDBstub > GREP file untimely-packet.gdb.err > qemu-system-aarch64: QEMU: Terminated via GDBstub > qemu-system-aarch64: QEMU: Terminated via GDBstub > make: Leaving directory '/home/ganapat/upstream/mte-qemu/build' > [root@sut01sys-r214 mte-qemu]# > > Last few lines of untimely-packet.gdb.err below: > > [remote] Packet received: > 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 > [24 bytes omitted] > [remote] Sending packet: $qfThreadInfo#bb > [remote] Received Ack > [remote] Packet received: mp01.01 > [remote] Sending packet: $qsThreadInfo#c8 > [remote] Received Ack > [remote] Packet received: l > [remote] Sending packet: $p56#db > [remote] Received Ack > [remote] Packet received: 000000000000ffff > [remote] packet_ok: Packet p (fetch-register) is supported > [remote] Sending packet: $p57#dc > [remote] Received Ack > [remote] Packet received: 000000000000ffff > [remote] Sending packet: $m400027b0,4#8c > [remote] Received Ack > [remote] Packet received: 80c2ff10 > [remote] Sending packet: $m400027ac,4#be > [remote] Received Ack > [remote] Packet received: 1f2003d5 > [remote] Sending packet: $m400027b0,4#8c > [remote] Received Ack > [remote] Packet received: 80c2ff10 > [remote] Sending packet: $qSymbol::#5b > [remote] Received Ack > [remote] Packet received: > [remote] packet_ok: Packet qSymbol (symbol-lookup) is NOT supported > [remote] start_remote_1: exit > [remote] Sending packet: $D;1#b0 > [remote] Received Ack > [remote] Packet received: OK > > > -- > Thanks, > Ganapat/GK -- PMM