Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Jun 2004 02:28:04 +0200 (CEST)
From:      Juergen Lock <nox@jelal.kn-bremen.de>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/67583: emulators/qemu port update
Message-ID:  <200406050028.i550S4Y05453@saturn.kn-bremen.de>
Resent-Message-ID: <200406050100.i5510dUU033293@freefall.freebsd.org>

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

>Number:         67583
>Category:       ports
>Synopsis:       emulators/qemu port update
>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:   Fri Jun 04 18:00:39 PDT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Juergen Lock
>Release:        FreeBSD 5.2.1-SECURITY i386
>Organization:
me?  organized??
>Environment:
System: FreeBSD neptun 5.2.1-SECURITY FreeBSD 5.2.1-SECURITY #0: Sun Mar 28 22:11:39 GMT 2004     root@builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386


>Description:

	update to today's cvs, change GNU_CONFIGURE back to
HAS_CONFIGURE (the configure it uses is not autoconf-generated.)
This version (partly) fixes slirp dhcp, adds the sendkey monitor
command, etc.

>How-To-Repeat:
	
>Fix:

Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/Makefile,v
retrieving revision 1.1
diff -u -r1.1 Makefile
--- Makefile	3 Jun 2004 02:12:51 -0000	1.1
+++ Makefile	4 Jun 2004 22:37:31 -0000
@@ -6,17 +6,17 @@
 #
 
 PORTNAME=	qemu
-PORTVERSION=	0.5.5.s.20040530
+PORTVERSION=	0.5.5.s.20040604
 CATEGORIES=	emulators
 MASTER_SITES=	http://dad-answers.com/qemu/
-DISTNAME=	${PORTNAME}-snapshot-2004-05-30_23-40
+DISTNAME=	${PORTNAME}-snapshot-2004-06-04_23-40
 
 MAINTAINER=	nox@jelal.kn-bremen.de
 COMMENT=	QEMU CPU Emulator
 
 BUILD_DEPENDS+=	texi2html:${PORTSDIR}/textproc/texi2html
 
-GNU_CONFIGURE=	yes
+HAS_CONFIGURE=	yes
 USE_BZIP2=	yes
 USE_GMAKE=	yes
 USE_SDL=	sdl
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/distinfo,v
retrieving revision 1.1
diff -u -r1.1 distinfo
--- distinfo	3 Jun 2004 02:12:51 -0000	1.1
+++ distinfo	4 Jun 2004 21:17:40 -0000
@@ -1,2 +1,2 @@
-MD5 (qemu-snapshot-2004-05-30_23-40.tar.bz2) = 4ce3834c66e4628e33a083db5e542287
-SIZE (qemu-snapshot-2004-05-30_23-40.tar.bz2) = 637024
+MD5 (qemu-snapshot-2004-06-04_23-40.tar.bz2) = 1fbec49539edd996557cf6fce19416c3
+SIZE (qemu-snapshot-2004-06-04_23-40.tar.bz2) = 641652
Index: pkg-message
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/pkg-message,v
retrieving revision 1.1
diff -u -r1.1 pkg-message
--- pkg-message	3 Jun 2004 02:12:51 -0000	1.1
+++ pkg-message	4 Jun 2004 23:46:43 -0000
@@ -1,13 +1,20 @@
 ====
 FreeBSD host notes:
 - needs to run as root in order to use /dev/tap* networking (why?)
-- slirp (usermode networking) compiles but doesn't seem to work for
-me - seems to have a timer problem (time sleep 1 takes 49 seconds
+- slirp (usermode networking) still has a dhcp problem at least for
+FreeSBIE guests even with the fix now in cvs, to use it you have to
+manually do:
+	ifconfig ed0 10.0.2.15
+	route add default 10.0.2.2
+	echo nameserver 10.0.2.3 >/etc/resolv.conf
+(traffic to address 10.0.2.2 is routed to 127.1 on the host)
+- seems to have a timer problem (time sleep 1 takes 49 seconds
 and booting sleeps for minutes at the acd0 probe), but only on
-_some_ guest systems (FreeSBIE, knoppix.)  An installed 5.2.1 guest
-system works ok (this also doesn't happen with linux as host.)  And
-enabling /dev/rtc doesn't help either... (not included since it
-needs a patch to emulators/rtc.)
+_some_ guest systems (FreeSBIE, knoppix 3.4 with 2.6 kernel.)
+knoppix 3.4 with the 2.4 kernel and an installed 5.2.1 guest system
+work ok (this also doesn't happen with linux as host.)  And enabling
+/dev/rtc doesn't help either... (not included since it needs a
+patch to emulators/rtc.)
 - using physical media doesn't work on 4.x hosts (missing DIOCGMEDIASIZE
 ioctl)
 ====
--- /dev/null	Sat Jun  5 01:44:00 2004
+++ files/patch-bk	Sat Jun  5 00:26:55 2004
@@ -0,0 +1,127 @@
+Revert this, breaks the right alt key (which is important if you use a
+german keymap, seems to send scroll-lock instead...)
+
+Index: qemu/sdl.c
+@@ -63,24 +63,25 @@
+     ds->depth = screen->format->BitsPerPixel;
+ }
+ 
+-static const uint8_t x_keycode_to_pc_keycode[61] = {
+-   0xc7,      /*  97  Home   */
+-   0xc8,      /*  98  Up     */
+-   0xc9,      /*  99  PgUp   */
+-   0xcb,      /* 100  Left   */
++static const uint32_t x_keycode_to_pc_keycode[61] = {
++   0x47e0,      /*  97  Home   */
++   0x48e0,      /*  98  Up     */
++   0x49e0,      /*  99  PgUp   */
++   0x4be0,      /* 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 */
+-   0xb7,      /* 111  Print  */
+-   0xb5,      /* 112  Divide */
+-   0xb8,      /* 113  Alt-R  */
+-   0xc6,      /* 114  Break  */   
++   0x4de0,      /* 102  Right  */
++   0x4fe0,      /* 103  End    */
++   0x50e0,      /* 104  Down   */
++   0x51e0,      /* 105  PgDn   */
++   0x52e0,      /* 106  Ins    */
++   0x53e0,      /* 107  Del    */
++   0x1ce0,      /* 108  Enter  */
++   0x1de0,      /* 109  Ctrl-R */
++   0x451de1,    /* 110  Pause  */
++   0x37e0,      /* 111  Print  */
++   0x35e0,      /* 112  Divide */
++   0x38e0,      /* 113  Alt-R  */
++   0x46e0,      /* 114  Break  */   
+    0x0,         /* 115 */
+    0x0,         /* 116 */
+    0x0,         /* 117 */
+@@ -128,25 +129,11 @@
+ 
+ static void sdl_process_key(SDL_KeyboardEvent *ev)
+ {
+-    int keycode, v, i;
+-    static uint8_t modifiers_state[256];
+-
+-    if (ev->keysym.sym == SDLK_PAUSE) {
+-        /* specific case */
+-        v = 0;
+-        if (ev->type == SDL_KEYUP)
+-            v |= 0x80;
+-        kbd_put_keycode(0xe1);
+-        kbd_put_keycode(0x1d | v);
+-        kbd_put_keycode(0x45 | v);
+-        return;
+-    }
+-
++    int keycode, v;
++    
+     /* XXX: not portable, but avoids complicated mappings */
+     keycode = ev->keysym.scancode;
+ 
+-    /* XXX: windows version may not work: 0xe0/0xe1 should be trapped
+-       ? */
+ #ifndef _WIN32
+     if (keycode < 9) {
+         keycode = 0;
+@@ -159,44 +146,15 @@
+         keycode = 0;
+     }
+ #endif
+-
+-    switch(keycode) {
+-    case 0x00:
+-        /* sent when leaving window: reset the modifiers state */
+-        for(i = 0; i < 256; i++) {
+-            if (modifiers_state[i]) {
+-                if (i & 0x80)
+-                    kbd_put_keycode(0xe0);
+-                kbd_put_keycode(i | 0x80);
+-            }
+-        }
+-        return;
+-    case 0x2a:                          /* Left Shift */
+-    case 0x36:                          /* Right Shift */
+-    case 0x1d:                          /* Left CTRL */
+-    case 0x9d:                          /* Right CTRL */
+-    case 0x38:                          /* Left ALT */
+-    case 0xb8:                         /* Right ALT */
++    
++    /* now send the key code */
++    while (keycode != 0) {
++        v = keycode & 0xff;
+         if (ev->type == SDL_KEYUP)
+-            modifiers_state[keycode] = 0;
+-        else
+-            modifiers_state[keycode] = 1;
+-        break;
+-    case 0x45: /* num lock */
+-    case 0x3a: /* caps lock */
+-        /* SDL does not send the key up event, so we generate it */
+-        kbd_put_keycode(keycode);
+-        kbd_put_keycode(keycode | 0x80);
+-        return;
++            v |= 0x80;
++        kbd_put_keycode(v);
++        keycode >>= 8;
+     }
+-
+-    /* now send the key code */
+-    if (keycode & 0x80)
+-        kbd_put_keycode(0xe0);
+-    if (ev->type == SDL_KEYUP)
+-        kbd_put_keycode(keycode | 0x80);
+-    else
+-        kbd_put_keycode(keycode & 0x7f);
+ }
+ 
+ static void sdl_update_caption(void)
>Release-Note:
>Audit-Trail:
>Unformatted:



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