X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fmisc%2Fbochs-2.1.1.patch;h=3d542f6a8e287a99e81e2f70c936c7fba0a66b46;hb=f5dc6608c39a1ba7f92aec4ac7f04ec7281de6b4;hp=0c233169c5feb6769b89d517ac6d7129ce0171f6;hpb=0772849defdaa98a087c28f4477a9edafe50d6d1;p=pintos-anon diff --git a/src/misc/bochs-2.1.1.patch b/src/misc/bochs-2.1.1.patch index 0c23316..3d542f6 100644 --- a/src/misc/bochs-2.1.1.patch +++ b/src/misc/bochs-2.1.1.patch @@ -19,7 +19,7 @@ project documentation, in which timer interrupts are delivered at random intervals. To apply all the patches, cd into the Bochs directory, then type - patch -p1 < ~/pintos/src/misc/bochs-2.1.1.patch + patch -p1 < $PINTOSROOT/src/misc/bochs-2.1.1.patch You will have to supply the proper path to the patch, of course. You can provide the --dry-run option to patch if you want to test whether the patch would apply cleanly before actually patching. @@ -29,10 +29,33 @@ unwanted patches, then follow the above instructions. Here's a ./configure invocation for Bochs that works optimally with the `pintos' utility: - ./configure --enable-4meg-pages --with-x --with-x11 --with-term --with-nogui + ./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 +Here are the commands used to build and install all the versions of +Bochs we make available on the elaines: + +cd /tmp && tar xzf ~/bochs-2.1.1.tar.gz && cd bochs-2.1.1 +patch -p1 < $PINTOSROOT/src/misc/bochs-2.1.1.patch +PREFIX="/usr/class/cs140/`uname -m`" +CFGOPTS="--with-x --with-x11 --with-term --with-nogui --prefix=$PREFIX" +(mkdir plain && + cd plain && + ../configure $CFGOPTS && + make && + make install) +(mkdir with-gdb && + cd with-gdb && + ../configure --enable-gdb-stub $CFGOPTS && + make && + cp bochs $PREFIX/bin/bochs-gdb) +(mkdir with-dbg && + cd with-dbg && + ../configure --enable-debugger $CFGOPTS && + make && + cp bochs $PREFIX/bin/bochs-dbg) + 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 +++ bochs-2.1.1/Makefile.in 2004-09-13 15:05:26.281550000 -0700 @@ -140,9 +163,9 @@ diff -urp orig/bochs-2.1.1/gdbstub.cc bochs-2.1.1/gdbstub.cc put_reply(obuf); break; -diff -u tmp/bochs-2.1.1/iodev/serial.cc bochs-2.1.1/iodev/serial.cc ---- 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 +diff -urp bochs-2.1.1-upstream/iodev/serial.cc bochs-2.1.1/iodev/serial.cc +--- tmp/bochs-2.1.1/iodev/serial.cc 2004-02-11 14:28:54.000000000 -0800 ++++ bochs-2.1.1/iodev/serial.cc 2005-06-01 20:26:01.000000000 -0700 @@ -53,7 +53,7 @@ #endif #endif @@ -152,7 +175,12 @@ diff -u tmp/bochs-2.1.1/iodev/serial.cc bochs-2.1.1/iodev/serial.cc #define SERIAL_ENABLE #endif -@@ -122,6 +122,7 @@ +@@ -118,10 +118,11 @@ bx_serial_c::init(void) + + #ifdef SERIAL_ENABLE + if (strlen(bx_options.com[0].Odev->getptr ()) > 0) { +- tty_id = open(bx_options.com[0].Odev->getptr (), O_RDWR|O_NONBLOCK,600); ++ tty_id = open(bx_options.com[0].Odev->getptr (), O_RDWR,600); if (tty_id < 0) BX_PANIC(("open of %s (%s) failed\n", "com1", bx_options.com[0].Odev->getptr ())); @@ -160,7 +188,7 @@ diff -u tmp/bochs-2.1.1/iodev/serial.cc bochs-2.1.1/iodev/serial.cc 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 @@ +@@ -145,6 +148,7 @@ bx_serial_c::init(void) term_new.c_cc[VTIME] = 0; //term_new.c_iflag |= IXOFF; tcsetattr(tty_id, TCSAFLUSH, &term_new); @@ -168,6 +196,15 @@ diff -u tmp/bochs-2.1.1/iodev/serial.cc bochs-2.1.1/iodev/serial.cc } #endif /* def SERIAL_ENABLE */ // nothing for now +@@ -955,7 +968,7 @@ bx_serial_c::rx_timer(void) + } + if (rdy) { + chbuf = data; +-#elif defined(SERIAL_ENABLE) ++#elif 0 && defined(SERIAL_ENABLE) + if ((tty_id >= 0) && (select(tty_id + 1, &fds, NULL, NULL, &tval) == 1)) { + (void) read(tty_id, &chbuf, 1); + BX_DEBUG(("read: '%c'",chbuf)); diff -urp bochs-2.1.1.orig/bochs.h bochs-2.1.1/bochs.h --- bochs-2.1.1.orig/bochs.h 2004-02-11 14:28:03.000000000 -0800