[PATCH] [gdb] Add Z80 CPU basic support

Sergey Belyashov sergey.belyashov@gmail.com
Thu Sep 24 15:21:46 GMT 2020


чт, 24 сент. 2020 г. в 17:08, Simon Marchi <simark@simark.ca>:
>
> Thanks, I was able to apply it successfully.  It doesn't build, however,
> please make sure it builds against the current master.

Yes, you are right. I was surprised too. Fixed patch will be in the next email.

> Some questions:
>
> - What's the history behind this code?  Is is currently maintained
>   somewhere else?  Do you own it all?  In order to push that code (and
>   transfer the copyright to the FSF), everybody who currently owns it
>   must have an assignment on file, normally.

This code is written by me from scratch. Some code parts are copied from
other GDB source files.

> - How do you test this?  How can I test this?  Add this to the commit
>   message.

I have tested it on my embedded device.

> - Did you manage to run parts of the GDB testsuite against this?

GDB testsuit cannot be used, because there are no GCC port to Z80.

> - If I want more information about the Z80 architecture, such as the ISA
>   details, ABI, etc, where do I look?  It would also be a good idea to
>   add this to the commit message.

It can be downloaded on Zilog offical site.

> - I see mention of "eZ80".  Can you provide information about what CPUs
>   are supported, what CPUs are not supported?  Include any relevant
>   detail like that in the commit message.

eZ80 in Z80 mode is supported. I have no device with eZ80 working in ADL mode.

> We want to avoid people dropping code and then leaving a maintenance
> burden to others.  Ideally, each architecture should have a maintainer
> (listed in the MAINTAINERS file) responsible for reviewing patches about
> that architecture, and to whom we can reach out for questions about that
> architecture.  Would you be ready to accept such a role?

Yes, I'm ready.

> Shouldn't there be two different target descriptions for Z80 and eZ80?

I have not completely supported the eZ80 in ADL mode, so I do not provide
a description for it. In legacy Z80 mode eZ80 has the same registers and
flags as Z80/Z180.

> > diff --git a/gdb/stubs/z80-stub.c b/gdb/stubs/z80-stub.c
> > new file mode 100644
> > index 0000000000..36316b95ba
> > --- /dev/null
> > +++ b/gdb/stubs/z80-stub.c
>
> What is this file for?  How do I use it?

This file is used as an embedded debugger monitor. Currently GDB is
tested with it.


Best regards,
Sergey Belyashov


More information about the Gdb-patches mailing list