1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-17 03:25:46 +00:00

Update to 2007-02-03 snapshot:

- Fix `could not open hard disk image '/dev/ad0'' (e.g.) when open(2)
fails with EPERM instead of EACCES for ro devices.
- PIIX4 support, by Aurelien Jarno.
- Gallileo GT64xxx support, by Aurelien Jarno.
- MIPS Malta system and devices support, by Aurelien Jarno and Stefan Weil.
- ARM ELF loader.
- Improved console handling, thanks Stefan Weil.
- Disable Malta floppy controller for now, by Aurelien Jarno.
- Big endian support for Gallileo, by Aurelien Jarno.
- Add more ATAPI CDROM DMA support, by Juergen Keil.
- Add ARM Angel semihosting to system emulation.
- Don't resume guest when gdb connection terminates and -S specified.
- mips: Implementing dmfc/dmtc.
- Fix DMA timeouts on FreeBSD, by Carlo Marcelo Arenas Belon.
- New multiple snapshot support for VMDK, by Igor Lvovsky.
- Add support for 82371FB (Step A1) and Improved support for 82371SB
(Function 1), by Carlo Marcelo Arenas Belon.
- Accept -help.
- Accept --foo as an alias for -foo.
- Add nodelay option for TCP character devices.
- Use standard character device interface for gdbstub.
- GDB hosted syscalls.
- Upgrade the apic version_id, by Don Laor.
- Save some vm space for the regular program loading zone, by
Pierre d'Herbemont
- script=no for the TUN/TAP net option, by Jean-Christian de Rivaz
- Sparc arm/mips/sparc register patch, by Martin Bochnig.
- PIIX4 SMBus host, EEPROM device emulation, by Ed Swierk.
- sem* and msg* for qemu, by Kirill Shutemov.
- And some more bugfixes.

Approved by:	miwi (mentor, implicit)
This commit is contained in:
Juergen Lock 2007-02-03 22:15:28 +00:00
parent 40002f5911
commit 3c8cb897ad
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=184058
22 changed files with 108 additions and 158 deletions

View File

@ -6,17 +6,18 @@
#
PORTNAME= qemu
PORTVERSION= 0.8.2s.20070111
PORTREVISION= 1
PORTVERSION= 0.8.2s.20070203
CATEGORIES= emulators
MASTER_SITES= http://www.qemu.org/:release \
http://qemu-forum.ipi.fi/qemu-snapshots/:snapshot \
http://people.fruitsalad.org/nox/qemu/:snapshot \
http://www.volny.cz/xnavara/qemu/:snapshot \
http://people.brandeis.edu/~jcoiner/qemu_idedma/:idedma \
http://people.freebsd.org/~maho/qemu/:misc
DISTNAME= ${PORTNAME}-snapshot-2007-01-11_05
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot
http://people.freebsd.org/~maho/qemu/:misc \
http://people.freebsd.org/~jkim/:bios
DISTNAME= ${PORTNAME}-snapshot-2007-02-03_05
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot \
qemu-bios.bin:bios
DIST_SUBDIR= qemu
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
@ -81,6 +82,7 @@ post-extract:
@${MKDIR} ${WRKSRC}/kqemu
@${TOUCH} ${WRKSRC}/kqemu/Makefile
@${ECHO} all: > ${WRKSRC}/kqemu/Makefile.freebsd
@${CP} -p ${_DISTDIR}/qemu-bios.bin ${WRKSRC}/pc-bios/bios.bin
pre-patch:
@for A in ${ONLY_FOR_ARCHS}; do \

View File

@ -1,6 +1,9 @@
MD5 (qemu/qemu-snapshot-2007-01-11_05.tar.bz2) = 6b183198ea932853664edbff595579c7
SHA256 (qemu/qemu-snapshot-2007-01-11_05.tar.bz2) = 4020ae33a58fba1a205c77a70fce21ba8e1843adcb8bedcabfbc7f84c53b35a1
SIZE (qemu/qemu-snapshot-2007-01-11_05.tar.bz2) = 1576375
MD5 (qemu/qemu-snapshot-2007-02-03_05.tar.bz2) = b6d267210c6dd74d0ddd5be7ecbd90d4
SHA256 (qemu/qemu-snapshot-2007-02-03_05.tar.bz2) = 05babc93d39140f7257a1accd43dbf38142ebdf4ae837c1994b6054449ee78de
SIZE (qemu/qemu-snapshot-2007-02-03_05.tar.bz2) = 1634923
MD5 (qemu/qemu-bios.bin) = 173e256f17b4ac1f6e3249c83071e8f5
SHA256 (qemu/qemu-bios.bin) = 452d863ec8ac9e2246950ac204410e847cdeba880d7bec2aeb79c4f2fbb0ad17
SIZE (qemu/qemu-bios.bin) = 131072
MD5 (qemu/patch3_cirrus) = ebe7ed9fce804c49e024bc93bfdfc810
SHA256 (qemu/patch3_cirrus) = e862371834b7d895a896fbdb84fd9f70d17b5729a6f6789a48a61504fc941e11
SIZE (qemu/patch3_cirrus) = 8817

View File

@ -0,0 +1,10 @@
Index: qemu/block.c
@@ -381,7 +381,7 @@
else
open_flags = flags & ~(BDRV_O_FILE | BDRV_O_SNAPSHOT);
ret = drv->bdrv_open(bs, filename, open_flags);
- if (ret == -EACCES && !(flags & BDRV_O_FILE)) {
+ if ((ret == -EACCES || ret == -EPERM) && !(flags & BDRV_O_FILE)) {
ret = drv->bdrv_open(bs, filename, BDRV_O_RDONLY);
bs->read_only = 1;
}

View File

@ -1,13 +1,13 @@
Index: qemu/configure
@@ -134,6 +134,7 @@
@@ -139,6 +139,7 @@
oss="yes"
linux="yes"
user="yes"
linux_user="yes"
+usb="linux"
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
kqemu="yes"
fi
@@ -143,6 +144,7 @@
@@ -148,6 +149,7 @@
if [ "$bsd" = "yes" ] ; then
if [ "$darwin" != "yes" ] ; then
make="gmake"
@ -15,7 +15,7 @@ Index: qemu/configure
fi
fi
@@ -724,6 +726,19 @@
@@ -786,6 +788,19 @@
fi
echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h

View File

@ -1,14 +1,13 @@
--- qemu/cpu-exec.c.orig Wed Jan 31 16:58:03 2007
+++ qemu/cpu-exec.c Wed Jan 31 17:08:11 2007
Index: qemu/cpu-exec.c
@@ -226,9 +226,9 @@
int cpu_exec(CPUState *env1)
{
- int saved_T0, saved_T1;
+ long saved_T0, saved_T1;
- target_ulong saved_T0, saved_T1;
+ unsigned long saved_T0, saved_T1;
#if defined(reg_T2)
- int saved_T2;
+ long saved_T2;
- target_ulong saved_T2;
+ unsigned long saved_T2;
#endif
CPUState *saved_env;
#if defined(TARGET_I386)

View File

@ -1,7 +1,7 @@
Index: qemu/osdep.c
@@ -323,7 +323,9 @@
@@ -79,7 +79,9 @@
#elif defined(USE_KQEMU)
#if defined(USE_KQEMU)
+#ifndef __FreeBSD__
#include <sys/vfs.h>
@ -9,15 +9,15 @@ Index: qemu/osdep.c
#include <sys/mman.h>
#include <fcntl.h>
@@ -334,6 +336,7 @@
@@ -90,6 +92,7 @@
const char *tmpdir;
char phys_ram_file[1024];
void *ptr;
+#ifndef __FreeBSD__
struct statfs stfs;
if (phys_ram_fd < 0) {
@@ -389,12 +392,20 @@
#ifdef HOST_SOLARIS
struct statvfs stfs;
#else
@@ -151,12 +154,20 @@
}
unlink(phys_ram_file);
}

View File

@ -1,14 +0,0 @@
Index: qemu/sdl.c
@@ -115,9 +115,9 @@
0xb5, /* 112 Divide */
0xb8, /* 113 Alt-R */
0xc6, /* 114 Break */
- 0x0, /* 115 */
- 0x0, /* 116 */
- 0x0, /* 117 */
+ 0xdb, /* 115 windows left button */
+ 0xdc, /* 116 windows right button */
+ 0xdd, /* 117 right menu button */
0x0, /* 118 */
0x0, /* 119 */
0x70, /* 120 Hiragana_Katakana */

View File

@ -1,26 +0,0 @@
Index: qemu/slirp/udp.c
@@ -205,8 +208,6 @@
/* udp_last_so = so; */
so->so_laddr = ip->ip_src;
so->so_lport = uh->uh_sport;
- so->so_faddr = ip->ip_dst; /* XXX */
- so->so_fport = uh->uh_dport; /* XXX */
if ((so->so_iptos = udp_tos(so)) == 0)
so->so_iptos = ip->ip_tos;
@@ -216,6 +217,15 @@
* and if it is, do the fork_exec() etc.
*/
}
+
+ /*
+ * Assign destination unconditionally
+ *
+ * This fixes the case where packets are sent from the same
+ * source ip/port to different destination ips/ports
+ */
+ so->so_faddr = ip->ip_dst; /* XXX */
+ so->so_fport = uh->uh_dport; /* XXX */
iphlen += sizeof(struct udphdr);
m->m_len -= iphlen;

View File

@ -9,7 +9,7 @@
#endif
#else
#ifndef __sun__
@@ -1728,7 +1730,65 @@
@@ -1728,7 +1730,64 @@
chr->chr_ioctl = pp_ioctl;
return chr;
}
@ -68,7 +68,6 @@
+ }
+ chr->opaque = (void *)fd;
+ chr->chr_write = null_chr_write;
+ chr->chr_add_read_handler = null_chr_add_read_handler;
+ chr->chr_ioctl = pp_ioctl;
+ return chr;
+}

View File

@ -1,12 +0,0 @@
Index: qemu/vl.h
@@ -73,6 +73,10 @@
#define PRIo64 "I64o"
#endif
+#ifndef ENOMEDIUM
+#define ENOMEDIUM 4097
+#endif
+
#ifdef QEMU_TOOL
/* we use QEMU_TOOL in the command line tools which do not depend on

View File

@ -0,0 +1,14 @@
Index: qemu/x_keymap.c
@@ -41,9 +41,9 @@
0xb5, /* 112 Divide */
0xb8, /* 113 Alt-R */
0xc6, /* 114 Break */
- 0x0, /* 115 */
- 0x0, /* 116 */
- 0x0, /* 117 */
+ 0xdb, /* 115 left windows key */
+ 0xdc, /* 116 right windows key */
+ 0xdd, /* 117 right menu key */
0x0, /* 118 */
0x0, /* 119 */
0x0, /* 120 */

View File

@ -6,17 +6,18 @@
#
PORTNAME= qemu
PORTVERSION= 0.8.2s.20070111
PORTREVISION= 1
PORTVERSION= 0.8.2s.20070203
CATEGORIES= emulators
MASTER_SITES= http://www.qemu.org/:release \
http://qemu-forum.ipi.fi/qemu-snapshots/:snapshot \
http://people.fruitsalad.org/nox/qemu/:snapshot \
http://www.volny.cz/xnavara/qemu/:snapshot \
http://people.brandeis.edu/~jcoiner/qemu_idedma/:idedma \
http://people.freebsd.org/~maho/qemu/:misc
DISTNAME= ${PORTNAME}-snapshot-2007-01-11_05
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot
http://people.freebsd.org/~maho/qemu/:misc \
http://people.freebsd.org/~jkim/:bios
DISTNAME= ${PORTNAME}-snapshot-2007-02-03_05
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot \
qemu-bios.bin:bios
DIST_SUBDIR= qemu
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
@ -81,6 +82,7 @@ post-extract:
@${MKDIR} ${WRKSRC}/kqemu
@${TOUCH} ${WRKSRC}/kqemu/Makefile
@${ECHO} all: > ${WRKSRC}/kqemu/Makefile.freebsd
@${CP} -p ${_DISTDIR}/qemu-bios.bin ${WRKSRC}/pc-bios/bios.bin
pre-patch:
@for A in ${ONLY_FOR_ARCHS}; do \

View File

@ -1,6 +1,9 @@
MD5 (qemu/qemu-snapshot-2007-01-11_05.tar.bz2) = 6b183198ea932853664edbff595579c7
SHA256 (qemu/qemu-snapshot-2007-01-11_05.tar.bz2) = 4020ae33a58fba1a205c77a70fce21ba8e1843adcb8bedcabfbc7f84c53b35a1
SIZE (qemu/qemu-snapshot-2007-01-11_05.tar.bz2) = 1576375
MD5 (qemu/qemu-snapshot-2007-02-03_05.tar.bz2) = b6d267210c6dd74d0ddd5be7ecbd90d4
SHA256 (qemu/qemu-snapshot-2007-02-03_05.tar.bz2) = 05babc93d39140f7257a1accd43dbf38142ebdf4ae837c1994b6054449ee78de
SIZE (qemu/qemu-snapshot-2007-02-03_05.tar.bz2) = 1634923
MD5 (qemu/qemu-bios.bin) = 173e256f17b4ac1f6e3249c83071e8f5
SHA256 (qemu/qemu-bios.bin) = 452d863ec8ac9e2246950ac204410e847cdeba880d7bec2aeb79c4f2fbb0ad17
SIZE (qemu/qemu-bios.bin) = 131072
MD5 (qemu/patch3_cirrus) = ebe7ed9fce804c49e024bc93bfdfc810
SHA256 (qemu/patch3_cirrus) = e862371834b7d895a896fbdb84fd9f70d17b5729a6f6789a48a61504fc941e11
SIZE (qemu/patch3_cirrus) = 8817

View File

@ -0,0 +1,10 @@
Index: qemu/block.c
@@ -381,7 +381,7 @@
else
open_flags = flags & ~(BDRV_O_FILE | BDRV_O_SNAPSHOT);
ret = drv->bdrv_open(bs, filename, open_flags);
- if (ret == -EACCES && !(flags & BDRV_O_FILE)) {
+ if ((ret == -EACCES || ret == -EPERM) && !(flags & BDRV_O_FILE)) {
ret = drv->bdrv_open(bs, filename, BDRV_O_RDONLY);
bs->read_only = 1;
}

View File

@ -1,13 +1,13 @@
Index: qemu/configure
@@ -134,6 +134,7 @@
@@ -139,6 +139,7 @@
oss="yes"
linux="yes"
user="yes"
linux_user="yes"
+usb="linux"
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
kqemu="yes"
fi
@@ -143,6 +144,7 @@
@@ -148,6 +149,7 @@
if [ "$bsd" = "yes" ] ; then
if [ "$darwin" != "yes" ] ; then
make="gmake"
@ -15,7 +15,7 @@ Index: qemu/configure
fi
fi
@@ -724,6 +726,19 @@
@@ -786,6 +788,19 @@
fi
echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h

View File

@ -1,14 +1,13 @@
--- qemu/cpu-exec.c.orig Wed Jan 31 16:58:03 2007
+++ qemu/cpu-exec.c Wed Jan 31 17:08:11 2007
Index: qemu/cpu-exec.c
@@ -226,9 +226,9 @@
int cpu_exec(CPUState *env1)
{
- int saved_T0, saved_T1;
+ long saved_T0, saved_T1;
- target_ulong saved_T0, saved_T1;
+ unsigned long saved_T0, saved_T1;
#if defined(reg_T2)
- int saved_T2;
+ long saved_T2;
- target_ulong saved_T2;
+ unsigned long saved_T2;
#endif
CPUState *saved_env;
#if defined(TARGET_I386)

View File

@ -1,7 +1,7 @@
Index: qemu/osdep.c
@@ -323,7 +323,9 @@
@@ -79,7 +79,9 @@
#elif defined(USE_KQEMU)
#if defined(USE_KQEMU)
+#ifndef __FreeBSD__
#include <sys/vfs.h>
@ -9,15 +9,15 @@ Index: qemu/osdep.c
#include <sys/mman.h>
#include <fcntl.h>
@@ -334,6 +336,7 @@
@@ -90,6 +92,7 @@
const char *tmpdir;
char phys_ram_file[1024];
void *ptr;
+#ifndef __FreeBSD__
struct statfs stfs;
if (phys_ram_fd < 0) {
@@ -389,12 +392,20 @@
#ifdef HOST_SOLARIS
struct statvfs stfs;
#else
@@ -151,12 +154,20 @@
}
unlink(phys_ram_file);
}

View File

@ -1,14 +0,0 @@
Index: qemu/sdl.c
@@ -115,9 +115,9 @@
0xb5, /* 112 Divide */
0xb8, /* 113 Alt-R */
0xc6, /* 114 Break */
- 0x0, /* 115 */
- 0x0, /* 116 */
- 0x0, /* 117 */
+ 0xdb, /* 115 windows left button */
+ 0xdc, /* 116 windows right button */
+ 0xdd, /* 117 right menu button */
0x0, /* 118 */
0x0, /* 119 */
0x70, /* 120 Hiragana_Katakana */

View File

@ -1,26 +0,0 @@
Index: qemu/slirp/udp.c
@@ -205,8 +208,6 @@
/* udp_last_so = so; */
so->so_laddr = ip->ip_src;
so->so_lport = uh->uh_sport;
- so->so_faddr = ip->ip_dst; /* XXX */
- so->so_fport = uh->uh_dport; /* XXX */
if ((so->so_iptos = udp_tos(so)) == 0)
so->so_iptos = ip->ip_tos;
@@ -216,6 +217,15 @@
* and if it is, do the fork_exec() etc.
*/
}
+
+ /*
+ * Assign destination unconditionally
+ *
+ * This fixes the case where packets are sent from the same
+ * source ip/port to different destination ips/ports
+ */
+ so->so_faddr = ip->ip_dst; /* XXX */
+ so->so_fport = uh->uh_dport; /* XXX */
iphlen += sizeof(struct udphdr);
m->m_len -= iphlen;

View File

@ -9,7 +9,7 @@
#endif
#else
#ifndef __sun__
@@ -1728,7 +1730,65 @@
@@ -1728,7 +1730,64 @@
chr->chr_ioctl = pp_ioctl;
return chr;
}
@ -68,7 +68,6 @@
+ }
+ chr->opaque = (void *)fd;
+ chr->chr_write = null_chr_write;
+ chr->chr_add_read_handler = null_chr_add_read_handler;
+ chr->chr_ioctl = pp_ioctl;
+ return chr;
+}

View File

@ -1,12 +0,0 @@
Index: qemu/vl.h
@@ -73,6 +73,10 @@
#define PRIo64 "I64o"
#endif
+#ifndef ENOMEDIUM
+#define ENOMEDIUM 4097
+#endif
+
#ifdef QEMU_TOOL
/* we use QEMU_TOOL in the command line tools which do not depend on

View File

@ -0,0 +1,14 @@
Index: qemu/x_keymap.c
@@ -41,9 +41,9 @@
0xb5, /* 112 Divide */
0xb8, /* 113 Alt-R */
0xc6, /* 114 Break */
- 0x0, /* 115 */
- 0x0, /* 116 */
- 0x0, /* 117 */
+ 0xdb, /* 115 left windows key */
+ 0xdc, /* 116 right windows key */
+ 0xdd, /* 117 right menu key */
0x0, /* 118 */
0x0, /* 119 */
0x0, /* 120 */