Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 May 2005 22:32:39 +0200 (CEST)
From:      Juergen Lock <nox@jelal.kn-bremen.de>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/81633: update emulators/qemu to 2005-05-28 snapshot
Message-ID:  <200505292032.j4TKWcr12825@saturn.kn-bremen.de>
Resent-Message-ID: <200505292110.j4TLA2Ll097768@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         81633
>Category:       ports
>Synopsis:       update emulators/qemu to 2005-05-28 snapshot
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sun May 29 21:10:01 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Juergen Lock
>Release:        FreeBSD 5.3-RELEASE-p2 i386
>Organization:
me?  organized??
>Environment:
System: FreeBSD saturn 5.3-RELEASE-p2 FreeBSD 5.3-RELEASE-p2 #6: Wed Feb 16 17:56:04 CET 2005     nox@saturn:/ad0/usr/home/nox/src5/usr/src/sys/i386/compile/NEPTUN  i386

>Description:

- kqemu build fix for -current (Bakul Shah)
- slirp amd64 host fixes from qemu-devel (Gwenole Beauchesne)

dcbz fix (Jocelyn Mayer), handle the case where several PCI irqs share
the same PIC irq

>How-To-Repeat:
	n/a
>Fix:

New file: files/patch-slirp

Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/Makefile,v
retrieving revision 1.25
diff -u -r1.25 Makefile
--- Makefile	5 May 2005 12:41:10 -0000	1.25
+++ Makefile	29 May 2005 14:17:25 -0000
@@ -6,12 +6,12 @@
 #
 
 PORTNAME=	qemu
-PORTVERSION=	0.7.0s.20050502
+PORTVERSION=	0.7.0s.20050528
 CATEGORIES=	emulators
 MASTER_SITES=	http://www.qemu.org/ \
 		http://people.fruitsalad.org/nox/qemu/ \
 		http://dad-answers.com/qemu/
-DISTNAME=	${PORTNAME}-snapshot-2005-05-02_23
+DISTNAME=	${PORTNAME}-snapshot-2005-05-28_23
 EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
 
 MAINTAINER=	nox@jelal.kn-bremen.de
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/distinfo,v
retrieving revision 1.18
diff -u -r1.18 distinfo
--- distinfo	5 May 2005 12:41:10 -0000	1.18
+++ distinfo	29 May 2005 14:20:36 -0000
@@ -1,4 +1,4 @@
-MD5 (qemu-snapshot-2005-05-02_23.tar.bz2) = b7d4115a68bf93a9ad2c0c64a0c59137
-SIZE (qemu-snapshot-2005-05-02_23.tar.bz2) = 1020482
+MD5 (qemu-snapshot-2005-05-28_23.tar.bz2) = f232843519396178b921676475d49615
+SIZE (qemu-snapshot-2005-05-28_23.tar.bz2) = 1020104
 MD5 (kqemu-0.6.2-1.tar.gz) = c6bb3b40fb3d526d731eb0f1f9dee7ee
 SIZE (kqemu-0.6.2-1.tar.gz) = 21002
Index: pkg-descr
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/pkg-descr,v
retrieving revision 1.1
diff -u -r1.1 pkg-descr
--- pkg-descr	3 Jun 2004 02:12:51 -0000	1.1
+++ pkg-descr	29 May 2005 14:56:42 -0000
@@ -12,5 +12,9 @@
 cross-debugging. 
 
 As QEMU requires no host kernel patches to run, it is very safe and easy to use.
+(but kqemu is now also supported for the i386 on i386 case)
+
+See also the preconfigured system images on http://www.freeoszoo.org/
+Many live cd isos also work.
 
 WWW: http://fabrice.bellard.free.fr/qemu/
Index: files/kqemu-patch
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/files/kqemu-patch,v
retrieving revision 1.1
diff -u -r1.1 kqemu-patch
--- files/kqemu-patch	5 May 2005 12:41:10 -0000	1.1
+++ files/kqemu-patch	29 May 2005 14:19:53 -0000
@@ -1,10 +1,11 @@
 Index: qemu/kqemu/Makefile
-@@ -1,62 +1,5 @@
+@@ -1,62 +1,6 @@
 -ifeq ($(PATCHLEVEL),)
 -# compile in kqemu directory 
 +KMOD=	kqemu
 +SRCS=	kmod_bsd.c
 +OBJS=	kqemu-mod-i386.o
++WERROR=
  
 --include ../config-host.mak
 -
Index: files/patch-slirp
@@ -0,0 +1,198 @@
+From: gbeauchesne@mandriva.com (Gwenole Beauchesne)
+Subject: [Qemu-devel] [PATCH] slirp 64-bit fixes
+Date: Tue, 17 May 2005 23:46:40 +0000 (UTC)
+
+Hi,
+
+Here are some 64-bit fixes to slirp. Tested on x86_64 as -user-net with a 
+single FTP transaction. You may not need all hunks though.
+
+2005-05-15  Gwenole Beauchesne  <gbeauchesne@mandriva.com>
+
+	* Merge slirp 64-bit fixes from Basilisk II tree.
+
+--- qemu-0.7.0/slirp/bootp.c.slirp-64bit-fixes	2005-04-27 22:52:05.000000000 +0200
++++ qemu-0.7.0/slirp/bootp.c	2005-05-17 07:29:29.000000000 +0200
+@@ -238,7 +238,7 @@ static void bootp_reply(struct bootp_t *
+ 
+ void bootp_input(struct mbuf *m)
+ {
+-    struct bootp_t *bp = (struct bootp_t *)m->m_data;
++    struct bootp_t *bp = mtod(m, struct bootp_t *);
+ 
+     if (bp->bp_op == BOOTP_REQUEST) {
+         bootp_reply(bp);
+--- qemu-0.7.0/slirp/bootp.h.slirp-64bit-fixes	2005-04-27 22:52:05.000000000 +0200
++++ qemu-0.7.0/slirp/bootp.h	2005-05-17 07:29:29.000000000 +0200
+@@ -97,9 +97,9 @@ struct bootp_t {
+     uint8_t bp_htype;
+     uint8_t bp_hlen;
+     uint8_t bp_hops;
+-    unsigned long bp_xid;
+-    unsigned short bp_secs;
+-    unsigned short unused;
++    uint32_t bp_xid;
++    uint16_t bp_secs;
++    uint16_t unused;
+     struct in_addr bp_ciaddr;
+     struct in_addr bp_yiaddr;
+     struct in_addr bp_siaddr;
+--- qemu-0.7.0/slirp/ip_icmp.h.slirp-64bit-fixes	2005-04-27 22:52:05.000000000 +0200
++++ qemu-0.7.0/slirp/ip_icmp.h	2005-05-17 07:29:29.000000000 +0200
+@@ -83,8 +83,8 @@ struct icmp {
+ 			struct ip idi_ip;
+ 			/* options and then 64 bits of data */
+ 		} id_ip;
+-		u_long	id_mask;
+-		char	id_data[1];
++		uint32_t	id_mask;
++		char		id_data[1];
+ 	} icmp_dun;
+ #define	icmp_otime	icmp_dun.id_ts.its_otime
+ #define	icmp_rtime	icmp_dun.id_ts.its_rtime
+--- qemu-0.7.0/slirp/libslirp.h.slirp-64bit-fixes	2005-04-27 22:52:05.000000000 +0200
++++ qemu-0.7.0/slirp/libslirp.h	2005-05-17 07:29:29.000000000 +0200
+@@ -9,6 +9,10 @@ int inet_aton(const char *cp, struct in_
+ #include <arpa/inet.h>
+ #endif
+ 
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ void slirp_init(void);
+ 
+ void slirp_select_fill(int *pnfds, 
+@@ -29,4 +33,8 @@ int slirp_add_exec(int do_pty, const cha
+ 
+ extern const char *tftp_prefix;
+ 
++#ifdef __cplusplus
++}
++#endif
++
+ #endif
+--- qemu-0.7.0/slirp/udp.c.slirp-64bit-fixes	2005-04-27 22:52:05.000000000 +0200
++++ qemu-0.7.0/slirp/udp.c	2005-05-17 07:29:29.000000000 +0200
+@@ -420,10 +420,16 @@ struct talk_request {
+ #endif
+ 	
+ struct cu_header {
+-	char 	dest[8];
+-	short 	family;
+-	u_short	port;
+-	u_long	addr;
++	uint16_t	d_family;		// destination family
++	uint16_t	d_port;			// destination port
++	uint32_t	d_addr;			// destination address
++	uint16_t	s_family;		// source family
++	uint16_t	s_port;			// source port
++	uint32_t	s_addr;			// source address
++	uint32_t	seqn;			// sequence number
++	uint16_t	message;		// message
++	uint16_t	data_type;		// data type
++	uint16_t	pkt_len;		// packet length
+ } *cu_head;
+ 
+ 	switch(so->so_emu) {
+@@ -610,8 +616,8 @@ struct cu_header {
+ 			if (getsockname(so->s, (struct sockaddr *)&addr, &addrlen) < 0)
+ 				return;
+ 			cu_head = mtod(m, struct cu_header *);
+-			cu_head->port = addr.sin_port;
+-			cu_head->addr = (u_long) our_addr.s_addr;
++			cu_head->s_port = addr.sin_port;
++			cu_head->s_addr = our_addr.s_addr;
+ 		}
+ 		
+ 		return;
+--- qemu-0.7.0/slirp/udp.h.slirp-64bit-fixes	2005-04-27 22:52:05.000000000 +0200
++++ qemu-0.7.0/slirp/udp.h	2005-05-17 07:29:29.000000000 +0200
+@@ -94,6 +94,7 @@ struct udpstat {
+ 
+ extern struct udpstat udpstat;
+ extern struct socket udb;
++struct mbuf;
+ 
+ void udp_init _P((void));
+ void udp_input _P((register struct mbuf *, int));
+--- qemu-0.7.0/slirp/slirp_config.h.slirp-64bit-fixes	2005-04-27 22:52:05.000000000 +0200
++++ qemu-0.7.0/slirp/slirp_config.h	2005-05-17 08:00:23.000000000 +0200
+@@ -85,9 +85,6 @@
+ /* Define if you have sys/bitypes.h */
+ #undef HAVE_SYS_BITYPES_H
+ 
+-/* Define if the machine is big endian */
+-//#undef WORDS_BIGENDIAN
+-
+ /* Define if your sprintf returns char * instead of int */
+ #undef BAD_SPRINTF
+ 
+@@ -139,19 +136,6 @@
+ /* Define if you don't have u_int32_t etc. typedef'd */
+ #undef NEED_TYPEDEFS
+ 
+-/* Define to sizeof(char) */
+-#define SIZEOF_CHAR 1
+-
+-/* Define to sizeof(short) */
+-#define SIZEOF_SHORT 2
+-
+-/* Define to sizeof(int) */
+-#define SIZEOF_INT 4
+-
+-/* Define to sizeof(char *) */
+-/* XXX: patch it */
+-#define SIZEOF_CHAR_P 4
+-
+ /* Define if you have random() */
+ #undef HAVE_RANDOM
+ 
+--- qemu-0.7.0/configure.slirp-64bit-fixes	2005-05-17 07:05:18.000000000 +0200
++++ qemu-0.7.0/configure	2005-05-17 08:04:55.000000000 +0200
+@@ -614,6 +614,36 @@ if [ "$bsd" = "yes" ] ; then
+   echo "#define _BSD 1" >> $config_h
+ fi
+ 
++# detect type sizes for slirp
++for type in char short int char_p; do
++  case $type in
++  *_p) c_type="`echo $type | sed -e 's/_p//'` *";;
++  *) c_type=$type;;
++  esac
++  d_type="SIZEOF_`echo $type | tr '[:lower:]' '[:upper:]'`"
++  d_size=
++  for size in 1 2 4 8 16; do
++    cat >$TMPC << EOF
++int main(void)
++{
++  static int test_array[1 - 2 * !(((long)(sizeof($c_type))) == $size)];
++  test_array[0] = 0;
++  return 0;
++}
++EOF
++    if $cc -o $TMPO -c $TMPC 2>/dev/null; then
++      d_size=$size
++      break;
++    fi
++  done
++  rm -f $TMPC $TMPO $TMPE
++  if test -n "$d_size"; then
++    echo "#define $d_type $d_size" >> $config_h
++  else
++    echo "#error \"undefined $d_type\"" >> $config_h
++  fi
++done
++
+ for target in $target_list; do 
+ 
+ target_dir="$target"
+
+
+_______________________________________________
+Qemu-devel mailing list
+Qemu-devel@nongnu.org
+http://lists.nongnu.org/mailman/listinfo/qemu-devel
+
+
+
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200505292032.j4TKWcr12825>