X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fmisc%2Fbochs-2.1.1.patch;h=f470f529fe7655d04b11b396a4d1d3c4de5acdd9;hb=c4b619c23029e05041fd35d523ec7f4bcd6d6e13;hp=beaf71e662176b95765a1f4911963aea4af401d5;hpb=ea7c36fcc3b6d8a989bd15b4a76296717cd161a2;p=pintos-anon diff --git a/src/misc/bochs-2.1.1.patch b/src/misc/bochs-2.1.1.patch index beaf71e..f470f52 100644 --- a/src/misc/bochs-2.1.1.patch +++ b/src/misc/bochs-2.1.1.patch @@ -1,11 +1,24 @@ The first two patches are needed for Bochs to properly compile and run -under Solaris on Sparc. The first should probably be handled by -Autoconf; I'm not sure why it isn't. The second is needed to make GCC -accept X.h's frequent use of "extern foo(...)", because use of an -implicit int return type is forbidden in C++. +under Solaris on Sparc. If you're not compiling on Solaris, don't +apply them. The first should probably be handled by Autoconf; I'm not +sure why it isn't. The second is needed to make GCC accept X.h's +frequent use of "extern foo(...)", because use of an implicit int +return type is forbidden in C++. The third patch makes the gdb stubs work on Solaris/Sparc, by doing -proper byteswapping. +proper byteswapping. It should be harmless elsewhere. + +The fourth patch enables the serial device under Solaris and disables +tty setup at the same time. Tty setup is a pain when you want to +connect a serial port to stdout and it doesn't work under Solaris +anyway. This patch is useful everywhere with `pintos', but may not be +wanted elsewhere. + +Here's a ./configure invocation for Bochs that works optimally with +the `pintos' utility: + ./configure --with-x --with-x11 --with-term --with-nogui +If you want the gdb stub, add --enable-gdb-stub +If you want the internal debugger, add --enable-debugger diff -urp orig/bochs-2.1.1/Makefile.in bochs-2.1.1/Makefile.in --- orig/bochs-2.1.1/Makefile.in 2004-02-11 14:28:02.000000000 -0800 @@ -113,3 +126,30 @@ diff -urp orig/bochs-2.1.1/gdbstub.cc bochs-2.1.1/gdbstub.cc mem2hex((char *)registers, obuf, NUMREGSBYTES); put_reply(obuf); break; +--- tmp/bochs-2.1.1/iodev/serial.cc 2004-02-11 14:28:54.000001000 -0800 ++++ bochs-2.1.1/iodev/serial.cc 2004-09-14 23:02:04.000001000 -0700 +@@ -53,7 +53,7 @@ + #endif + #endif + +-#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__linux__) || defined(__GNU__) || defined(__APPLE__) ++#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__linux__) || defined(__GNU__) || defined(__APPLE__) || defined(__sun__) + #define SERIAL_ENABLE + #endif + +@@ -122,6 +122,7 @@ + if (tty_id < 0) + BX_PANIC(("open of %s (%s) failed\n", + "com1", bx_options.com[0].Odev->getptr ())); ++#if 0 + BX_DEBUG(("tty_id: %d",tty_id)); + tcgetattr(tty_id, &term_orig); + bcopy((caddr_t) &term_orig, (caddr_t) &term_new, sizeof(struct termios)); +@@ -145,6 +146,7 @@ + term_new.c_cc[VTIME] = 0; + //term_new.c_iflag |= IXOFF; + tcsetattr(tty_id, TCSAFLUSH, &term_new); ++#endif + } + #endif /* def SERIAL_ENABLE */ + // nothing for now