Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

questions regarding gdbstub, SerialICE and avatar[one] #121

Open
hanetzer opened this issue Jul 30, 2023 · 2 comments
Open

questions regarding gdbstub, SerialICE and avatar[one] #121

hanetzer opened this issue Jul 30, 2023 · 2 comments

Comments

@hanetzer
Copy link

So, I came across this project while fiddling around with SerialICE for coreboot dev purposes.
The handbook mentions avatar2 can still do a GDBTarget, but as far as I can see there is no
gdbstub firmware under the avatartwo arg; am I to believe I should use the avatar-gdbstub
from the old project?

And on a related note, best as I can tell, the old avatar-gdbstub only supports arm, is this
correct?

Also, is it possible to do SerialICE-style io logging in avatar2?

All in all a very interesting project so far, and assuming my gdbstub question is answered
in the affirmative, it would be interesting to make use of on some of my iot reversing projects.

Regards.

@mariusmue
Copy link
Member

Heya,

Thanks for your interest in the avatar2 framework. The way avatar2's GDBTarget works is that it spawns a local GDB instance on the analysis host and communicates with it via GDB Machine Interface (GDBMI).

This local instance then in turn communicates with whatever GDB stub your physical target provides; this could be a stub provided by OpenOCD via JTAG, or something like the avatarone gdb stub which uses GDB's remote serial interface (RSP).

I'm personally not familiar with SerialICE, but one can configure avatar2 to log peripheral accesses and/or forward IO accesses to python reimplementations of hardware logic. Feel free to check out the examples for more information on that.

Hope these answers help!

@hanetzer
Copy link
Author

hanetzer commented Aug 1, 2023

ok, so avatarone's gdbstub firmware is relevant to avatar2, good to know.

Serialice is a duo of a patched qemu and an x86 bios, where the 'real' vendor bios is ran in qemu, with io and configuration type stuff being forewarded down to the serialice bios running on the real hardware, all the while all such io and things are logged on the system running serialice's patched qemu. Its meant for reversing vendor bioses to aid in things like porting coreboot to new boards.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants