update to 0.9.0, thanks to all who gave feedback
see http://qemu.org/changelog.html for details new in OpenBSD, support for raw block devices
This commit is contained in:
parent
f874e62f20
commit
5ba4e4fd59
@ -1,12 +1,11 @@
|
||||
# $OpenBSD: Makefile,v 1.20 2007/02/19 22:59:33 kili Exp $
|
||||
# $OpenBSD: Makefile,v 1.21 2007/05/01 12:55:13 todd Exp $
|
||||
|
||||
# no success building on other archs yet
|
||||
ONLY_FOR_ARCHS= amd64 arm i386 powerpc
|
||||
|
||||
COMMENT= "multi system emulator"
|
||||
|
||||
DISTNAME= qemu-0.8.2
|
||||
PKGNAME= ${DISTNAME}p4
|
||||
DISTNAME= qemu-0.9.0
|
||||
CATEGORIES= emulators
|
||||
|
||||
HOMEPAGE= http://fabrice.bellard.free.fr/qemu/
|
||||
@ -21,10 +20,8 @@ PERMIT_DISTFILES_FTP= Yes
|
||||
MASTER_SITES= ${HOMEPAGE}
|
||||
|
||||
BUILD_DEPENDS= ::textproc/texi2html
|
||||
LIB_DEPENDS= SDL::devel/sdl
|
||||
USE_GMAKE= Yes
|
||||
USE_X11= Yes
|
||||
WANTLIB= m z ossaudio X11 Xext usbhid pthread c
|
||||
WANTLIB= m z ossaudio c
|
||||
CONFIGURE_STYLE= gnu
|
||||
|
||||
# Currently, the regression tests are utterly broken.
|
||||
@ -34,6 +31,20 @@ REGRESS_TARGET= test test2
|
||||
PATCH_LIST= patch-* misc-*
|
||||
.endif
|
||||
|
||||
FLAVORS= no_x11
|
||||
FLAVOR?=
|
||||
|
||||
.if ${FLAVOR:L:Mno_x11}
|
||||
CONFIGURE_ARGS+= --disable-gfx-check \
|
||||
--disable-sdl
|
||||
.else
|
||||
LIB_DEPENDS= SDL::devel/sdl \
|
||||
aa::graphics/aalib
|
||||
|
||||
USE_X11= Yes
|
||||
WANTLIB+= X11 Xext pthread usbhid
|
||||
.endif
|
||||
|
||||
post-install:
|
||||
@${INSTALL_DATA_DIR} ${PREFIX}/share/examples/qemu
|
||||
@${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifup ${PREFIX}/share/examples/qemu
|
||||
|
@ -1,5 +1,5 @@
|
||||
MD5 (qemu-0.8.2.tar.gz) = WzqJ6y8laopvO7B/ez8bBw==
|
||||
RMD160 (qemu-0.8.2.tar.gz) = cVwkmXMwNSqmdc1yeXMc7CUfgzo=
|
||||
SHA1 (qemu-0.8.2.tar.gz) = 13UjmlRefQxbZ3ZgohIt9ZCv3m0=
|
||||
SHA256 (qemu-0.8.2.tar.gz) = KiDYESlshZ1ni90AIiKqfKeVGmQTJyNPOvFE6CLQePM=
|
||||
SIZE (qemu-0.8.2.tar.gz) = 1810909
|
||||
MD5 (qemu-0.9.0.tar.gz) = ab11a03ba30cf4a70641f0f170473d69
|
||||
RMD160 (qemu-0.9.0.tar.gz) = 4296542b6da18a6ac93d20787330d3c1c2ac0a19
|
||||
SHA1 (qemu-0.9.0.tar.gz) = 1e57e48a06eb8729913d92601000466eecef06cb
|
||||
SHA256 (qemu-0.9.0.tar.gz) = 491facf9335654967ee53d8fb3540a274bfcbdcc225506bd38c4ee8e9ab405c1
|
||||
SIZE (qemu-0.9.0.tar.gz) = 1901741
|
||||
|
@ -1,7 +1,12 @@
|
||||
#! /bin/sh
|
||||
set -x
|
||||
|
||||
ETHER=trunk0
|
||||
BRIDGE=bridge0
|
||||
_ETHER=trunk0
|
||||
_BRIDGE=bridge0
|
||||
|
||||
# Let the environment over-ride this
|
||||
[ "$BRIDGE" ] || BRIDGE=${_BRIDGE}
|
||||
[ "$ETHER" ] || ETHER=${_ETHER}
|
||||
|
||||
if test `id -u` -ne 0; then
|
||||
SUDO=sudo
|
||||
@ -13,6 +18,25 @@ echo "Initializing $1.."
|
||||
$SUDO ifconfig $1 link0 up
|
||||
|
||||
# Set up our bridge
|
||||
$SUDO ifconfig $BRIDGE create
|
||||
$SUDO ifconfig $1 group tun
|
||||
$SUDO ifconfig $BRIDGE create && {
|
||||
# Ony add rules if the bridge creation succeeds; otherwise
|
||||
# duplicate rules get loaded each time qemu starts
|
||||
# The following two block carp packets from wasting cpu cycles inside the
|
||||
# qemu sessions, remove if testing carp inside qemu
|
||||
$SUDO brconfig $BRIDGE rule block in on $ETHER dst 33:33:0:0:0:12
|
||||
$SUDO brconfig $BRIDGE rule block in on $ETHER dst 01:00:5e:00:00:12
|
||||
}
|
||||
# Since we can specify ETHER and BRIDGE above, its possible that
|
||||
# this tun interface or this physical interface was setup as part of
|
||||
# a different bridge earlier, and that is never cleaned up, so we have
|
||||
# to cleaup here first before we set it up; a physcal interface cannot
|
||||
# be member to more than one bridge, thankfully, or I never would have
|
||||
# caught this
|
||||
ifconfig bridge | sed -n '/^bridge[0-9]*/{s/:.*$//;p;}' | while read brif
|
||||
do
|
||||
$SUDO brconfig $brif del $ETHER
|
||||
$SUDO brconfig $brif del $1
|
||||
done
|
||||
$SUDO brconfig $BRIDGE add $ETHER up
|
||||
$SUDO brconfig $BRIDGE add $1 up || true
|
||||
|
@ -1,7 +1,16 @@
|
||||
$OpenBSD: patch-Makefile,v 1.5 2006/12/22 17:31:45 todd Exp $
|
||||
--- Makefile.orig Sat Jul 22 13:23:34 2006
|
||||
+++ Makefile Sun Nov 12 17:10:10 2006
|
||||
@@ -44,7 +44,7 @@ clean:
|
||||
$OpenBSD: patch-Makefile,v 1.6 2007/05/01 12:55:14 todd Exp $
|
||||
--- Makefile.orig Mon Feb 5 17:01:54 2007
|
||||
+++ Makefile Tue Mar 20 19:21:54 2007
|
||||
@@ -27,7 +27,7 @@ endif
|
||||
ifndef CONFIG_DARWIN
|
||||
ifndef CONFIG_WIN32
|
||||
ifndef CONFIG_SOLARIS
|
||||
-LIBS+=-lrt
|
||||
+#LIBS+=-lrt
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -51,7 +51,7 @@ clean:
|
||||
rm -f *.o *.a $(TOOLS) dyngen$(EXESUF) TAGS *.pod *~ */*~
|
||||
$(MAKE) -C tests clean
|
||||
for d in $(TARGET_DIRS); do \
|
||||
@ -10,7 +19,7 @@ $OpenBSD: patch-Makefile,v 1.5 2006/12/22 17:31:45 todd Exp $
|
||||
done
|
||||
|
||||
distclean: clean
|
||||
@@ -98,7 +98,7 @@ cscope:
|
||||
@@ -106,7 +106,7 @@ cscope:
|
||||
|
||||
# documentation
|
||||
%.html: %.texi
|
||||
|
@ -1,28 +1,17 @@
|
||||
$OpenBSD: patch-Makefile_target,v 1.10 2006/12/22 17:31:45 todd Exp $
|
||||
--- Makefile.target.orig Sat Jul 22 13:23:34 2006
|
||||
+++ Makefile.target Mon Dec 18 17:16:21 2006
|
||||
@@ -17,8 +17,9 @@ ifdef CONFIG_USER_ONLY
|
||||
VPATH+=:$(SRC_PATH)/linux-user
|
||||
DEFINES+=-I$(SRC_PATH)/linux-user -I$(SRC_PATH)/linux-user/$(TARGET_ARCH)
|
||||
endif
|
||||
-CFLAGS=-Wall -O2 -g -fno-strict-aliasing
|
||||
+#CFLAGS=-Wall -O2 -g -fno-strict-aliasing
|
||||
#CFLAGS+=-Werror
|
||||
+CFLAGS+= -ggdb
|
||||
LDFLAGS=-g
|
||||
LIBS=
|
||||
HELPER_CFLAGS=$(CFLAGS)
|
||||
@@ -144,7 +145,7 @@ LDFLAGS+=-Wl,-G0 -Wl,-T,$(SRC_PATH)/ia64
|
||||
$OpenBSD: patch-Makefile_target,v 1.11 2007/05/01 12:55:14 todd Exp $
|
||||
--- Makefile.target.orig Mon Feb 5 17:01:54 2007
|
||||
+++ Makefile.target Tue Apr 3 08:21:24 2007
|
||||
@@ -150,7 +150,7 @@ BASE_LDFLAGS+=-Wl,-G0 -Wl,-T,$(SRC_PATH)/$(ARCH).ld
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH),arm)
|
||||
-OP_CFLAGS=$(CFLAGS) -mno-sched-prolog -fno-omit-frame-pointer
|
||||
+OP_CFLAGS=$(CFLAGS) -mno-sched-prolog -fno-omit-frame-pointer -mapcs-frame
|
||||
LDFLAGS+=-Wl,-T,$(SRC_PATH)/arm.ld
|
||||
-OP_CFLAGS+=-mno-sched-prolog -fno-omit-frame-pointer
|
||||
+OP_CFLAGS+=-mno-sched-prolog -fno-omit-frame-pointer -mapcs-frame
|
||||
BASE_LDFLAGS+=-Wl,-T,$(SRC_PATH)/$(ARCH).ld
|
||||
endif
|
||||
|
||||
@@ -153,6 +154,12 @@ OP_CFLAGS=$(CFLAGS) -fomit-frame-pointer
|
||||
LDFLAGS+=-Wl,-T,m68k.ld
|
||||
@@ -163,6 +163,12 @@ ifeq ($(ARCH),mips)
|
||||
BASE_LDFLAGS+=-Wl,-T,$(SRC_PATH)/$(ARCH).ld
|
||||
endif
|
||||
|
||||
+# Very important for this 'ifeq' block to be after other
|
||||
@ -34,15 +23,15 @@ $OpenBSD: patch-Makefile_target,v 1.10 2006/12/22 17:31:45 todd Exp $
|
||||
ifeq ($(HAVE_GCC3_OPTIONS),yes)
|
||||
# very important to generate a return at the end of every operation
|
||||
OP_CFLAGS+=-fno-reorder-blocks -fno-optimize-sibling-calls
|
||||
@@ -166,6 +173,7 @@ endif
|
||||
@@ -182,6 +188,7 @@ OP_CFLAGS+=$(OS_CFLAGS)
|
||||
#########################################################
|
||||
|
||||
DEFINES+=-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
|
||||
+DEFINES+= #-DDEBUG_GDB -DDEBUG -DDEBUG_KBD -DDEBUG_MOUSE
|
||||
CPPFLAGS+=-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
|
||||
+#CPPFLAGS+= -DDEBUG_GDB -DDEBUG -DDEBUG_KBD -DDEBUG_MOUSE
|
||||
LIBS+=-lm
|
||||
ifndef CONFIG_USER_ONLY
|
||||
LIBS+=-lz
|
||||
@@ -297,6 +305,9 @@ endif
|
||||
@@ -329,6 +336,9 @@ endif
|
||||
|
||||
SOUND_HW = sb16.o es1370.o
|
||||
AUDIODRV = audio.o noaudio.o wavaudio.o
|
||||
@ -52,7 +41,7 @@ $OpenBSD: patch-Makefile_target,v 1.10 2006/12/22 17:31:45 todd Exp $
|
||||
ifdef CONFIG_SDL
|
||||
AUDIODRV += sdlaudio.o
|
||||
endif
|
||||
@@ -403,7 +414,7 @@ endif
|
||||
@@ -440,7 +450,7 @@ endif
|
||||
ifndef CONFIG_DARWIN
|
||||
ifndef CONFIG_WIN32
|
||||
ifndef CONFIG_SOLARIS
|
||||
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-audio_ossaudio_c,v 1.2 2005/12/27 07:56:15 todd Exp $
|
||||
--- audio/ossaudio.c.orig Mon Dec 19 16:51:53 2005
|
||||
+++ audio/ossaudio.c Tue Dec 20 11:00:04 2005
|
||||
$OpenBSD: patch-audio_ossaudio_c,v 1.3 2007/05/01 12:55:14 todd Exp $
|
||||
--- audio/ossaudio.c.orig Mon Feb 5 17:01:54 2007
|
||||
+++ audio/ossaudio.c Sat Mar 10 16:39:38 2007
|
||||
@@ -21,10 +21,15 @@
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
|
27
emulators/qemu/patches/patch-block-qcow2_c
Normal file
27
emulators/qemu/patches/patch-block-qcow2_c
Normal file
@ -0,0 +1,27 @@
|
||||
$OpenBSD: patch-block-qcow2_c,v 1.1 2007/05/01 12:55:14 todd Exp $
|
||||
--- block-qcow2.c.orig Mon Feb 5 17:01:54 2007
|
||||
+++ block-qcow2.c Fri Apr 6 13:05:45 2007
|
||||
@@ -1884,6 +1884,8 @@ static int grow_refcount_table(BlockDriverState *bs, i
|
||||
int new_table_size, new_table_size2, refcount_table_clusters, i, ret;
|
||||
uint64_t *new_table;
|
||||
int64_t table_offset;
|
||||
+ int old_table_size;
|
||||
+ int64_t old_table_offset;
|
||||
uint64_t data64;
|
||||
uint32_t data32;
|
||||
|
||||
@@ -1931,10 +1933,14 @@ static int grow_refcount_table(BlockDriverState *bs, i
|
||||
&data32, sizeof(data32)) != sizeof(data32))
|
||||
goto fail;
|
||||
qemu_free(s->refcount_table);
|
||||
+ old_table_offset = s->refcount_table_offset;
|
||||
+ old_table_size = s->refcount_table_size;
|
||||
s->refcount_table = new_table;
|
||||
s->refcount_table_size = new_table_size;
|
||||
+ s->refcount_table_offset = table_offset;
|
||||
|
||||
update_refcount(bs, table_offset, new_table_size2, 1);
|
||||
+ free_clusters(bs, old_table_offset, old_table_size * sizeof(uint64_t));
|
||||
return 0;
|
||||
fail:
|
||||
free_clusters(bs, table_offset, new_table_size2);
|
141
emulators/qemu/patches/patch-block-raw_c
Normal file
141
emulators/qemu/patches/patch-block-raw_c
Normal file
@ -0,0 +1,141 @@
|
||||
$OpenBSD: patch-block-raw_c,v 1.1 2007/05/01 12:55:14 todd Exp $
|
||||
--- block-raw.c.orig Mon Feb 5 17:01:54 2007
|
||||
+++ block-raw.c Tue Apr 3 08:21:25 2007
|
||||
@@ -25,7 +25,9 @@
|
||||
#include "block_int.h"
|
||||
#include <assert.h>
|
||||
#ifndef _WIN32
|
||||
+#ifndef CONFIG_NO_AIO
|
||||
#include <aio.h>
|
||||
+#endif
|
||||
|
||||
#ifndef QEMU_TOOL
|
||||
#include "exec-all.h"
|
||||
@@ -53,10 +55,16 @@
|
||||
#include <linux/cdrom.h>
|
||||
#include <linux/fd.h>
|
||||
#endif
|
||||
-#ifdef __FreeBSD__
|
||||
+#if defined(__FreeBSD__)
|
||||
#include <sys/disk.h>
|
||||
#endif
|
||||
|
||||
+#ifdef __OpenBSD__
|
||||
+#include <sys/ioctl.h>
|
||||
+#include <sys/disklabel.h>
|
||||
+#include <sys/dkio.h>
|
||||
+#endif
|
||||
+
|
||||
//#define DEBUG_FLOPPY
|
||||
|
||||
#define FTYPE_FILE 0
|
||||
@@ -158,6 +166,7 @@ static int raw_pwrite(BlockDriverState *bs, int64_t of
|
||||
}
|
||||
|
||||
/***********************************************************/
|
||||
+#ifndef CONFIG_NO_AIO
|
||||
/* Unix AIO using POSIX AIO */
|
||||
|
||||
typedef struct RawAIOCB {
|
||||
@@ -380,6 +389,37 @@ static void raw_aio_cancel(BlockDriverAIOCB *blockacb)
|
||||
}
|
||||
}
|
||||
|
||||
+# else /* !CONFIG_NO_AIO */
|
||||
+
|
||||
+void qemu_aio_init(void)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+void qemu_aio_poll(void)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+void qemu_aio_flush(void)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+void qemu_aio_wait_start(void)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+void qemu_aio_wait(void)
|
||||
+{
|
||||
+#ifndef QEMU_TOOL
|
||||
+ qemu_bh_poll();
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void qemu_aio_wait_end(void)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+#endif /* !CONFIG_NO_AIO */
|
||||
+
|
||||
static void raw_close(BlockDriverState *bs)
|
||||
{
|
||||
BDRVRawState *s = bs->opaque;
|
||||
@@ -399,8 +439,25 @@ static int raw_truncate(BlockDriverState *bs, int64_t
|
||||
return 0;
|
||||
}
|
||||
|
||||
+#ifdef __OpenBSD__
|
||||
static int64_t raw_getlength(BlockDriverState *bs)
|
||||
{
|
||||
+ int fd = ((BDRVRawState*)bs->opaque)->fd;
|
||||
+ struct stat st;
|
||||
+ if(fstat(fd, &st))
|
||||
+ return -1;
|
||||
+ if(S_ISCHR(st.st_mode) || S_ISBLK(st.st_mode)){
|
||||
+ struct disklabel dl;
|
||||
+ if(ioctl(fd, DIOCGDINFO, &dl))
|
||||
+ return -1;
|
||||
+ return (uint64_t)dl.d_secsize *
|
||||
+ dl.d_partitions[DISKPART(st.st_rdev)].p_size;
|
||||
+ }else
|
||||
+ return st.st_size;
|
||||
+}
|
||||
+#else /* !__OpenBSD__ */
|
||||
+static int64_t raw_getlength(BlockDriverState *bs)
|
||||
+{
|
||||
BDRVRawState *s = bs->opaque;
|
||||
int fd = s->fd;
|
||||
int64_t size;
|
||||
@@ -445,6 +502,7 @@ static int64_t raw_getlength(BlockDriverState *bs)
|
||||
}
|
||||
return size;
|
||||
}
|
||||
+#endif
|
||||
|
||||
static int raw_create(const char *filename, int64_t total_size,
|
||||
const char *backing_file, int flags)
|
||||
@@ -479,11 +537,13 @@ BlockDriver bdrv_raw = {
|
||||
raw_close,
|
||||
raw_create,
|
||||
raw_flush,
|
||||
-
|
||||
+
|
||||
+#ifndef CONFIG_NO_AIO
|
||||
.bdrv_aio_read = raw_aio_read,
|
||||
.bdrv_aio_write = raw_aio_write,
|
||||
.bdrv_aio_cancel = raw_aio_cancel,
|
||||
.aiocb_size = sizeof(RawAIOCB),
|
||||
+#endif /* !CONFIG_NO_AIO */
|
||||
.protocol_name = "file",
|
||||
.bdrv_pread = raw_pread,
|
||||
.bdrv_pwrite = raw_pwrite,
|
||||
@@ -815,11 +875,13 @@ BlockDriver bdrv_host_device = {
|
||||
raw_close,
|
||||
NULL,
|
||||
raw_flush,
|
||||
-
|
||||
+
|
||||
+#ifndef CONFIG_NO_AIO
|
||||
.bdrv_aio_read = raw_aio_read,
|
||||
.bdrv_aio_write = raw_aio_write,
|
||||
.bdrv_aio_cancel = raw_aio_cancel,
|
||||
.aiocb_size = sizeof(RawAIOCB),
|
||||
+#endif /* !CONFIG_NO_AIO */
|
||||
.bdrv_pread = raw_pread,
|
||||
.bdrv_pwrite = raw_pwrite,
|
||||
.bdrv_getlength = raw_getlength,
|
@ -1,18 +1,20 @@
|
||||
$OpenBSD: patch-configure,v 1.7 2007/02/19 12:43:38 robert Exp $
|
||||
--- configure.orig Sat Jul 22 19:23:34 2006
|
||||
+++ configure Tue Feb 13 09:22:48 2007
|
||||
@@ -21,8 +21,8 @@ prefix=""
|
||||
$OpenBSD: patch-configure,v 1.8 2007/05/01 12:55:14 todd Exp $
|
||||
--- configure.orig Mon Feb 5 17:01:54 2007
|
||||
+++ configure Tue Apr 3 08:21:26 2007
|
||||
@@ -21,10 +21,10 @@ prefix=""
|
||||
interp_prefix="/usr/gnemul/qemu-%M"
|
||||
static="no"
|
||||
cross_prefix=""
|
||||
-cc="gcc"
|
||||
-host_cc="gcc"
|
||||
+cc="${CC:-cc}"
|
||||
gcc3_search="yes"
|
||||
gcc3_list="gcc-3.4 gcc34 gcc-3.3 gcc33 gcc-3.2 gcc32"
|
||||
-host_cc="gcc"
|
||||
+host_cc="${CC:-cc}"
|
||||
ar="ar"
|
||||
make="make"
|
||||
install="install"
|
||||
@@ -42,7 +42,7 @@ case "$cpu" in
|
||||
@@ -44,7 +44,7 @@ case "$cpu" in
|
||||
alpha)
|
||||
cpu="alpha"
|
||||
;;
|
||||
@ -21,7 +23,7 @@ $OpenBSD: patch-configure,v 1.7 2007/02/19 12:43:38 robert Exp $
|
||||
cpu="powerpc"
|
||||
;;
|
||||
mips)
|
||||
@@ -66,6 +66,9 @@ case "$cpu" in
|
||||
@@ -68,6 +68,9 @@ case "$cpu" in
|
||||
x86_64|amd64)
|
||||
cpu="x86_64"
|
||||
;;
|
||||
@ -31,7 +33,7 @@ $OpenBSD: patch-configure,v 1.7 2007/02/19 12:43:38 robert Exp $
|
||||
*)
|
||||
cpu="unknown"
|
||||
;;
|
||||
@@ -121,6 +124,7 @@ oss="yes"
|
||||
@@ -122,6 +125,7 @@ oss="yes"
|
||||
;;
|
||||
OpenBSD)
|
||||
bsd="yes"
|
||||
@ -39,7 +41,7 @@ $OpenBSD: patch-configure,v 1.7 2007/02/19 12:43:38 robert Exp $
|
||||
oss="yes"
|
||||
;;
|
||||
Darwin)
|
||||
@@ -509,7 +513,7 @@ else
|
||||
@@ -573,7 +577,7 @@ else
|
||||
if test -z "$prefix" ; then
|
||||
prefix="/usr/local"
|
||||
fi
|
||||
@ -48,7 +50,7 @@ $OpenBSD: patch-configure,v 1.7 2007/02/19 12:43:38 robert Exp $
|
||||
datadir="$prefix/share/qemu"
|
||||
docdir="$prefix/share/doc/qemu"
|
||||
bindir="$prefix/bin"
|
||||
@@ -537,9 +541,7 @@ if test "$darwin" = "yes" ; then
|
||||
@@ -601,9 +605,7 @@ if test "$darwin" = "yes" ; then
|
||||
echo "Cocoa support $cocoa"
|
||||
fi
|
||||
echo "SDL support $sdl"
|
||||
@ -59,7 +61,15 @@ $OpenBSD: patch-configure,v 1.7 2007/02/19 12:43:38 robert Exp $
|
||||
echo "mingw32 support $mingw32"
|
||||
echo "Adlib support $adlib"
|
||||
echo "CoreAudio support $coreaudio"
|
||||
@@ -602,6 +604,9 @@ if test "$cpu" = "i386" ; then
|
||||
@@ -648,6 +650,7 @@ echo "mandir=$mandir" >> $config_mak
|
||||
echo "datadir=$datadir" >> $config_mak
|
||||
echo "docdir=$docdir" >> $config_mak
|
||||
echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h
|
||||
+echo "#define CONFIG_NO_AIO 1" >> $config_h
|
||||
echo "MAKE=$make" >> $config_mak
|
||||
echo "INSTALL=$install" >> $config_mak
|
||||
echo "CC=$cc" >> $config_mak
|
||||
@@ -667,6 +670,9 @@ if test "$cpu" = "i386" ; then
|
||||
elif test "$cpu" = "x86_64" ; then
|
||||
echo "ARCH=x86_64" >> $config_mak
|
||||
echo "#define HOST_X86_64 1" >> $config_h
|
||||
@ -69,7 +79,7 @@ $OpenBSD: patch-configure,v 1.7 2007/02/19 12:43:38 robert Exp $
|
||||
elif test "$cpu" = "armv4b" ; then
|
||||
echo "ARCH=arm" >> $config_mak
|
||||
echo "#define HOST_ARM 1" >> $config_h
|
||||
@@ -681,6 +686,9 @@ fi
|
||||
@@ -746,6 +752,9 @@ fi
|
||||
if test "$oss" = "yes" ; then
|
||||
echo "CONFIG_OSS=yes" >> $config_mak
|
||||
echo "#define CONFIG_OSS 1" >> $config_h
|
||||
@ -79,9 +89,9 @@ $OpenBSD: patch-configure,v 1.7 2007/02/19 12:43:38 robert Exp $
|
||||
fi
|
||||
if test "$coreaudio" = "yes" ; then
|
||||
echo "CONFIG_COREAUDIO=yes" >> $config_mak
|
||||
@@ -715,6 +723,13 @@ fi
|
||||
if [ "$build_acpi_tables" = "yes" ] ; then
|
||||
echo "BUILD_ACPI_TABLES=yes" >> $config_mak
|
||||
@@ -777,6 +786,13 @@ echo "TARGET_DIRS=$target_list" >> $config_mak
|
||||
if [ "$build_docs" = "yes" ] ; then
|
||||
echo "BUILD_DOCS=yes" >> $config_mak
|
||||
fi
|
||||
+
|
||||
+if [ "$openbsd" = "yes" ] ; then
|
||||
|
@ -1,17 +1,21 @@
|
||||
$OpenBSD: patch-cpu-all_h,v 1.1 2007/02/19 12:43:38 robert Exp $
|
||||
--- cpu-all.h.orig Mon Feb 19 10:54:26 2007
|
||||
+++ cpu-all.h Mon Feb 19 10:56:42 2007
|
||||
@@ -992,6 +992,24 @@ static inline int64_t cpu_get_real_ticks
|
||||
return rval.i64;
|
||||
$OpenBSD: patch-cpu-all_h,v 1.2 2007/05/01 12:55:14 todd Exp $
|
||||
--- cpu-all.h.orig Mon Feb 5 17:01:54 2007
|
||||
+++ cpu-all.h Tue Apr 3 08:21:26 2007
|
||||
@@ -1002,13 +1002,22 @@ static inline int64_t cpu_get_real_ticks (void)
|
||||
#endif
|
||||
}
|
||||
+#else
|
||||
#else
|
||||
-/* The host CPU doesn't have an easily accessible cycle counter.
|
||||
- Just return a monotonically increasing vlue. This will be totally wrong,
|
||||
- but hopefully better than nothing. */
|
||||
+# warning non-optimized CPU
|
||||
+#include <sys/time.h>
|
||||
+#include <time.h>
|
||||
+
|
||||
+static inline int64_t cpu_get_real_ticks (void)
|
||||
+{
|
||||
static inline int64_t cpu_get_real_ticks (void)
|
||||
{
|
||||
- static int64_t ticks = 0;
|
||||
- return ticks++;
|
||||
+ struct timeval tv;
|
||||
+ static int64_t i = 0;
|
||||
+ int64_t j;
|
||||
@ -22,7 +26,6 @@ $OpenBSD: patch-cpu-all_h,v 1.1 2007/02/19 12:43:38 robert Exp $
|
||||
+ } while (i == j);
|
||||
+ i = j;
|
||||
+ return j;
|
||||
+}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* profiling */
|
||||
|
@ -1,16 +1,16 @@
|
||||
$OpenBSD: patch-qemu-img_c,v 1.2 2006/12/22 17:31:45 todd Exp $
|
||||
--- qemu-img.c.orig Sat Jul 22 13:23:34 2006
|
||||
+++ qemu-img.c Sun Nov 12 17:10:10 2006
|
||||
@@ -62,7 +62,7 @@ char *qemu_strdup(const char *str)
|
||||
return ptr;
|
||||
}
|
||||
$OpenBSD: patch-cutils_c,v 1.1 2007/05/01 12:55:14 todd Exp $
|
||||
--- cutils.c.orig Mon Feb 5 17:01:54 2007
|
||||
+++ cutils.c Tue Apr 3 08:21:27 2007
|
||||
@@ -23,7 +23,7 @@
|
||||
*/
|
||||
#include "vl.h"
|
||||
|
||||
-void pstrcpy(char *buf, int buf_size, const char *str)
|
||||
+void pstrcpy(char *buf, size_t buf_size, const char *str)
|
||||
{
|
||||
int c;
|
||||
char *q = buf;
|
||||
@@ -80,7 +80,7 @@ void pstrcpy(char *buf, int buf_size, co
|
||||
@@ -41,7 +41,7 @@ void pstrcpy(char *buf, int buf_size, const char *str)
|
||||
}
|
||||
|
||||
/* strcat and truncate. */
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-dis-asm_h,v 1.1.1.1 2005/03/07 16:41:28 todd Exp $
|
||||
--- dis-asm.h.orig Mon Jan 3 17:35:10 2005
|
||||
+++ dis-asm.h Sun Feb 27 15:47:13 2005
|
||||
$OpenBSD: patch-dis-asm_h,v 1.2 2007/05/01 12:55:14 todd Exp $
|
||||
--- dis-asm.h.orig Mon Feb 5 17:01:54 2007
|
||||
+++ dis-asm.h Sat Mar 10 16:39:39 2007
|
||||
@@ -13,6 +13,7 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
@ -1,12 +0,0 @@
|
||||
$OpenBSD: patch-disas_c,v 1.2 2006/06/08 14:33:38 todd Exp $
|
||||
--- disas.c.orig Wed May 3 15:32:58 2006
|
||||
+++ disas.c Fri May 5 22:07:38 2006
|
||||
@@ -273,7 +273,7 @@ void disas(FILE *out, void *code, unsign
|
||||
#ifdef __arm__
|
||||
/* since data are included in the code, it is better to
|
||||
display code data too */
|
||||
- if (is_host) {
|
||||
+ if (1 /* is_host */) {
|
||||
fprintf(out, "%08x ", (int)bfd_getl32((const bfd_byte *)pc));
|
||||
}
|
||||
#endif
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-dyngen-exec_h,v 1.4 2006/12/22 17:31:45 todd Exp $
|
||||
--- dyngen-exec.h.orig Sat Jul 22 13:23:34 2006
|
||||
+++ dyngen-exec.h Sun Nov 12 17:10:10 2006
|
||||
$OpenBSD: patch-dyngen-exec_h,v 1.5 2007/05/01 12:55:14 todd Exp $
|
||||
--- dyngen-exec.h.orig Mon Feb 5 17:01:54 2007
|
||||
+++ dyngen-exec.h Sat Mar 10 16:39:39 2007
|
||||
@@ -27,11 +27,15 @@
|
||||
#define _FILEDEFED
|
||||
#endif
|
||||
@ -24,9 +24,9 @@ $OpenBSD: patch-dyngen-exec_h,v 1.4 2006/12/22 17:31:45 todd Exp $
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#define INT8_MIN (-128)
|
||||
#define INT16_MIN (-32767-1)
|
||||
@@ -75,11 +80,15 @@ typedef signed long long int64_t;
|
||||
/* XXX: This may be wrong for 64-bit ILP32 hosts. */
|
||||
typedef void * host_reg_t;
|
||||
@@ -78,11 +83,15 @@ typedef void * host_reg_t;
|
||||
#define UINT32_MAX (4294967295U)
|
||||
#define UINT64_MAX ((uint64_t)(18446744073709551615))
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
$OpenBSD: patch-exec_c,v 1.5 2006/12/22 17:31:45 todd Exp $
|
||||
--- exec.c.orig Sat Jul 22 13:23:34 2006
|
||||
+++ exec.c Sun Nov 12 17:10:10 2006
|
||||
@@ -2010,7 +2010,7 @@ void cpu_physical_memory_rw(target_phys_
|
||||
$OpenBSD: patch-exec_c,v 1.6 2007/05/01 12:55:14 todd Exp $
|
||||
--- exec.c.orig Mon Feb 5 17:01:54 2007
|
||||
+++ exec.c Tue Apr 3 08:21:30 2007
|
||||
@@ -2027,7 +2027,7 @@ void cpu_physical_memory_rw(target_phys_addr_t addr, u
|
||||
target_phys_addr_t page;
|
||||
unsigned long pd;
|
||||
PhysPageDesc *p;
|
||||
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-fpu_softfloat-native_c,v 1.1 2005/08/11 01:15:17 todd Exp $
|
||||
--- fpu/softfloat-native.c.orig Wed Apr 27 13:53:34 2005
|
||||
+++ fpu/softfloat-native.c Wed Apr 27 14:26:20 2005
|
||||
$OpenBSD: patch-fpu_softfloat-native_c,v 1.2 2007/05/01 12:55:14 todd Exp $
|
||||
--- fpu/softfloat-native.c.orig Mon Feb 5 17:01:54 2007
|
||||
+++ fpu/softfloat-native.c Sat Mar 10 16:39:39 2007
|
||||
@@ -1,6 +1,7 @@
|
||||
/* Native implementation of soft float functions. Only a single status
|
||||
context is supported */
|
||||
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-fpu_softfloat-native_h,v 1.2 2006/06/08 14:33:38 todd Exp $
|
||||
--- fpu/softfloat-native.h.orig Wed May 3 15:32:58 2006
|
||||
+++ fpu/softfloat-native.h Fri May 5 22:11:59 2006
|
||||
$OpenBSD: patch-fpu_softfloat-native_h,v 1.3 2007/05/01 12:55:14 todd Exp $
|
||||
--- fpu/softfloat-native.h.orig Mon Feb 5 17:01:54 2007
|
||||
+++ fpu/softfloat-native.h Sat Mar 10 16:39:40 2007
|
||||
@@ -1,4 +1,5 @@
|
||||
/* Native implementation of soft float functions */
|
||||
+#include "gnu-c99-math.h"
|
||||
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-gnu-c99-math_h,v 1.3 2006/06/08 14:33:38 todd Exp $
|
||||
--- gnu-c99-math.h.orig Fri May 5 22:23:24 2006
|
||||
+++ gnu-c99-math.h Thu May 11 20:24:00 2006
|
||||
$OpenBSD: patch-gnu-c99-math_h,v 1.4 2007/05/01 12:55:14 todd Exp $
|
||||
--- gnu-c99-math.h.orig Sat Mar 10 16:39:40 2007
|
||||
+++ gnu-c99-math.h Sat Mar 10 16:39:40 2007
|
||||
@@ -0,0 +1,23 @@
|
||||
+#if (defined(__sun__) || defined(__OpenBSD__)) && defined(__GNUC__)
|
||||
+
|
||||
|
12
emulators/qemu/patches/patch-hw_ne2000_c
Normal file
12
emulators/qemu/patches/patch-hw_ne2000_c
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-hw_ne2000_c,v 1.4 2007/05/01 12:55:14 todd Exp $
|
||||
--- hw/ne2000.c.orig Thu Apr 5 17:24:58 2007
|
||||
+++ hw/ne2000.c Thu Apr 5 17:25:11 2007
|
||||
@@ -206,7 +206,7 @@ static int ne2000_buffer_full(NE2000State *s)
|
||||
|
||||
index = s->curpag << 8;
|
||||
boundary = s->boundary << 8;
|
||||
- if (index <= boundary)
|
||||
+ if (index < boundary)
|
||||
avail = boundary - index;
|
||||
else
|
||||
avail = (s->stop - s->start) - (index - boundary);
|
47
emulators/qemu/patches/patch-hw_pc_c
Normal file
47
emulators/qemu/patches/patch-hw_pc_c
Normal file
@ -0,0 +1,47 @@
|
||||
$OpenBSD: patch-hw_pc_c,v 1.6 2007/05/01 12:55:14 todd Exp $
|
||||
--- hw/pc.c.orig Mon Feb 5 17:01:54 2007
|
||||
+++ hw/pc.c Fri Apr 6 13:07:38 2007
|
||||
@@ -711,23 +711,36 @@ static void pc_init1(int ram_size, int vga_ram_size, i
|
||||
if (i440fx_state) {
|
||||
i440fx_init_memory_mappings(i440fx_state);
|
||||
}
|
||||
-#if 0
|
||||
/* ??? Need to figure out some way for the user to
|
||||
specify SCSI devices. */
|
||||
- if (pci_enabled) {
|
||||
+ if (pci_enabled && scsi_enabled) {
|
||||
void *scsi;
|
||||
BlockDriverState *bdrv;
|
||||
|
||||
scsi = lsi_scsi_init(pci_bus, -1);
|
||||
- bdrv = bdrv_new("scsidisk");
|
||||
- bdrv_open(bdrv, "scsi_disk.img", 0);
|
||||
+ bdrv = bdrv_new("scsidisk0");
|
||||
+ bdrv_open(bdrv, "scsi_disk0.img", 0);
|
||||
lsi_scsi_attach(scsi, bdrv, -1);
|
||||
- bdrv = bdrv_new("scsicd");
|
||||
- bdrv_open(bdrv, "scsi_cd.iso", 0);
|
||||
+ bdrv = bdrv_new("scsidisk1");
|
||||
+ bdrv_open(bdrv, "scsi_disk1.img", 0);
|
||||
+ lsi_scsi_attach(scsi, bdrv, -1);
|
||||
+ bdrv = bdrv_new("scsidisk2");
|
||||
+ bdrv_open(bdrv, "scsi_disk2.img", 0);
|
||||
+ lsi_scsi_attach(scsi, bdrv, -1);
|
||||
+ bdrv = bdrv_new("scsidisk3");
|
||||
+ bdrv_open(bdrv, "scsi_disk3.img", 0);
|
||||
+ lsi_scsi_attach(scsi, bdrv, -1);
|
||||
+ bdrv = bdrv_new("scsidisk4");
|
||||
+ bdrv_open(bdrv, "scsi_disk4.img", 0);
|
||||
+ lsi_scsi_attach(scsi, bdrv, -1);
|
||||
+ bdrv = bdrv_new("scsidisk5");
|
||||
+ bdrv_open(bdrv, "scsi_disk5.img", 0);
|
||||
+ lsi_scsi_attach(scsi, bdrv, -1);
|
||||
+ bdrv = bdrv_new("scsicd0");
|
||||
+ bdrv_open(bdrv, "scsi_cd0.iso", 0);
|
||||
bdrv_set_type_hint(bdrv, BDRV_TYPE_CDROM);
|
||||
lsi_scsi_attach(scsi, bdrv, -1);
|
||||
}
|
||||
-#endif
|
||||
}
|
||||
|
||||
static void pc_init_pci(int ram_size, int vga_ram_size, int boot_device,
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-osdep_h,v 1.2 2006/12/22 17:31:45 todd Exp $
|
||||
--- osdep.h.orig Sat Jul 22 13:23:34 2006
|
||||
+++ osdep.h Sun Nov 12 17:10:10 2006
|
||||
$OpenBSD: patch-osdep_h,v 1.3 2007/05/01 12:55:14 todd Exp $
|
||||
--- osdep.h.orig Mon Feb 5 17:01:54 2007
|
||||
+++ osdep.h Sat Mar 10 16:39:40 2007
|
||||
@@ -2,6 +2,10 @@
|
||||
#define QEMU_OSDEP_H
|
||||
|
||||
@ -10,14 +10,5 @@ $OpenBSD: patch-osdep_h,v 1.2 2006/12/22 17:31:45 todd Exp $
|
||||
+#include <sys/signal.h>
|
||||
+#endif
|
||||
|
||||
int qemu_vsnprintf(char *buf, int buflen, const char *fmt, va_list args);
|
||||
void qemu_vprintf(const char *fmt, va_list ap);
|
||||
@@ -33,7 +37,7 @@ struct siginfo;
|
||||
struct qemu_sigaction {
|
||||
union {
|
||||
void (*_sa_handler)(int);
|
||||
- void (*_sa_sigaction)(int, struct siginfo *, void *);
|
||||
+ void (*_sa_sigaction)(int, qemu_siginfo *, void *);
|
||||
} _u;
|
||||
unsigned long sa_flags;
|
||||
void (*sa_restorer)(void);
|
||||
#define qemu_printf printf
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-slirp_slirp_config_h,v 1.3 2006/06/08 14:33:38 todd Exp $
|
||||
--- slirp/slirp_config.h.orig Wed May 3 15:32:58 2006
|
||||
+++ slirp/slirp_config.h Fri May 5 22:07:41 2006
|
||||
$OpenBSD: patch-slirp_slirp_config_h,v 1.4 2007/05/01 12:55:14 todd Exp $
|
||||
--- slirp/slirp_config.h.orig Mon Feb 5 17:01:54 2007
|
||||
+++ slirp/slirp_config.h Sat Mar 10 16:39:40 2007
|
||||
@@ -92,7 +92,7 @@
|
||||
#undef BAD_SPRINTF
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
$OpenBSD: patch-target-arm_cpu_h,v 1.4 2006/06/08 14:33:38 todd Exp $
|
||||
--- target-arm/cpu.h.orig Wed May 3 15:32:58 2006
|
||||
+++ target-arm/cpu.h Fri May 5 22:07:41 2006
|
||||
@@ -132,7 +132,7 @@ void switch_mode(CPUARMState *, int);
|
||||
signal handlers to inform the virtual CPU of exceptions. non zero
|
||||
is returned if the signal was handled by the virtual CPU. */
|
||||
struct siginfo;
|
||||
-int cpu_arm_signal_handler(int host_signum, struct siginfo *info,
|
||||
+int cpu_arm_signal_handler(int host_signum, qemu_siginfo *info,
|
||||
void *puc);
|
||||
|
||||
#define CPSR_M (0x1f)
|
@ -1,13 +0,0 @@
|
||||
$OpenBSD: patch-target-i386_cpu_h,v 1.4 2006/06/08 14:33:38 todd Exp $
|
||||
--- target-i386/cpu.h.orig Wed May 3 15:32:58 2006
|
||||
+++ target-i386/cpu.h Fri May 5 22:07:41 2006
|
||||
@@ -617,8 +617,7 @@ void cpu_x86_frstor(CPUX86State *s, uint
|
||||
/* you can call this signal handler from your SIGBUS and SIGSEGV
|
||||
signal handlers to inform the virtual CPU of exceptions. non zero
|
||||
is returned if the signal was handled by the virtual CPU. */
|
||||
-struct siginfo;
|
||||
-int cpu_x86_signal_handler(int host_signum, struct siginfo *info,
|
||||
+int cpu_x86_signal_handler(int host_signum, qemu_siginfo *info,
|
||||
void *puc);
|
||||
void cpu_x86_set_a20(CPUX86State *env, int a20_state);
|
||||
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-target-i386_helper2_c,v 1.4 2006/12/22 17:31:45 todd Exp $
|
||||
--- target-i386/helper2.c.orig Sat Jul 22 13:23:34 2006
|
||||
+++ target-i386/helper2.c Sun Nov 12 17:10:10 2006
|
||||
$OpenBSD: patch-target-i386_helper2_c,v 1.5 2007/05/01 12:55:14 todd Exp $
|
||||
--- target-i386/helper2.c.orig Mon Feb 5 17:01:54 2007
|
||||
+++ target-i386/helper2.c Mon Mar 12 15:48:39 2007
|
||||
@@ -127,7 +127,7 @@ CPUX86State *cpu_x86_init(void)
|
||||
env->cpuid_model[i >> 2] |= c << (8 * (i & 3));
|
||||
}
|
||||
@ -10,12 +10,12 @@ $OpenBSD: patch-target-i386_helper2_c,v 1.4 2006/12/22 17:31:45 todd Exp $
|
||||
/* currently not enabled for std i386 because not fully tested */
|
||||
env->cpuid_ext2_features = (env->cpuid_features & 0x0183F3FF);
|
||||
env->cpuid_ext2_features |= CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX;
|
||||
@@ -135,7 +135,7 @@ CPUX86State *cpu_x86_init(void)
|
||||
|
||||
/* these features are needed for Win64 and aren't fully implemented */
|
||||
@@ -137,7 +137,7 @@ CPUX86State *cpu_x86_init(void)
|
||||
env->cpuid_features |= CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA;
|
||||
/* this feature is needed for Solaris and isn't fully implemented */
|
||||
env->cpuid_features |= CPUID_PSE36;
|
||||
-#endif
|
||||
+/* #endif -- To run Mac OS X x86 */
|
||||
+/* #endif -- To run Mac OS X x86 */
|
||||
}
|
||||
cpu_reset(env);
|
||||
#ifdef USE_KQEMU
|
||||
|
@ -1,13 +0,0 @@
|
||||
$OpenBSD: patch-target-ppc_cpu_h,v 1.3 2005/12/27 07:56:15 todd Exp $
|
||||
--- target-ppc/cpu.h.orig Mon Dec 19 16:51:53 2005
|
||||
+++ target-ppc/cpu.h Tue Dec 20 08:06:20 2005
|
||||
@@ -573,8 +573,7 @@ void cpu_ppc_close(CPUPPCState *s);
|
||||
/* you can call this signal handler from your SIGBUS and SIGSEGV
|
||||
signal handlers to inform the virtual CPU of exceptions. non zero
|
||||
is returned if the signal was handled by the virtual CPU. */
|
||||
-struct siginfo;
|
||||
-int cpu_ppc_signal_handler(int host_signum, struct siginfo *info,
|
||||
+int cpu_ppc_signal_handler(int host_signum, qemu_siginfo *info,
|
||||
void *puc);
|
||||
|
||||
void do_interrupt (CPUPPCState *env);
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-target-ppc_op_helper_c,v 1.3 2006/06/08 14:33:38 todd Exp $
|
||||
--- target-ppc/op_helper.c.orig Fri May 5 22:29:25 2006
|
||||
+++ target-ppc/op_helper.c Fri May 5 22:29:34 2006
|
||||
$OpenBSD: patch-target-ppc_op_helper_c,v 1.4 2007/05/01 12:55:14 todd Exp $
|
||||
--- target-ppc/op_helper.c.orig Mon Feb 5 17:01:54 2007
|
||||
+++ target-ppc/op_helper.c Sat Mar 10 16:39:41 2007
|
||||
@@ -17,6 +17,7 @@
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
@ -1,16 +0,0 @@
|
||||
$OpenBSD: patch-target-sparc_cpu_h,v 1.3 2005/12/27 07:56:15 todd Exp $
|
||||
--- target-sparc/cpu.h.orig Mon Dec 19 16:51:53 2005
|
||||
+++ target-sparc/cpu.h Tue Dec 20 08:06:20 2005
|
||||
@@ -269,8 +269,12 @@ void cpu_set_cwp(CPUSPARCState *env1, in
|
||||
} while (0)
|
||||
#endif
|
||||
|
||||
+#ifdef _BSD
|
||||
+int cpu_sparc_signal_handler(int hostsignum, qemu_siginfo *info, void *puc);
|
||||
+#else
|
||||
struct siginfo;
|
||||
int cpu_sparc_signal_handler(int hostsignum, struct siginfo *info, void *puc);
|
||||
+#endif
|
||||
|
||||
#include "cpu-all.h"
|
||||
|
@ -1,18 +0,0 @@
|
||||
$OpenBSD: patch-target-sparc_op_helper_c,v 1.3 2007/02/19 22:59:33 kili Exp $
|
||||
--- target-sparc/op_helper.c.orig Fri Jan 5 18:29:09 2007
|
||||
+++ target-sparc/op_helper.c Fri Jan 5 18:29:28 2007
|
||||
@@ -12,12 +12,12 @@ void raise_exception(int tt)
|
||||
#ifdef USE_INT_TO_FLOAT_HELPERS
|
||||
void do_fitos(void)
|
||||
{
|
||||
- FT0 = int32_to_float32(*((int32_t *)&FT1));
|
||||
+ FT0 = int32_to_float32(*((int32_t *)&FT1), &env->fp_status);
|
||||
}
|
||||
|
||||
void do_fitod(void)
|
||||
{
|
||||
- DT0 = int32_to_float64(*((int32_t *)&FT1));
|
||||
+ DT0 = int32_to_float64(*((int32_t *)&FT1), &env->fp_status);
|
||||
}
|
||||
#endif
|
||||
|
@ -1,6 +1,7 @@
|
||||
--- vl.c.orig Sat Jul 22 19:23:34 2006
|
||||
+++ vl.c Mon Feb 19 11:30:23 2007
|
||||
@@ -43,7 +43,8 @@
|
||||
$OpenBSD: patch-vl_c,v 1.14 2007/05/01 12:55:14 todd Exp $
|
||||
--- vl.c.orig Mon Feb 5 17:01:54 2007
|
||||
+++ vl.c Sat Apr 21 19:48:30 2007
|
||||
@@ -44,7 +44,8 @@
|
||||
#include <netdb.h>
|
||||
#ifdef _BSD
|
||||
#include <sys/stat.h>
|
||||
@ -10,37 +11,15 @@
|
||||
#include <libutil.h>
|
||||
#endif
|
||||
#else
|
||||
@@ -291,7 +292,7 @@ void isa_unassign_ioport(int start, int
|
||||
|
||||
/***********************************************************/
|
||||
|
||||
-void pstrcpy(char *buf, int buf_size, const char *str)
|
||||
+void pstrcpy(char *buf, size_t buf_size, const char *str)
|
||||
{
|
||||
int c;
|
||||
char *q = buf;
|
||||
@@ -309,7 +310,7 @@ void pstrcpy(char *buf, int buf_size, co
|
||||
}
|
||||
|
||||
/* strcat and truncate. */
|
||||
-char *pstrcat(char *buf, int buf_size, const char *s)
|
||||
+char *pstrcat(char *buf, size_t buf_size, const char *s)
|
||||
{
|
||||
int len;
|
||||
len = strlen(buf);
|
||||
@@ -1408,6 +1409,11 @@ static void stdio_read(void *opaque)
|
||||
uint8_t buf[1];
|
||||
|
||||
size = read(0, buf, 1);
|
||||
+ if (size == 0) {
|
||||
+ /* stdin has been closed. Remove it from the active list. */
|
||||
+ qemu_set_fd_handler2(0, NULL, NULL, NULL, NULL);
|
||||
+ return;
|
||||
+ }
|
||||
if (size > 0)
|
||||
stdio_received_byte(buf[0]);
|
||||
}
|
||||
@@ -2631,7 +2637,7 @@ static int parse_macaddr(uint8_t *macadd
|
||||
@@ -168,6 +169,7 @@ const char *vnc_display;
|
||||
int acpi_enabled = 1;
|
||||
int fd_bootchk = 1;
|
||||
int no_reboot = 0;
|
||||
+int scsi_enabled = 0;
|
||||
int daemonize = 0;
|
||||
const char *option_rom[MAX_OPTION_ROMS];
|
||||
int nb_option_roms;
|
||||
@@ -2808,7 +2810,7 @@ static int parse_macaddr(uint8_t *macaddr, const char
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -49,7 +28,7 @@
|
||||
{
|
||||
const char *p, *p1;
|
||||
int len;
|
||||
@@ -3029,11 +3035,85 @@ static int tap_open(char *ifname, int if
|
||||
@@ -3226,11 +3228,85 @@ static int tap_open(char *ifname, int ifname_size)
|
||||
char *dev;
|
||||
struct stat s;
|
||||
|
||||
@ -135,7 +114,15 @@
|
||||
|
||||
fstat(fd, &s);
|
||||
dev = devname(s.st_rdev, S_IFCHR);
|
||||
@@ -3279,7 +3359,7 @@ static int net_socket_mcast_create(struc
|
||||
@@ -3282,6 +3358,7 @@ static int net_tap_init(VLANState *vlan, const char *i
|
||||
char *args[3];
|
||||
char **parg;
|
||||
char ifname[128];
|
||||
+ bzero(&ifname,sizeof(ifname));
|
||||
|
||||
if (ifname1 != NULL)
|
||||
pstrcpy(ifname, sizeof(ifname), ifname1);
|
||||
@@ -3476,7 +3553,7 @@ static int net_socket_mcast_create(struct sockaddr_in
|
||||
/* Force mcast msgs to loopback (eg. several QEMUs in same host */
|
||||
val = 1;
|
||||
ret=setsockopt(fd, IPPROTO_IP, IP_MULTICAST_LOOP,
|
||||
@ -144,7 +131,7 @@
|
||||
if (ret < 0) {
|
||||
perror("setsockopt(SOL_IP, IP_MULTICAST_LOOP)");
|
||||
goto fail;
|
||||
@@ -3535,7 +3615,8 @@ static int net_socket_mcast_init(VLANSta
|
||||
@@ -3732,7 +3809,8 @@ static int net_socket_mcast_init(VLANState *vlan, cons
|
||||
|
||||
}
|
||||
|
||||
@ -154,31 +141,81 @@
|
||||
const char *tag, const char *str)
|
||||
{
|
||||
const char *p;
|
||||
@@ -3660,17 +3741,21 @@ int net_client_init(const char *str)
|
||||
@@ -3856,6 +3934,8 @@ static int net_client_init(const char *str)
|
||||
if (!strcmp(device, "tap")) {
|
||||
char ifname[64];
|
||||
char setup_script[1024];
|
||||
+ bzero(&ifname,sizeof(ifname));
|
||||
+ bzero(&setup_script,sizeof(setup_script));
|
||||
int fd;
|
||||
+ bzero(&ifname,sizeof(ifname));
|
||||
+ bzero(&setup_script,sizeof(setup_script));
|
||||
if (get_param_value(buf, sizeof(buf), "fd", p) > 0) {
|
||||
fd = strtol(buf, NULL, 0);
|
||||
ret = -1;
|
||||
@@ -3863,13 +3943,13 @@ static int net_client_init(const char *str)
|
||||
if (net_tap_fd_init(vlan, fd))
|
||||
ret = 0;
|
||||
} else {
|
||||
- get_param_value(ifname, sizeof(ifname), "ifname", p);
|
||||
- if (get_param_value(ifname, sizeof(ifname), "ifname", p) <= 0) {
|
||||
- ifname[0] = '\0';
|
||||
- }
|
||||
if (get_param_value(setup_script, sizeof(setup_script), "script", p) == 0) {
|
||||
pstrcpy(setup_script, sizeof(setup_script), DEFAULT_NETWORK_SCRIPT);
|
||||
}
|
||||
- ret = net_tap_init(vlan, ifname, setup_script);
|
||||
+ if (get_param_value(ifname, sizeof(ifname), "ifname", p) == 0)
|
||||
+ ret = net_tap_init(vlan, NULL, setup_script);
|
||||
+ else
|
||||
+ ret = net_tap_init(vlan, ifname, setup_script);
|
||||
+ ret = net_tap_init(vlan, NULL, setup_script);
|
||||
+ else
|
||||
+ ret = net_tap_init(vlan, NULL, setup_script);
|
||||
}
|
||||
} else
|
||||
#endif
|
||||
@@ -5671,7 +5756,7 @@ int main(int argc, char **argv)
|
||||
@@ -6117,6 +6197,7 @@ void help(void)
|
||||
"-no-acpi disable ACPI\n"
|
||||
#endif
|
||||
"-no-reboot exit instead of rebooting\n"
|
||||
+ "-scsienable enable scsi devices\n"
|
||||
"-loadvm file start right away with a saved state (loadvm in monitor)\n"
|
||||
"-vnc display start a VNC server on display\n"
|
||||
#ifndef _WIN32
|
||||
@@ -6205,7 +6286,8 @@ enum {
|
||||
QEMU_OPTION_no_reboot,
|
||||
QEMU_OPTION_daemonize,
|
||||
QEMU_OPTION_option_rom,
|
||||
- QEMU_OPTION_semihosting
|
||||
+ QEMU_OPTION_semihosting,
|
||||
+ QEMU_OPTION_scsi
|
||||
};
|
||||
|
||||
typedef struct QEMUOption {
|
||||
@@ -6281,6 +6363,7 @@ const QEMUOption qemu_options[] = {
|
||||
{ "usbdevice", HAS_ARG, QEMU_OPTION_usbdevice },
|
||||
{ "smp", HAS_ARG, QEMU_OPTION_smp },
|
||||
{ "vnc", HAS_ARG, QEMU_OPTION_vnc },
|
||||
+ { "scsienable", 0, QEMU_OPTION_scsi },
|
||||
|
||||
/* temporary options */
|
||||
{ "usb", 0, QEMU_OPTION_usb },
|
||||
@@ -6570,7 +6653,11 @@ int main(int argc, char **argv)
|
||||
gdbstub_port = DEFAULT_GDBSTUB_PORT;
|
||||
#endif
|
||||
snapshot = 0;
|
||||
+#if defined(CONFIG_SDL) || defined(CONFIG_COCOA)
|
||||
nographic = 0;
|
||||
+#else
|
||||
+ nographic = 1;
|
||||
+#endif
|
||||
kernel_filename = NULL;
|
||||
kernel_cmdline = "";
|
||||
#ifdef TARGET_PPC
|
||||
@@ -6580,14 +6667,14 @@ int main(int argc, char **argv)
|
||||
#endif
|
||||
cyls = heads = secs = 0;
|
||||
translation = BIOS_ATA_TRANSLATION_AUTO;
|
||||
- pstrcpy(monitor_device, sizeof(monitor_device), "vc");
|
||||
+ pstrcpy(monitor_device, sizeof(monitor_device), nographic ? "stdio" : "vc" );
|
||||
|
||||
- pstrcpy(serial_devices[0], sizeof(serial_devices[0]), "vc");
|
||||
+ pstrcpy(serial_devices[0], sizeof(serial_devices[0]), nographic ? "stdio" : "vc");
|
||||
for(i = 1; i < MAX_SERIAL_PORTS; i++)
|
||||
serial_devices[i][0] = '\0';
|
||||
serial_device_index = 0;
|
||||
|
||||
@ -187,3 +224,13 @@
|
||||
for(i = 1; i < MAX_PARALLEL_PORTS; i++)
|
||||
parallel_devices[i][0] = '\0';
|
||||
parallel_device_index = 0;
|
||||
@@ -6940,6 +7027,9 @@ int main(int argc, char **argv)
|
||||
break;
|
||||
case QEMU_OPTION_no_acpi:
|
||||
acpi_enabled = 0;
|
||||
+ break;
|
||||
+ case QEMU_OPTION_scsi:
|
||||
+ scsi_enabled = 1;
|
||||
break;
|
||||
case QEMU_OPTION_no_reboot:
|
||||
no_reboot = 1;
|
||||
|
@ -1,14 +1,22 @@
|
||||
$OpenBSD: patch-vl_h,v 1.6 2006/12/22 17:31:45 todd Exp $
|
||||
--- vl.h.orig Sat Jul 22 13:23:34 2006
|
||||
+++ vl.h Sun Nov 12 17:10:10 2006
|
||||
@@ -104,8 +104,8 @@ void hw_error(const char *fmt, ...);
|
||||
|
||||
extern const char *bios_dir;
|
||||
$OpenBSD: patch-vl_h,v 1.7 2007/05/01 12:55:14 todd Exp $
|
||||
--- vl.h.orig Mon Feb 5 17:01:54 2007
|
||||
+++ vl.h Fri Apr 6 13:18:16 2007
|
||||
@@ -101,8 +101,8 @@ static inline char *realpath(const char *path, char *r
|
||||
#endif
|
||||
|
||||
/* cutils.c */
|
||||
-void pstrcpy(char *buf, int buf_size, const char *str);
|
||||
-char *pstrcat(char *buf, int buf_size, const char *s);
|
||||
+void pstrcpy(char *buf, size_t buf_size, const char *str);
|
||||
+char *pstrcat(char *buf, size_t buf_size, const char *s);
|
||||
int strstart(const char *str, const char *val, const char **ptr);
|
||||
int stristart(const char *str, const char *val, const char **ptr);
|
||||
|
||||
@@ -114,6 +114,7 @@ void hw_error(const char *fmt, ...);
|
||||
extern const char *bios_dir;
|
||||
|
||||
extern int vm_running;
|
||||
+extern int scsi_enabled;
|
||||
|
||||
typedef struct vm_change_state_entry VMChangeStateEntry;
|
||||
typedef void VMChangeStateHandler(void *opaque, int running);
|
||||
|
@ -1,101 +0,0 @@
|
||||
$OpenBSD: patch-x_keymap_c,v 1.1 2005/08/11 01:15:17 todd Exp $
|
||||
--- x_keymap.c.orig Mon Apr 25 08:36:00 2005
|
||||
+++ x_keymap.c Mon Apr 25 08:36:00 2005
|
||||
@@ -0,0 +1,97 @@
|
||||
+/*
|
||||
+ * QEMU SDL display driver
|
||||
+ *
|
||||
+ * Copyright (c) 2003 Fabrice Bellard
|
||||
+ *
|
||||
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
+ * of this software and associated documentation files (the "Software"), to deal
|
||||
+ * in the Software without restriction, including without limitation the rights
|
||||
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
+ * copies of the Software, and to permit persons to whom the Software is
|
||||
+ * furnished to do so, subject to the following conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice shall be included in
|
||||
+ * all copies or substantial portions of the Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
+ * THE SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+static const uint8_t x_keycode_to_pc_keycode[61] = {
|
||||
+ 0xc7, /* 97 Home */
|
||||
+ 0xc8, /* 98 Up */
|
||||
+ 0xc9, /* 99 PgUp */
|
||||
+ 0xcb, /* 100 Left */
|
||||
+ 0x4c, /* 101 KP-5 */
|
||||
+ 0xcd, /* 102 Right */
|
||||
+ 0xcf, /* 103 End */
|
||||
+ 0xd0, /* 104 Down */
|
||||
+ 0xd1, /* 105 PgDn */
|
||||
+ 0xd2, /* 106 Ins */
|
||||
+ 0xd3, /* 107 Del */
|
||||
+ 0x9c, /* 108 Enter */
|
||||
+ 0x9d, /* 109 Ctrl-R */
|
||||
+ 0x0, /* 110 Pause */
|
||||
+ 0xb7, /* 111 Print */
|
||||
+ 0xb5, /* 112 Divide */
|
||||
+ 0xb8, /* 113 Alt-R */
|
||||
+ 0xc6, /* 114 Break */
|
||||
+ 0x0, /* 115 */
|
||||
+ 0x0, /* 116 */
|
||||
+ 0x0, /* 117 */
|
||||
+ 0x0, /* 118 */
|
||||
+ 0x0, /* 119 */
|
||||
+ 0x70, /* 120 Hiragana_Katakana */
|
||||
+ 0x0, /* 121 */
|
||||
+ 0x0, /* 122 */
|
||||
+ 0x73, /* 123 backslash */
|
||||
+ 0x0, /* 124 */
|
||||
+ 0x0, /* 125 */
|
||||
+ 0x0, /* 126 */
|
||||
+ 0x0, /* 127 */
|
||||
+ 0x0, /* 128 */
|
||||
+ 0x79, /* 129 Henkan */
|
||||
+ 0x0, /* 130 */
|
||||
+ 0x7b, /* 131 Muhenkan */
|
||||
+ 0x0, /* 132 */
|
||||
+ 0x7d, /* 133 Yen */
|
||||
+ 0x0, /* 134 */
|
||||
+ 0x0, /* 135 */
|
||||
+ 0x47, /* 136 KP_7 */
|
||||
+ 0x48, /* 137 KP_8 */
|
||||
+ 0x49, /* 138 KP_9 */
|
||||
+ 0x4b, /* 139 KP_4 */
|
||||
+ 0x4c, /* 140 KP_5 */
|
||||
+ 0x4d, /* 141 KP_6 */
|
||||
+ 0x4f, /* 142 KP_1 */
|
||||
+ 0x50, /* 143 KP_2 */
|
||||
+ 0x51, /* 144 KP_3 */
|
||||
+ 0x52, /* 145 KP_0 */
|
||||
+ 0x53, /* 146 KP_. */
|
||||
+ 0x47, /* 147 KP_HOME */
|
||||
+ 0x48, /* 148 KP_UP */
|
||||
+ 0x49, /* 149 KP_PgUp */
|
||||
+ 0x4b, /* 150 KP_Left */
|
||||
+ 0x4c, /* 151 KP_ */
|
||||
+ 0x4d, /* 152 KP_Right */
|
||||
+ 0x4f, /* 153 KP_End */
|
||||
+ 0x50, /* 154 KP_Down */
|
||||
+ 0x51, /* 155 KP_PgDn */
|
||||
+ 0x52, /* 156 KP_Ins */
|
||||
+ 0x53, /* 157 KP_Del */
|
||||
+};
|
||||
+
|
||||
+static uint8_t _native_scancode(const int key)
|
||||
+{
|
||||
+#if defined(_WIN32) && 0
|
||||
+ return key;
|
||||
+#else
|
||||
+ return x_keycode_to_pc_keycode[key];
|
||||
+#endif
|
||||
+}
|
||||
+
|
@ -1,4 +1,4 @@
|
||||
@comment $OpenBSD: PLIST,v 1.7 2006/12/22 17:31:45 todd Exp $
|
||||
@comment $OpenBSD: PLIST,v 1.8 2007/05/01 12:55:14 todd Exp $
|
||||
bin/qemu
|
||||
bin/qemu-img
|
||||
bin/qemu-system-arm
|
||||
@ -58,6 +58,9 @@ share/qemu/keymaps/tr
|
||||
share/qemu/linux_boot.bin
|
||||
share/qemu/openbios-sparc32
|
||||
share/qemu/ppc_rom.bin
|
||||
share/qemu/pxe-ne2k_pci.bin
|
||||
share/qemu/pxe-pcnet.bin
|
||||
share/qemu/pxe-rtl8139.bin
|
||||
share/qemu/vgabios-cirrus.bin
|
||||
share/qemu/vgabios.bin
|
||||
share/qemu/video.x
|
||||
|
Loading…
x
Reference in New Issue
Block a user