On Fri, Feb 24, 2012 at 03:02:10PM -0500, Brad Smith wrote:
> Here is an update to QEMU 1.0.1.
works here on i386-current (rthreads AND vmmap patches)
-rwxr-xr-x 1 root wheel 8.6M Mar 5 16:33 /bsd*
tested a win2k3 vm in vnc server mode and tested openbsd
vm in regular sdl output mode:
qemu-system-i386 \
-m 768 \
-hda win2k3.x86.qcow2 \
-net nic,model=rtl8139 -net user \
-usbdevice tablet \
-vga vmware \
-vnc :0,lossy \
$@
qemu-system-i386 \
-m 512 \
-hda ./openbsd.qcow2 \
-vga vmware \
-net user -net nic,model=rtl8139 \
$@
-ryan
>
>
> Index: Makefile
> ===================================================================
> RCS file: /home/cvs/ports/emulators/qemu/Makefile,v
> retrieving revision 1.84
> diff -u -p -r1.84 Makefile
> --- Makefile 2 Feb 2012 22:07:33 -0000 1.84
> +++ Makefile 24 Feb 2012 20:01:07 -0000
> @@ -1,14 +1,13 @@
> # $OpenBSD: Makefile,v 1.84 2012/02/02 22:07:33 sthen Exp $
>
> -ONLY_FOR_ARCHS= amd64 i386 mips64 mips64el powerpc sparc sparc64
> +ONLY_FOR_ARCHS= amd64 arm hppa i386 mips64 mips64el powerpc sparc
> sparc64
> +BROKEN-hppa= compiler bug with gcc 4.2
>
> COMMENT= multi system emulator
>
> -DISTNAME= qemu-1.0
> -REVISION= 1
> +DISTNAME= qemu-1.0.1
> CATEGORIES= emulators
> -MASTER_SITES= http://wiki.qemu.org/download/ \
> - http://comstyle.com/source/
> +MASTER_SITES= http://wiki.qemu.org/download/
>
> HOMEPAGE= http://www.qemu.org/
>
> Index: distinfo
> ===================================================================
> RCS file: /home/cvs/ports/emulators/qemu/distinfo,v
> retrieving revision 1.18
> diff -u -p -r1.18 distinfo
> --- distinfo 12 Dec 2011 10:56:56 -0000 1.18
> +++ distinfo 17 Feb 2012 20:59:39 -0000
> @@ -1,5 +1,5 @@
> -MD5 (qemu-1.0.tar.gz) = pks2BnoZFFEyOw0067RJVA==
> -RMD160 (qemu-1.0.tar.gz) = OmCu9s/rumiWvbEsmVJdpUVhcv0=
> -SHA1 (qemu-1.0.tar.gz) = fcsbNRZVTW2JnXSIzURNu3ch/O4=
> -SHA256 (qemu-1.0.tar.gz) = R2dLfaVZ1eG0TMQBr5rFrZYtFOnu3hJWexPkuEGYlzc=
> -SIZE (qemu-1.0.tar.gz) = 10848714
> +MD5 (qemu-1.0.1.tar.gz) = Xv0QkfAeO8Mb/ewnuO3rAA==
> +RMD160 (qemu-1.0.1.tar.gz) = 3O80TxUOI4iAhxdo8vB8y26OzOc=
> +SHA1 (qemu-1.0.1.tar.gz) = TQi1qDU4/NeyIr7G8cWE2o0SSXo=
> +SHA256 (qemu-1.0.1.tar.gz) = GYkC4QeCUX9gfJ7Z5im153COo56zc+0+w/HIoWnZg3g=
> +SIZE (qemu-1.0.1.tar.gz) = 10853005
> Index: patches/patch-configure
> ===================================================================
> RCS file: /home/cvs/ports/emulators/qemu/patches/patch-configure,v
> retrieving revision 1.21
> diff -u -p -r1.21 patch-configure
> --- patches/patch-configure 12 Dec 2011 10:56:56 -0000 1.21
> +++ patches/patch-configure 17 Feb 2012 21:03:10 -0000
> @@ -1,6 +1,6 @@
> $OpenBSD: patch-configure,v 1.21 2011/12/12 10:56:56 sthen Exp $
> ---- configure.orig Mon Nov 28 17:22:15 2011
> -+++ configure Mon Nov 28 18:32:45 2011
> +--- configure.orig Fri Feb 17 14:45:39 2012
> ++++ configure Fri Feb 17 16:02:57 2012
> @@ -235,13 +235,11 @@ sdl_config="${SDL_CONFIG-${cross_prefix}sdl-config}"
>
> # default flags for all hosts
> @@ -15,15 +15,6 @@ $OpenBSD: patch-configure,v 1.21 2011/12
>
> # make source path absolute
> source_path=`cd "$source_path"; pwd`
> -@@ -1116,7 +1114,7 @@ fi
> -
> - if test "$pie" = ""; then
> - case "$cpu-$targetos" in
> -- i386-Linux|x86_64-Linux)
> -+ i386-Linux|x86_64-Linux|i386-OpenBSD|x86_64-OpenBSD)
> - ;;
> - *)
> - pie="no"
> @@ -2684,8 +2682,9 @@ fi
> # End of CC checks
> # After here, no more $cc or $ld runs
> Index: patches/patch-hw_e1000_c
> ===================================================================
> RCS file: patches/patch-hw_e1000_c
> diff -N patches/patch-hw_e1000_c
> --- patches/patch-hw_e1000_c 2 Feb 2012 22:07:33 -0000 1.4
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,26 +0,0 @@
> -$OpenBSD: patch-hw_e1000_c,v 1.4 2012/02/02 22:07:33 sthen Exp $
> -
> -Bounds packet size against buffer size, otherwise we can write beyond
> -the buffer and corrupt memory.  CVE-2012-0029.
> -
> -http://git.qemu.org/?p=qemu.git;a=commitdiff;h=65f82df0d7a71ce1b10cd4c5ab08888d176ac840
> -
> ---- hw/e1000.c.orig Thu Feb 2 20:07:37 2012
> -+++ hw/e1000.c Thu Feb 2 20:11:43 2012
> -@@ -466,6 +466,8 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *d
> - bytes = split_size;
> - if (tp->size + bytes > msh)
> - bytes = msh - tp->size;
> -+
> -+ bytes = MIN(sizeof(tp->data) - tp->size, bytes);
> - pci_dma_read(&s->dev, addr, tp->data + tp->size, bytes);
> - if ((sz = tp->size + bytes) >= hdr && tp->size < hdr)
> - memmove(tp->header, tp->data, hdr);
> -@@ -481,6 +483,7 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *d
> - // context descriptor TSE is not set, while data descriptor TSE is
> set
> - DBGOUT(TXERR, "TCP segmentaion Error\n");
> - } else {
> -+ split_size = MIN(sizeof(tp->data) - tp->size, split_size);
> - pci_dma_read(&s->dev, addr, tp->data + tp->size, split_size);
> - tp->size += split_size;
> - }
> Index: patches/patch-target-i386_translate_c
> ===================================================================
> RCS file: patches/patch-target-i386_translate_c
> diff -N patches/patch-target-i386_translate_c
> --- patches/patch-target-i386_translate_c 12 Dec 2011 10:56:56 -0000
> 1.6
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,32 +0,0 @@
> -$OpenBSD: patch-target-i386_translate_c,v 1.6 2011/12/12 10:56:56 sthen Exp $
> ---- target-i386/translate.c.orig Mon Nov 7 16:24:56 2011
> -+++ target-i386/translate.c Mon Nov 7 17:39:18 2011
> -@@ -4870,20 +4870,24 @@ static target_ulong disas_insn(DisasContext *s,
> target
> - tcg_gen_sub_tl(t2, cpu_regs[R_EAX], t0);
> - gen_extu(ot, t2);
> - tcg_gen_brcondi_tl(TCG_COND_EQ, t2, 0, label1);
> -+ label2 = gen_new_label();
> - if (mod == 3) {
> -- label2 = gen_new_label();
> - gen_op_mov_reg_v(ot, R_EAX, t0);
> - tcg_gen_br(label2);
> - gen_set_label(label1);
> - gen_op_mov_reg_v(ot, rm, t1);
> -- gen_set_label(label2);
> - } else {
> -- tcg_gen_mov_tl(t1, t0);
> -+ /* perform no-op store cycle like physical cpu; must be
> -+ before changing accumulator to ensure idempotency if
> -+ the store faults and the instruction is restarted
> -+ */
> -+ gen_op_st_v(ot + s->mem_index, t0, a0);
> - gen_op_mov_reg_v(ot, R_EAX, t0);
> -+ tcg_gen_br(label2);
> - gen_set_label(label1);
> -- /* always store */
> - gen_op_st_v(ot + s->mem_index, t1, a0);
> - }
> -+ gen_set_label(label2);
> - tcg_gen_mov_tl(cpu_cc_src, t0);
> - tcg_gen_mov_tl(cpu_cc_dst, t2);
> - s->cc_op = CC_OP_SUBB + ot;
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>