On 3/8/19 9:04 AM, Peter Maydell wrote:
On Fri, 8 Mar 2019 at 03:13, Sandra Loosemore <san...@codesourcery.com> wrote:
On 3/7/19 7:58 AM, Peter Maydell wrote:
On Wed, 13 Feb 2019 at 04:02, Sandra Loosemore <san...@codesourcery.com> wrote:
This patch adds support for libgloss semihosting to Nios II bare-metal
emulation.
Signed-off-by: Sandra Loosemore <san...@codesourcery.com>
Signed-off-by: Julian Brown <jul...@codesourcery.com>
Do you have a link to the spec that defines this semihosting
ABI, please ?
Well, I just wrote some derived from the comments in the libgloss
sources; see the attachment. :-)
Thanks. So who "owns" this ABI (ie has the authority to change
it and should be the end documenting it)? How many projects or
bits of software are implementing either end of it?
Going back in ancient history, I implemented the m68k version in
libgloss in 2006 to support a hardware debug stub that CodeSourcery was
also providing at that time. We later moved the runtime side of it into
target-agnostic code in an internal library, so when it came time to do
a similar JTAG debug stub for bare-metal Nios II hardware testing in
2012, we re-used our existing code for both library and debug stub.
Later Altera implemented the same protocol in some proprietary
simulators they provided to us, and more recently we wrote these patches
to add it to QEMU. We've shifted away from hardware testing and no
longer use the original debug stub now.
If we decide that QEMU owns the spec we can put the documentation
into docs/specs/.
Making QEMU the "owner" of the ABI seems a little peculiar to me since
it is only one client among several, and is a latecomer too. I think
libgloss would make a little more sense. OTOH, I have no problem with
making the documentation part of QEMU.
-Sandra