[haiku-development] Re: My First Haiku Project?

  • From: "André Braga" <meianoite@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 19 Oct 2008 21:36:18 -0200

On Sun, Oct 19, 2008 at 19:37, Michael Crawford <mdcrawford@xxxxxxxxx> wrote:
> So I might as well just use BSD's protocol.

Hello there,

Again: there's not much of a protocol to speak of, not related to
Haiku anyway. Each vendor implemented their own solution, and it
doesn't make a whole lot of sense to implement Darwin's protocol, or
FreeBSD's, or Microsoft's, or Linux's.

What would be useful, however, is to implement  a serial console-like
interface over Firewire, and then arrange to attach it straight to KDL
on the target side, and have any terminal emulator read from a
character device published by the host side Firewire debug app as if
it were a regular serial interface, or to use the Firewire debug app
to proxy the I/O over a socket, like FreeBSD, Linux and maybe even Mac
OS X do (haven't investigated much what happens there), and attach GDB
to it in remote debugging mode.

Anyway: each of those OSs impement a way to proxy commands sent over
Firewire to what would be a remote GDB facility on the kernel, which
IIRC we have, and client-side the debugger is indeed attached via a
socket, just like if it were happening over ethernet and TCP/IP. But
we also have KDL, and I don't quite know how GDB and remote GDB
compare in features on Haiku. So emulating a null modem cable would
work under any circumnstances, and having the client-side publish
either a serial tty-like interface or to proxy the data stream over a
socket both work too, one suiting KDL debugging, and the other suiting
remote GDB sessions.

I *think* a console driver like dcons, and having the option to attach
to it as a char device (or a pair of pipes) or a socket, would suit us
perfectly. And wouldn't be difficult to port among Unix-like hosts. It
might be even straightforward to port to Windows as well.

I posted the link to the description of dcons-over-firewire on the
other thread, but here it goes again, just in case it went unnoticed
:)

http://wiki.freebsd.org/DebugWithDcons


Cheers,
A.

Other related posts: