diff options
-rw-r--r-- | emulators/qemu-devel/Makefile | 1 | ||||
-rw-r--r-- | emulators/qemu-devel/files/patch-hw-e1000.c | 17 | ||||
-rw-r--r-- | emulators/qemu-devel/files/patch-tcg-tcg-op.h | 19 | ||||
-rw-r--r-- | emulators/qemu-devel/pkg-message | 13 |
4 files changed, 49 insertions, 1 deletions
diff --git a/emulators/qemu-devel/Makefile b/emulators/qemu-devel/Makefile index 3ef8855a029d..df5fb3b05d8a 100644 --- a/emulators/qemu-devel/Makefile +++ b/emulators/qemu-devel/Makefile @@ -7,6 +7,7 @@ PORTNAME= qemu PORTVERSION= 0.9.1s.20080302 +PORTREVISION= 1 CATEGORIES= emulators MASTER_SITES= http://qemu.org/:release \ http://qemu-forum.ipi.fi/qemu-snapshots/:snapshot \ diff --git a/emulators/qemu-devel/files/patch-hw-e1000.c b/emulators/qemu-devel/files/patch-hw-e1000.c new file mode 100644 index 000000000000..ee1b81b05cda --- /dev/null +++ b/emulators/qemu-devel/files/patch-hw-e1000.c @@ -0,0 +1,17 @@ +Index: qemu/hw/e1000.c +=================================================================== +RCS file: /sources/qemu/qemu/hw/e1000.c,v +retrieving revision 1.3 +retrieving revision 1.4 +diff -u -p -r1.3 -r1.4 +--- hw/e1000.c 10 Feb 2008 13:34:48 -0000 1.3 ++++ hw/e1000.c 10 Mar 2008 00:02:10 -0000 1.4 +@@ -50,7 +50,7 @@ static int debugflags = DBGBIT(TXERR) | + #endif + + #define IOPORT_SIZE 0x40 +-#define PNPMMIO_SIZE 0x60000 ++#define PNPMMIO_SIZE 0x20000 + + /* + * HW models: diff --git a/emulators/qemu-devel/files/patch-tcg-tcg-op.h b/emulators/qemu-devel/files/patch-tcg-tcg-op.h new file mode 100644 index 000000000000..78075092eed0 --- /dev/null +++ b/emulators/qemu-devel/files/patch-tcg-tcg-op.h @@ -0,0 +1,19 @@ +Index: qemu/tcg/tcg-op.h +@@ -1172,7 +1172,7 @@ + tcg_gen_op3i(INDEX_op_qemu_ld8s, ret, addr, mem_index); + #else + tcg_gen_op4i(INDEX_op_qemu_ld8s, ret, addr, TCGV_HIGH(addr), mem_index); +- tcg_gen_ext8s_i32(TCGV_HIGH(ret), ret); ++ tcg_gen_sari_i32(TCGV_HIGH(ret), ret, 31); + #endif + } + +@@ -1192,7 +1192,7 @@ + tcg_gen_op3i(INDEX_op_qemu_ld16s, ret, addr, mem_index); + #else + tcg_gen_op4i(INDEX_op_qemu_ld16s, ret, addr, TCGV_HIGH(addr), mem_index); +- tcg_gen_ext16s_i32(TCGV_HIGH(ret), ret); ++ tcg_gen_sari_i32(TCGV_HIGH(ret), ret, 31); + #endif + } + diff --git a/emulators/qemu-devel/pkg-message b/emulators/qemu-devel/pkg-message index acdc84aa3e13..33c49e966431 100644 --- a/emulators/qemu-devel/pkg-message +++ b/emulators/qemu-devel/pkg-message @@ -55,7 +55,11 @@ use qemu -net nic,model=rtl8139 -net user or tap ... enable the emulated rtl8139 timer by building the port with RTL8139_TIMER enabled. (the rtl8139c+ that model=rtl8139 emulates needs less cpu than qemu's default ne2k nic which is driven by ed(4), it has not been made default -only because it may not work with all guests yet.) +only because it may not work with all guests yet. btw qemu now also can +emulate a few intel eepro100 and e1000 nics which seem to be a tad more +efficient even, and at least i82557b and e1000 work without tweaks for +FreeBSD guests - driven by fxp(4) and em(4) repectively - and Linux +guests too.) - if you get repeated `atapi_poll called!' console messages with FreeBSD guests or other weird cdrom problems then thats probably because the guest has atapicam loaded, which for reasons still to be determined has problems @@ -69,6 +73,13 @@ you please use tuntap for now. Scott Robbins posted a tap howto for http://forums.bsdnexus.com/viewtopic.php?id=1563 and one for 6 and 5(?) is here: http://acidos.bandwidth-junkies.net/index.php?Sect=qemu +- perhaps it should be noted that if you want to use qemu with -m 512 +or larger on i386 hosts you need to increase the kern.maxdsiz tunable +in loader.conf(5) since the default is 512 MB, and qemu needs memory for +itself also. +- kqemu seems to be broken on amd64 SMP hosts atm (causing the host +to panic), if this affects you you can either use an UP host kernel as a +workaround or disable kqemu. - qemu now uses aio at least for ide dma, so if you get `Invalid system call' crashes that is because aio is not (kld)loaded. ==== |