Update to 2.3.6: + More than 25% emulation speedup vs Bochs 2.3.5 release! + Up to 40% speedup vs Bochs 2.3.5 release with trace cache optimization! - Lots of bugfixes in CPU emulation - Bochs benchmarking support - Added emulation of Intel SSE4.2 instruction set and others, please review the CHANGES file.diff -r1.50 -r1.51 pkgsrc/emulators/bochs/Makefile
(xtraeme)
@@ -1,27 +1,28 @@ | @@ -1,27 +1,28 @@ | |||
1 | # $NetBSD: Makefile,v 1.50 2007/09/25 10:07:05 hira Exp $ | 1 | # $NetBSD: Makefile,v 1.51 2008/01/03 21:03:45 xtraeme Exp $ | |
2 | 2 | |||
3 | DISTNAME= bochs-2.3 | 3 | DISTNAME= bochs-2.3.6 | |
4 | CATEGORIES= emulators | 4 | CATEGORIES= emulators | |
5 | MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=bochs/} | 5 | MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=bochs/} | |
6 | 6 | |||
7 | MAINTAINER= pkgsrc-users@NetBSD.org | 7 | MAINTAINER= pkgsrc-users@NetBSD.org | |
8 | HOMEPAGE= http://bochs.sourceforge.net/ | 8 | HOMEPAGE= http://bochs.sourceforge.net/ | |
9 | COMMENT= IA32 and AMD64 PC emulator | 9 | COMMENT= IA32 and AMD64 PC emulator | |
10 | 10 | |||
11 | GNU_CONFIGURE= yes | 11 | GNU_CONFIGURE= yes | |
12 | USE_TOOLS+= gmake | 12 | USE_TOOLS+= gmake | |
13 | USE_TOOLS+= gunzip gzip | 13 | USE_TOOLS+= gunzip gzip | |
14 | USE_LANGUAGES= c c++ | 14 | USE_LANGUAGES= c c++ | |
15 | USE_LIBTOOL= yes | |||
15 | 16 | |||
16 | ONLY_FOR_COMPILER= gcc | 17 | ONLY_FOR_COMPILER= gcc | |
17 | CXXFLAGS+= -DPARANOID | 18 | CXXFLAGS+= -DPARANOID | |
18 | 19 | |||
19 | CONFIGURE_ARGS+= --enable-cdrom | 20 | CONFIGURE_ARGS+= --enable-cdrom | |
20 | CONFIGURE_ARGS+= --enable-ne2000 | 21 | CONFIGURE_ARGS+= --enable-ne2000 | |
21 | 22 | |||
22 | MAKE_ENV+= GZIP_CMD=${GZIP_CMD:Q} | 23 | MAKE_ENV+= GZIP_CMD=${GZIP_CMD:Q} | |
23 | MAKE_ENV+= GUNZIP_CMD=${GUNZIP_CMD:Q} | 24 | MAKE_ENV+= GUNZIP_CMD=${GUNZIP_CMD:Q} | |
24 | MAKE_ENV+= WGET=${FETCH_CMD:Q} | 25 | MAKE_ENV+= WGET=${FETCH_CMD:Q} | |
25 | 26 | |||
26 | PKG_OPTIONS_VAR= PKG_OPTIONS.bochs | 27 | PKG_OPTIONS_VAR= PKG_OPTIONS.bochs | |
27 | PKG_SUPPORTED_OPTIONS+= debug tiny | 28 | PKG_SUPPORTED_OPTIONS+= debug tiny | |
@@ -41,35 +42,43 @@ CONFIGURE_ARGS+= --enable-x86-debugger | @@ -41,35 +42,43 @@ CONFIGURE_ARGS+= --enable-x86-debugger | |||
41 | .if empty(PKG_OPTIONS:Mtiny) | 42 | .if empty(PKG_OPTIONS:Mtiny) | |
42 | CONFIGURE_ARGS+= --enable-3dnow | 43 | CONFIGURE_ARGS+= --enable-3dnow | |
43 | CONFIGURE_ARGS+= --enable-4meg-pages | 44 | CONFIGURE_ARGS+= --enable-4meg-pages | |
44 | CONFIGURE_ARGS+= --enable-all-optimizations | 45 | CONFIGURE_ARGS+= --enable-all-optimizations | |
45 | CONFIGURE_ARGS+= --enable-apic | 46 | CONFIGURE_ARGS+= --enable-apic | |
46 | CONFIGURE_ARGS+= --enable-cpu-level=6 | 47 | CONFIGURE_ARGS+= --enable-cpu-level=6 | |
47 | CONFIGURE_ARGS+= --enable-daz | 48 | CONFIGURE_ARGS+= --enable-daz | |
48 | CONFIGURE_ARGS+= --enable-fpu | 49 | CONFIGURE_ARGS+= --enable-fpu | |
49 | CONFIGURE_ARGS+= --enable-global-pages | 50 | CONFIGURE_ARGS+= --enable-global-pages | |
50 | CONFIGURE_ARGS+= --enable-guest2host-tlb | 51 | CONFIGURE_ARGS+= --enable-guest2host-tlb | |
51 | CONFIGURE_ARGS+= --enable-host-specific-asms | 52 | CONFIGURE_ARGS+= --enable-host-specific-asms | |
52 | CONFIGURE_ARGS+= --enable-icache | 53 | CONFIGURE_ARGS+= --enable-icache | |
53 | CONFIGURE_ARGS+= --enable-mmx | 54 | CONFIGURE_ARGS+= --enable-mmx | |
54 | CONFIGURE_ARGS+= --enable-new-pit | |||
55 | CONFIGURE_ARGS+= --enable-pae | 55 | CONFIGURE_ARGS+= --enable-pae | |
56 | CONFIGURE_ARGS+= --enable-pci | 56 | CONFIGURE_ARGS+= --enable-pci | |
57 | CONFIGURE_ARGS+= --enable-repeat-speedups | 57 | CONFIGURE_ARGS+= --enable-repeat-speedups | |
58 | CONFIGURE_ARGS+= --enable-sep | 58 | CONFIGURE_ARGS+= --enable-sep | |
59 | CONFIGURE_ARGS+= --enable-sse=3 | 59 | CONFIGURE_ARGS+= --enable-sse=3 | |
60 | CONFIGURE_ARGS+= --enable-usb | 60 | CONFIGURE_ARGS+= --enable-usb | |
61 | CONFIGURE_ARGS+= --enable-vbe | 61 | CONFIGURE_ARGS+= --enable-vbe | |
62 | CONFIGURE_ARGS+= --enable-x86-64 | 62 | CONFIGURE_ARGS+= --enable-x86-64 | |
63 | CONFIGURE_ARGS+= --enable-popcnt | |||
64 | CONFIGURE_ARGS+= --enable-smp | |||
65 | CONFIGURE_ARGS+= --enable-ne2000 | |||
66 | CONFIGURE_ARGS+= --enable-acpi | |||
67 | CONFIGURE_ARGS+= --enable-pnic | |||
68 | CONFIGURE_ARGS+= --enable-large-pages | |||
69 | CONFIGURE_ARGS+= --enable-mtrr | |||
70 | CONFIGURE_ARGS+= --enable-clgd54xx | |||
71 | CONFIGURE_ARGS+= --enable-sse-extension | |||
63 | 72 | |||
64 | . if !empty(MACHINE_PLATFORM:M*-*-i386) | 73 | . if !empty(MACHINE_PLATFORM:M*-*-i386) | |
65 | CONFIGURE_ARGS+= --enable-fast-function-calls | 74 | CONFIGURE_ARGS+= --enable-fast-function-calls | |
66 | . endif | 75 | . endif | |
67 | 76 | |||
68 | . if ${OPSYS} == "Darwin" | 77 | . if ${OPSYS} == "Darwin" | |
69 | CONFIGURE_ARGS+= --enable-sb16=osx | 78 | CONFIGURE_ARGS+= --enable-sb16=osx | |
70 | . elif ${OPSYS} == "FreeBSD" | 79 | . elif ${OPSYS} == "FreeBSD" | |
71 | CONFIGURE_ARGS+= --enable-sb16=freebsd | 80 | CONFIGURE_ARGS+= --enable-sb16=freebsd | |
72 | . elif ${OPSYS} == "Linux" | 81 | . elif ${OPSYS} == "Linux" | |
73 | CONFIGURE_ARGS+= --enable-sb16=linux | 82 | CONFIGURE_ARGS+= --enable-sb16=linux | |
74 | . else | 83 | . else | |
75 | CONFIGURE_ARGS+= --enable-sb16=dummy | 84 | CONFIGURE_ARGS+= --enable-sb16=dummy |
@@ -1,23 +1,24 @@ | @@ -1,23 +1,24 @@ | |||
1 | @comment $NetBSD: PLIST,v 1.8 2006/12/04 17:37:24 jmmv Exp $ | 1 | @comment $NetBSD: PLIST,v 1.9 2008/01/03 21:03:45 xtraeme Exp $ | |
2 | bin/bochs | 2 | bin/bochs | |
3 | bin/bxcommit | 3 | bin/bxcommit | |
4 | bin/bximage | 4 | bin/bximage | |
5 | man/man1/bochs-dlx.1 | 5 | man/man1/bochs-dlx.1 | |
6 | man/man1/bochs.1 | 6 | man/man1/bochs.1 | |
7 | man/man1/bxcommit.1 | 7 | man/man1/bxcommit.1 | |
8 | man/man1/bximage.1 | 8 | man/man1/bximage.1 | |
9 | man/man5/bochsrc.5 | 9 | man/man5/bochsrc.5 | |
10 | share/bochs/BIOS-bochs-latest | 10 | share/bochs/BIOS-bochs-latest | |
11 | share/bochs/BIOS-bochs-legacy | |||
11 | share/bochs/VGABIOS-elpin-2.40 | 12 | share/bochs/VGABIOS-elpin-2.40 | |
12 | share/bochs/VGABIOS-elpin-LICENSE | 13 | share/bochs/VGABIOS-elpin-LICENSE | |
13 | share/bochs/VGABIOS-lgpl-README | 14 | share/bochs/VGABIOS-lgpl-README | |
14 | share/bochs/VGABIOS-lgpl-latest | 15 | share/bochs/VGABIOS-lgpl-latest | |
15 | share/bochs/VGABIOS-lgpl-latest-cirrus | 16 | share/bochs/VGABIOS-lgpl-latest-cirrus | |
16 | share/bochs/VGABIOS-lgpl-latest-cirrus-debug | 17 | share/bochs/VGABIOS-lgpl-latest-cirrus-debug | |
17 | share/bochs/VGABIOS-lgpl-latest-debug | 18 | share/bochs/VGABIOS-lgpl-latest-debug | |
18 | share/bochs/keymaps/sdl-pc-de.map | 19 | share/bochs/keymaps/sdl-pc-de.map | |
19 | share/bochs/keymaps/sdl-pc-us.map | 20 | share/bochs/keymaps/sdl-pc-us.map | |
20 | share/bochs/keymaps/x11-pc-be.map | 21 | share/bochs/keymaps/x11-pc-be.map | |
21 | share/bochs/keymaps/x11-pc-da.map | 22 | share/bochs/keymaps/x11-pc-da.map | |
22 | share/bochs/keymaps/x11-pc-de.map | 23 | share/bochs/keymaps/x11-pc-de.map | |
23 | share/bochs/keymaps/x11-pc-es.map | 24 | share/bochs/keymaps/x11-pc-es.map |
@@ -1,10 +1,9 @@ | @@ -1,10 +1,9 @@ | |||
1 | $NetBSD: distinfo,v 1.20 2006/12/04 17:37:24 jmmv Exp $ | 1 | $NetBSD: distinfo,v 1.21 2008/01/03 21:03:45 xtraeme Exp $ | |
2 | 2 | |||
3 | SHA1 (bochs-2.3.tar.gz) = 2fe0dbdebd7fe9fe07d697bcbe1736bdaeb64aaf | 3 | SHA1 (bochs-2.3.6.tar.gz) = 3675b1c5a324854b998bb7518c7279db2fecd8c3 | |
4 | RMD160 (bochs-2.3.tar.gz) = 545e0bf3edd0fdd073a107e835f90c65451c100e | 4 | RMD160 (bochs-2.3.6.tar.gz) = b81c8093c147d0d75cb18a954407ed3f7451aa3f | |
5 | Size (bochs-2.3.tar.gz) = 3812273 bytes | 5 | Size (bochs-2.3.6.tar.gz) = 3951132 bytes | |
6 | SHA1 (patch-aa) = 65538ace00fa74f0871210364622ddc8027c2655 | 6 | SHA1 (patch-aa) = e0d72eb694bbd132e598d0c5ad88875c0c0ccd7f | |
7 | SHA1 (patch-ab) = 51ebcc673c60258d19e4ec18f2464fb694548228 | 7 | SHA1 (patch-ab) = 51ebcc673c60258d19e4ec18f2464fb694548228 | |
8 | SHA1 (patch-ac) = ab21b4c2c38d798e24244163b2c447430e012e8e | 8 | SHA1 (patch-ac) = ab21b4c2c38d798e24244163b2c447430e012e8e | |
9 | SHA1 (patch-ad) = e305a33c204d9957d9da4048dddb194fff76dc12 | 9 | SHA1 (patch-ad) = 1d6be38c7c084b19cf89f0185e965323b65ea181 | |
10 | SHA1 (patch-ae) = b8092c73b77adebc054e7adf4a773206af726bf5 |
@@ -1,29 +1,29 @@ | @@ -1,29 +1,29 @@ | |||
1 | $NetBSD: patch-aa,v 1.11 2006/12/04 17:37:24 jmmv Exp $ | 1 | $NetBSD: patch-aa,v 1.12 2008/01/03 21:03:45 xtraeme Exp $ | |
2 | 2 | |||
3 | --- .bochsrc.orig 2006-06-22 20:50:47.000000000 +0200 | 3 | --- .bochsrc.orig 2007-12-27 00:41:46.000000000 +0100 | |
4 | +++ .bochsrc | 4 | +++ .bochsrc 2007-12-27 00:42:35.000000000 +0100 | |
5 | @@ -196,13 +196,13 @@ vga: extension=vbe | 5 | @@ -197,13 +197,13 @@ | |
6 | # such as a: or b: as the path. The parameter 'image' works with image files | 6 | # such as a: or b: as the path. The parameter 'image' works with image files | |
7 | # only. In that case the size must match one of the supported types. | 7 | # only. In that case the size must match one of the supported types. | |
8 | #======================================================================= | 8 | #======================================================================= | |
9 | -floppya: 1_44=/dev/fd0, status=inserted | 9 | -floppya: 1_44=/dev/fd0, status=inserted | |
10 | +@FLOPPY_LINUX@floppya: 1_44=/dev/fd0, status=inserted | 10 | +@FLOPPY_LINUX@floppya: 1_44=/dev/fd0, status=inserted | |
11 | #floppya: image=../1.44, status=inserted | 11 | #floppya: image=../1.44, status=inserted | |
12 | #floppya: 1_44=/dev/fd0H1440, status=inserted | 12 | #floppya: 1_44=/dev/fd0H1440, status=inserted | |
13 | #floppya: 1_2=../1_2, status=inserted | 13 | #floppya: 1_2=../1_2, status=inserted | |
14 | #floppya: 1_44=a:, status=inserted | 14 | #floppya: 1_44=a:, status=inserted | |
15 | #floppya: 1_44=a.img, status=inserted | 15 | #floppya: 1_44=a.img, status=inserted | |
16 | -#floppya: 1_44=/dev/rfd0a, status=inserted | 16 | -#floppya: 1_44=/dev/rfd0a, status=inserted | |
17 | +@FLOPPY_BSD@floppya: 1_44=/dev/rfd0a, status=inserted | 17 | +@FLOPPY_BSD@floppya: 1_44=/dev/rfd0a, status=inserted | |
18 | 18 | |||
19 | #======================================================================= | 19 | #======================================================================= | |
20 | # FLOPPYB: | 20 | # FLOPPYB: | |
21 | @@ -282,7 +282,7 @@ ata3: enabled=0, ioaddr1=0x168, ioaddr2= | 21 | @@ -283,7 +283,7 @@ | |
22 | # ata3-master: type=disk, mode=flat, path=483M.sample, cylinders=1024, heads=15, spt=63 | 22 | # ata3-master: type=disk, mode=flat, path=483M.sample, cylinders=1024, heads=15, spt=63 | |
23 | # ata3-slave: type=cdrom, path=iso.sample, status=inserted | 23 | # ata3-slave: type=cdrom, path=iso.sample, status=inserted | |
24 | #======================================================================= | 24 | #======================================================================= | |
25 | -ata0-master: type=disk, mode=flat, path="30M.sample", cylinders=615, heads=6, spt=17 | 25 | -ata0-master: type=disk, mode=flat, path="30M.sample" | |
26 | +#ata0-master: type=disk, mode=flat, path="30M.sample", cylinders=615, heads=6, spt=17 | 26 | +#ata0-master: type=disk, mode=flat, path="30M.sample" | |
27 | #ata0-master: type=disk, mode=flat, path="30M.sample", cylinders=615, heads=6, spt=17 | |||
27 | #ata0-master: type=disk, mode=flat, path="c.img", cylinders=0 # autodetect | 28 | #ata0-master: type=disk, mode=flat, path="c.img", cylinders=0 # autodetect | |
28 | #ata0-slave: type=cdrom, path=D:, status=inserted | 29 | #ata0-slave: type=cdrom, path=D:, status=inserted | |
29 | #ata0-slave: type=cdrom, path=/dev/cdrom, status=inserted |
@@ -1,44 +1,44 @@ | @@ -1,44 +1,44 @@ | |||
1 | $NetBSD: patch-ad,v 1.8 2006/12/03 22:18:16 jmmv Exp $ | 1 | $NetBSD: patch-ad,v 1.9 2008/01/03 21:03:45 xtraeme Exp $ | |
2 | 2 | |||
3 | --- Makefile.in.orig 2005-07-06 22:28:23.000000000 +0200 | 3 | --- Makefile.in.orig 2007-12-27 00:43:38.000000000 +0100 | |
4 | +++ Makefile.in | 4 | +++ Makefile.in 2007-12-27 00:44:54.000000000 +0100 | |
5 | @@ -71,8 +71,8 @@ RMDIR=rmdir | 5 | @@ -72,8 +72,8 @@ | |
6 | TAR=tar | 6 | TAR=tar | |
7 | CHMOD=chmod | 7 | CHMOD=chmod | |
8 | # the GZIP variable is reserved by gzip program | 8 | # the GZIP variable is reserved by gzip program | |
9 | -GZIP_BIN=gzip -9 | 9 | -GZIP_BIN=gzip -9 | |
10 | -GUNZIP=gunzip | 10 | -GUNZIP=gunzip | |
11 | +GZIP_BIN=${GZIP_CMD} -9 | 11 | +GZIP_BIN=${GZIP_CMD} -9 | |
12 | +GUNZIP=${GUNZIP_CMD} | 12 | +GUNZIP=${GUNZIP_CMD} | |
13 | ZIP=zip | 13 | ZIP=zip | |
14 | UNIX2DOS=unix2dos | 14 | UNIX2DOS=unix2dos | |
15 | LIBTOOL=@LIBTOOL@ | 15 | LIBTOOL=@LIBTOOL@ | |
16 | @@ -574,7 +574,7 @@ RINCLUDES=/System/Library/Frameworks/Car | 16 | @@ -576,7 +576,7 @@ | |
17 | REZ_ARGS=-append -i $RINCLUDES -d SystemSevenOrLater=1 -useDF | 17 | REZ_ARGS=-append -i $RINCLUDES -d SystemSevenOrLater=1 -useDF | |
18 | STANDALONE_LIBDIR=`pwd`/$(APP)/Contents/$(APP_PLATFORM)/lib | 18 | STANDALONE_LIBDIR=`pwd`/$(APP)/Contents/$(APP_PLATFORM)/lib | |
19 | OSACOMPILE=/usr/bin/osacompile | 19 | OSACOMPILE=/usr/bin/osacompile | |
20 | -SETFILE=/Developer/Tools/Setfile | 20 | -SETFILE=/Developer/Tools/Setfile | |
21 | +SETFILE=/Developer/Tools/SetFile | 21 | +SETFILE=/Developer/Tools/SetFile | |
22 | 22 | |||
23 | # On a MacOS X machine, you run rez, osacompile, and setfile to | 23 | # On a MacOS X machine, you run rez, osacompile, and setfile to | |
24 | # produce the script executable, which has both a data fork and a | 24 | # produce the script executable, which has both a data fork and a | |
25 | @@ -651,18 +651,15 @@ $(APP)/.build_plugins: $(APP)/.build boc | 25 | @@ -653,18 +653,15 @@ | |
26 | $(LIBTOOL) --finish $(STANDALONE_LIBDIR); | 26 | $(LIBTOOL) --finish $(STANDALONE_LIBDIR); | |
27 | touch $(APP)/.build_plugins | 27 | touch $(APP)/.build_plugins | |
28 | 28 | |||
29 | -install_macosx: all download_dlx @INSTALL_DOCBOOK_VAR@ | 29 | -install_macosx: all download_dlx install_man @INSTALL_DOCBOOK_VAR@ | |
30 | +install_macosx: all @INSTALL_DOCBOOK_VAR@ | 30 | +install_macosx: all install_man @INSTALL_DOCBOOK_VAR@ | |
31 | -mkdir -p $(prefix) | 31 | -mkdir -p $(DESTDIR)$(prefix) | |
32 | for i in $(INSTALL_LIST_MACOSX); do if test -e $$i; then $(CPMAC) -r $$i $(prefix); else $(CPMAC) -r $(srcdir)/$$i $(prefix); fi; done | 32 | for i in $(INSTALL_LIST_MACOSX); do if test -e $$i; then $(CPMAC) -r $$i $(DESTDIR)$(sharedir); else $(CPMAC) -r $(srcdir)/$$i $(DESTDIR)$(sharedir); fi; done | |
33 | $(CPMAC) $(srcdir)/.bochsrc $(prefix)/bochsrc-sample.txt | 33 | $(CPMAC) $(srcdir)/.bochsrc $(DESTDIR)$(sharedir)/bochsrc-sample.txt | |
34 | -mkdir $(prefix)/keymaps | 34 | -mkdir $(DESTDIR)$(sharedir)/keymaps | |
35 | $(CPMAC) $(srcdir)/gui/keymaps/*.map $(prefix)/keymaps | 35 | $(CPMAC) $(srcdir)/gui/keymaps/*.map $(DESTDIR)$(sharedir)/keymaps | |
36 | - cat $(DLXLINUX_TAR) | (cd $(prefix) && tar xzvf -) | 36 | - cat $(DLXLINUX_TAR) | (cd $(DESTDIR)$(sharedir) && tar xzvf -) | |
37 | - dlxrc=$(prefix)/dlxlinux/bochsrc.txt; mv "$$dlxrc" "$$dlxrc.orig" && sed < "$$dlxrc.orig" 's/\/usr\/local\/bochs\/latest/../' > "$$dlxrc" && rm -f "$$dlxrc.orig" | 37 | - dlxrc=$(DESTDIR)$(sharedir)/dlxlinux/bochsrc.txt; mv "$$dlxrc" "$$dlxrc.orig" && sed < "$$dlxrc.orig" 's/\/usr\/local\/bochs\/latest/../' > "$$dlxrc" && rm -f "$$dlxrc.orig" | |
38 | mv $(prefix)/README $(prefix)/README.orig | 38 | mv $(srcdir)/README $(srcdir)/README.orig | |
39 | cat $(srcdir)/build/macosx/README.macosx-binary $(prefix)/README.orig > $(prefix)/README | 39 | cat $(srcdir)/build/macosx/README.macosx-binary $(srcdir)/README.orig > $(DESTDIR)$(sharedir)/README | |
40 | rm -f $(prefix)/README.orig | 40 | rm -f $(DESTDIR)$(sharedir)/README.orig | |
41 | - $(CPMAC) $(SCRIPT_EXEC) $(prefix)/dlxlinux | 41 | - $(CPMAC) $(SCRIPT_EXEC) $(DESTDIR)$(sharedir)/dlxlinux | |
42 | for i in $(TEXT_FILE_LIST); do mv $(prefix)/$$i $(prefix)/$$i.txt; done | 42 | # for i in $(TEXT_FILE_LIST); do mv $(srcdir)/$$i $(DESTDIR)$(sharedir)/$$i.txt; done | |
43 | 43 | |||
44 | ########################################### | 44 | ########################################### |