diff --git a/README.adoc b/README.adoc index ffcd565..83c8ef4 100644 --- a/README.adoc +++ b/README.adoc @@ -9273,44 +9273,12 @@ When you want to break, just do a `Ctrl-C` on GDB shell, and then `continue`. And we now see the boot messages, and then get a shell. Now try the `/count.sh` procedure described for QEMU: <>. -===== gem5 GDB step debug kernel aarch64 - -TODO: GDB fails with: - -.... -Reading symbols from vmlinux...done. -Remote debugging using localhost:7000 -Remote 'g' packet reply is too long: 000000000000000090a4f90fc0ffffff4875450ec0ffffff01000000000000000100000000000000000000000000000001000000000000000000000000000000ffffffffffffffff646d60616b64fffe7f7f7f7f7f7f7f7f0101010101010101300000000000000000000000ffffffff48454422207d2c2017162f21262820160100000000000000070000000000000001000000000000004075450ec0ffffffc073450ec0ffffff82080000000000004075450ec0ffffff8060f90fc0ffffffc073450ec0fffffff040900880ffffff40ab400ec0ffffff586d900880ffffff0068a20ec0ffffff903b010880ffffffc8ff210880ffffff903b010880ffffffccff210880ffffff050000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -.... - -See: <> - -and gem5 says: - -.... -4107766500: system.remote_gdb: remote gdb attached -warn: Couldn't read data from debugger. -4107767500: system.remote_gdb: remote gdb detached -.... - -I've also tried the fix at: https://stackoverflow.com/questions/27411621/remote-g-packet-reply-is-too-long-aarch64-arm64 by adding to the link:run-gdb[] script: - -.... --ex 'set tdesc filename out/aarch64/buildroot/build/gdb-7.11.1/./gdb/features/aarch64.xml' -.... - -but it did not help. - -https://www.mail-archive.com/gem5-users@gem5.org/msg15383.html - ==== gem5 GDB step debug userland process We are unable to use `gdbserver` because of networking: <> The alternative is to do as in <>. -First make sure that for your arch the kernel debugging on the given target works for the architecture: <>, on which we rely. When we last tested, this was not the case for aarch64: <> - Next, follow the exact same steps explained at <>, but passing `-g` to every command as usual. But then TODO (I'll still go crazy one of those days): for `arm`, while debugging `/myinsmod.out /hello.ko`, after then line: @@ -10361,8 +10329,6 @@ This is specially interesting for the executables that don't use the bootloader The cool thing about those examples is that you start at the very first instruction of your program, which gives more control. -`aarch64` gem5 GDB step debug is broken as mentioned at: <>. - === Baremetal bootloaders As can be seen from <>, all examples under link:baremetal/[], with the exception of `baremetal/arch//no_bootloader`, start from our tiny bootloaders: @@ -11876,8 +11842,6 @@ Sources: * link:build-test-gdb[] * link:test-gdb[] -Not all of them are passing right now due to: <>. - If something goes wrong, re-run the test commands manually and use `--verbose` to understand what happened: .... diff --git a/submodules/gem5 b/submodules/gem5 index a5bc229..7fa4c94 160000 --- a/submodules/gem5 +++ b/submodules/gem5 @@ -1 +1 @@ -Subproject commit a5bc2291391b0497fdc60fdc960e07bcecebfb8f +Subproject commit 7fa4c946386e7207ad5859e8ade0bbfc14000d91