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:
todd 2007-05-01 12:55:13 +00:00
parent f874e62f20
commit 5ba4e4fd59
33 changed files with 503 additions and 366 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View 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);

View 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,

View File

@ -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

View File

@ -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 */

View File

@ -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. */

View File

@ -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>

View File

@ -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

View File

@ -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))

View File

@ -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;

View File

@ -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 */

View File

@ -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"

View File

@ -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__)
+

View 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);

View 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,

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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);

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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;

View File

@ -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);

View File

@ -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
+}
+

View File

@ -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