Hello, The following patch series together with qemu_madvise() allows to build and run QEMU on Haiku, using GCC 4.x.
Patches 1-5 add support for Haiku hosts to build ppc-softmmu. They are based on qemu_madvise() v7, since Haiku does not have madvise(), but they do not depend on it themselves so could be cherry-picked. Patch 6 fixes a build warning. The following patches are based on mmlr's 0.10.4 port and are not intended for upstream inclusion at this time: Patch 7 is needed for successful runtime execution. Patch 8 is included as a test case and to show where things are moving wrt C++. Not yet included is his native Haiku audio backend, also using C++. Another issue that Michael had addressed and that I would like to see fixed differently is a mismatch between softfloat headers and sources wrt int types. I'll post a separate RFC since it's not strictly related to Haiku. Regards, Andreas Andreas Färber (8): configure: Add basic support for Haiku configure: Don't rely on special pthreads library Haiku doesn't have libm nbd: Haiku has _IO() in its BSD compatibility layer tap: Add stub for Haiku slirp: Silence warning on Haiku qemu_malloc: Use areas on Haiku for sizes > 1 MiB ui: Haiku frontend Makefile | 2 + Makefile.objs | 2 + Makefile.target | 2 + configure | 33 +++- console.h | 3 + nbd.c | 2 +- net/tap-haiku.c | 61 ++++++ qemu-malloc.c | 53 +++++ rules.mak | 6 +- slirp/slirp.h | 4 +- ui/haiku.cpp | 607 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ ui/haiku.h | 96 +++++++++ vl.c | 10 +- 13 files changed, 869 insertions(+), 12 deletions(-) create mode 100644 net/tap-haiku.c create mode 100644 ui/haiku.cpp create mode 100644 ui/haiku.h