aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--emulators/qemu-devel/Makefile1
-rw-r--r--emulators/qemu-devel/files/patch-hw-e1000.c17
-rw-r--r--emulators/qemu-devel/files/patch-tcg-tcg-op.h19
-rw-r--r--emulators/qemu-devel/pkg-message13
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.
====