qemu: Drop unused files
authorRichard Purdie <rpurdie@rpsys.net>
Sun, 5 Nov 2006 23:29:09 +0000 (23:29 +0000)
committerRichard Purdie <rpurdie@rpsys.net>
Sun, 5 Nov 2006 23:29:09 +0000 (23:29 +0000)
packages/qemu/files/mouse_fix-r0.patch [deleted file]
packages/qemu/files/nodocs_cvs.patch [deleted file]
packages/qemu/files/qemu-usb-wacom.patch [deleted file]
packages/qemu/files/qemu-x-no-sdl.patch [deleted file]
packages/qemu/files/trunk_nodocs.patch [deleted file]

diff --git a/packages/qemu/files/mouse_fix-r0.patch b/packages/qemu/files/mouse_fix-r0.patch
deleted file mode 100644 (file)
index 8cc19f0..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-If the cursor is hidden (SDL_ShowCursor(0)) and the input is grabbed
-(SDL_WM_GrabInput(SDL_GRAB_ON)), then the mouse will give relative motion
-events even when the cursor reaches the edge fo the screen. This is currently
-only implemented on Windows and Linux/Unix-a-likes.
-
-Index: qemu/sdl.c
-===================================================================
---- qemu.orig/sdl.c    2006-04-13 12:22:22.000000000 +0100
-+++ qemu/sdl.c 2006-05-25 00:28:25.000000000 +0100
-@@ -280,13 +280,13 @@
- static void sdl_hide_cursor(void)
- {
--    SDL_SetCursor(sdl_cursor_hidden);
-+    SDL_ShowCursor(0);
- }
- static void sdl_show_cursor(void)
- {
-     if (!kbd_mouse_is_absolute()) {
--      SDL_SetCursor(sdl_cursor_normal);
-+        SDL_ShowCursor(1);
-     }
- }
diff --git a/packages/qemu/files/nodocs_cvs.patch b/packages/qemu/files/nodocs_cvs.patch
deleted file mode 100644 (file)
index b52d860..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-Index: qemu/Makefile
-===================================================================
---- qemu.orig/Makefile 2006-04-18 11:11:37.000000000 +0100
-+++ qemu/Makefile      2006-04-18 11:14:34.000000000 +0100
-@@ -11,7 +11,7 @@
- ifdef CONFIG_STATIC
- LDFLAGS+=-static
- endif
--DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1
-+DOCS=
- all: dyngen$(EXESUF) $(TOOLS) $(DOCS)
-       for d in $(TARGET_DIRS); do \
-@@ -51,11 +51,11 @@
-                       video.x proll.elf linux_boot.bin; do \
-               $(INSTALL) -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
-       done
--      mkdir -p "$(DESTDIR)$(docdir)"
--      $(INSTALL) -m 644 qemu-doc.html  qemu-tech.html "$(DESTDIR)$(docdir)"
-+#     mkdir -p "$(DESTDIR)$(docdir)"
-+#     $(INSTALL) -m 644 qemu-doc.html  qemu-tech.html "$(DESTDIR)$(docdir)"
- ifndef CONFIG_WIN32
--      mkdir -p "$(DESTDIR)$(mandir)/man1"
--      $(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
-+#     mkdir -p "$(DESTDIR)$(mandir)/man1"
-+#     $(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
-       mkdir -p "$(DESTDIR)$(datadir)/keymaps"
-       for x in $(KEYMAPS); do \
-               $(INSTALL) -m 644 $(SRC_PATH)/keymaps/$$x "$(DESTDIR)$(datadir)/keymaps"; \
-@@ -122,10 +122,10 @@
-       $(datadir)/ppc_rom.bin \
-       $(datadir)/video.x \
-       $(datadir)/proll.elf \
--      $(datadir)/linux_boot.bin \
--      $(docdir)/qemu-doc.html \
--      $(docdir)/qemu-tech.html \
--      $(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 )
-+      $(datadir)/linux_boot.bin
-+#     $(docdir)/qemu-doc.html \
-+#     $(docdir)/qemu-tech.html \
-+#     $(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 )
- ifneq ($(wildcard .depend),)
- include .depend
diff --git a/packages/qemu/files/qemu-usb-wacom.patch b/packages/qemu/files/qemu-usb-wacom.patch
deleted file mode 100644 (file)
index c1c39ec..0000000
+++ /dev/null
@@ -1,444 +0,0 @@
-diff -pNaur qemu-cvs-ts-orig/hw/usb-wacom.c qemu-cvs-ts/hw/usb-wacom.c
---- qemu-cvs-ts-orig/hw/usb-wacom.c    1970-01-01 01:00:00.000000000 +0100
-+++ qemu-cvs-ts/hw/usb-wacom.c 2006-09-22 20:44:26.000000000 +0200
-@@ -0,0 +1,407 @@
-+/*
-+ * Wacom PenPartner USB tablet emulation.
-+ *
-+ * Copyright (c) 2006 Openedhand Ltd.
-+ *
-+ * Author: Andrzej Zaborowski <balrog@zabor.org>
-+ *
-+ * Based on hw/usb-hid.c:
-+ * Copyright (c) 2005 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.
-+ */
-+#include "vl.h"
-+
-+/* Interface requests */
-+#define WACOM_GET_REPORT      0x2101
-+#define WACOM_SET_REPORT      0x2109
-+
-+/* HID interface requests */
-+#define HID_GET_REPORT                0xa101
-+#define HID_GET_IDLE          0xa102
-+#define HID_GET_PROTOCOL      0xa103
-+#define HID_SET_IDLE          0x210a
-+#define HID_SET_PROTOCOL      0x210b
-+
-+#define WACOM_MODE_HID                1
-+#define WACOM_MODE_WACOM      2
-+
-+typedef struct USBWacomState {
-+    USBDevice dev;
-+    int dx, dy, dz, buttons_state;
-+    int x, y;
-+    int mouse_grabbed;
-+    int mode;
-+} USBWacomState;
-+
-+static const uint8_t qemu_wacom_dev_descriptor[] = {
-+    0x12,     /*  u8 bLength; */
-+    0x01,     /*  u8 bDescriptorType; Device */
-+    0x10, 0x10,       /*  u16 bcdUSB; v1.10 */
-+
-+    0x00,     /*  u8  bDeviceClass; */
-+    0x00,     /*  u8  bDeviceSubClass; */
-+    0x00,     /*  u8  bDeviceProtocol; [ low/full speeds only ] */
-+    0x08,     /*  u8  bMaxPacketSize0; 8 Bytes */
-+
-+    0x6a, 0x05,       /*  u16 idVendor; */
-+    0x00, 0x00,       /*  u16 idProduct; */
-+    0x10, 0x42,       /*  u16 bcdDevice */
-+
-+    0x01,     /*  u8  iManufacturer; */
-+    0x02,     /*  u8  iProduct; */
-+    0x00,     /*  u8  iSerialNumber; */
-+    0x01,     /*  u8  bNumConfigurations; */
-+};
-+
-+static const uint8_t qemu_wacom_config_descriptor[] = {
-+    /* one configuration */
-+    0x09,     /*  u8  bLength; */
-+    0x02,     /*  u8  bDescriptorType; Configuration */
-+    0x22, 0x00,       /*  u16 wTotalLength; */
-+    0x01,     /*  u8  bNumInterfaces; (1) */
-+    0x01,     /*  u8  bConfigurationValue; */
-+    0x00,     /*  u8  iConfiguration; */
-+    0x80,     /*  u8  bmAttributes; 
-+                               Bit 7: must be set,
-+                                   6: Self-powered,
-+                                   5: Remote wakeup,
-+                                   4..0: resvd */
-+    40,               /*  u8  MaxPower; */
-+
-+    /* one interface */
-+    0x09,     /*  u8  if_bLength; */
-+    0x04,     /*  u8  if_bDescriptorType; Interface */
-+    0x00,     /*  u8  if_bInterfaceNumber; */
-+    0x00,     /*  u8  if_bAlternateSetting; */
-+    0x01,     /*  u8  if_bNumEndpoints; */
-+    0x03,     /*  u8  if_bInterfaceClass; HID */
-+    0x01,     /*  u8  if_bInterfaceSubClass; Boot */
-+    0x02,     /*  u8  if_bInterfaceProtocol; [usb1.1 or single tt] */
-+    0x00,     /*  u8  if_iInterface; */
-+
-+    /* HID descriptor */
-+    0x09,     /*  u8  bLength; */
-+    0x21,     /*  u8  bDescriptorType; */
-+    0x01, 0x10,       /*  u16 HID_class */
-+    0x00,     /*  u8  country_code */
-+    0x01,     /*  u8  num_descriptors */
-+    0x22,     /*  u8  type; Report */
-+    0x6e, 0x00,       /*  u16 len */
-+
-+    /* one endpoint (status change endpoint) */
-+    0x07,     /*  u8  ep_bLength; */
-+    0x05,     /*  u8  ep_bDescriptorType; Endpoint */
-+    0x81,     /*  u8  ep_bEndpointAddress; IN Endpoint 1 */
-+    0x03,     /*  u8  ep_bmAttributes; Interrupt */
-+    0x08, 0x00,       /*  u16 ep_wMaxPacketSize; */
-+    0x0a,     /*  u8  ep_bInterval; */
-+};
-+
-+static void usb_mouse_event(void *opaque,
-+                            int dx1, int dy1, int dz1, int buttons_state)
-+{
-+    USBWacomState *s = opaque;
-+
-+    s->dx += dx1;
-+    s->dy += dy1;
-+    s->dz += dz1;
-+    s->buttons_state = buttons_state;
-+}
-+
-+static void usb_wacom_event(void *opaque,
-+                            int x, int y, int dz, int buttons_state)
-+{
-+    USBWacomState *s = opaque;
-+
-+    s->x = x;
-+    s->y = y;
-+    s->dz += dz;
-+    s->buttons_state = buttons_state;
-+}
-+
-+static inline int int_clamp(int val, int vmin, int vmax)
-+{
-+    if (val < vmin)
-+        return vmin;
-+    else if (val > vmax)
-+        return vmax;
-+    else
-+        return val;
-+}
-+
-+static int usb_mouse_poll(USBWacomState *s, uint8_t *buf, int len)
-+{
-+    int dx, dy, dz, b, l;
-+
-+    if (!s->mouse_grabbed) {
-+        qemu_add_mouse_event_handler(usb_mouse_event, s, 1);
-+        s->mouse_grabbed = 1;
-+    }
-+
-+    dx = int_clamp(s->dx, -128, 127);
-+    dy = int_clamp(s->dy, -128, 127);
-+    dz = int_clamp(s->dz, -128, 127);
-+
-+    s->dx -= dx;
-+    s->dy -= dy;
-+    s->dz -= dz;
-+
-+    b = 0;
-+    if (s->buttons_state & MOUSE_EVENT_LBUTTON)
-+        b |= 0x01;
-+    if (s->buttons_state & MOUSE_EVENT_RBUTTON)
-+        b |= 0x02;
-+    if (s->buttons_state & MOUSE_EVENT_MBUTTON)
-+        b |= 0x04;
-+
-+    buf[0] = b;
-+    buf[1] = dx;
-+    buf[2] = dy;
-+    l = 3;
-+    if (len >= 4) {
-+        buf[3] = dz;
-+        l = 4;
-+    }
-+    return l;
-+}
-+
-+static int usb_wacom_poll(USBWacomState *s, uint8_t *buf, int len)
-+{
-+    int b;
-+
-+    if (!s->mouse_grabbed) {
-+        qemu_add_mouse_event_handler(usb_wacom_event, s, 1);
-+        s->mouse_grabbed = 1;
-+    }
-+
-+    b = 0;
-+    if (s->buttons_state & MOUSE_EVENT_LBUTTON)
-+        b |= 0x01;
-+    if (s->buttons_state & MOUSE_EVENT_RBUTTON)
-+        b |= 0x02;
-+    if (s->buttons_state & MOUSE_EVENT_MBUTTON)
-+        b |= 0x04;
-+
-+    if (len < 7)
-+        return 0;
-+
-+    buf[0] = s->mode;
-+    buf[1] = s->x & 0xff;
-+    buf[2] = s->x >> 8;
-+    buf[3] = s->y & 0xff;
-+    buf[4] = s->y >> 8;
-+    if (b) {
-+        buf[5] = 0x40;
-+        buf[6] = 0;
-+    } else {
-+        buf[5] = 0x00;
-+        buf[6] = (unsigned char) -120;
-+    }
-+
-+    return 7;
-+}
-+
-+static void usb_wacom_handle_reset(USBDevice *dev)
-+{
-+    USBWacomState *s = (USBWacomState *) dev;
-+
-+    s->dx = 0;
-+    s->dy = 0;
-+    s->dz = 0;
-+    s->x = 0;
-+    s->y = 0;
-+    s->buttons_state = 0;
-+    s->mode = WACOM_MODE_HID;
-+}
-+
-+static int usb_wacom_handle_control(USBDevice *dev, int request, int value,
-+                                    int index, int length, uint8_t *data)
-+{
-+    USBWacomState *s = (USBWacomState *) dev;
-+    int ret = 0;
-+
-+    switch (request) {
-+    case DeviceRequest | USB_REQ_GET_STATUS:
-+        data[0] = (1 << USB_DEVICE_SELF_POWERED) |
-+            (dev->remote_wakeup << USB_DEVICE_REMOTE_WAKEUP);
-+        data[1] = 0x00;
-+        ret = 2;
-+        break;
-+    case DeviceOutRequest | USB_REQ_CLEAR_FEATURE:
-+        if (value == USB_DEVICE_REMOTE_WAKEUP) {
-+            dev->remote_wakeup = 0;
-+        } else {
-+            goto fail;
-+        }
-+        ret = 0;
-+        break;
-+    case DeviceOutRequest | USB_REQ_SET_FEATURE:
-+        if (value == USB_DEVICE_REMOTE_WAKEUP) {
-+            dev->remote_wakeup = 1;
-+        } else {
-+            goto fail;
-+        }
-+        ret = 0;
-+        break;
-+    case DeviceOutRequest | USB_REQ_SET_ADDRESS:
-+        dev->addr = value;
-+        ret = 0;
-+        break;
-+    case DeviceRequest | USB_REQ_GET_DESCRIPTOR:
-+        switch (value >> 8) {
-+        case USB_DT_DEVICE:
-+            memcpy(data, qemu_wacom_dev_descriptor, 
-+                   sizeof(qemu_wacom_dev_descriptor));
-+            ret = sizeof(qemu_wacom_dev_descriptor);
-+            break;
-+        case USB_DT_CONFIG:
-+                  memcpy(data, qemu_wacom_config_descriptor, 
-+                   sizeof(qemu_wacom_config_descriptor));
-+            ret = sizeof(qemu_wacom_config_descriptor);
-+            break;
-+        case USB_DT_STRING:
-+            switch (value & 0xff) {
-+            case 0:
-+                /* language ids */
-+                data[0] = 4;
-+                data[1] = 3;
-+                data[2] = 0x09;
-+                data[3] = 0x04;
-+                ret = 4;
-+                break;
-+            case 1:
-+                /* serial number */
-+                ret = set_usb_string(data, "1");
-+                break;
-+            case 2:
-+              ret = set_usb_string(data, "Wacom PenPartner");
-+                break;
-+            case 3:
-+                /* vendor description */
-+                ret = set_usb_string(data, "QEMU " QEMU_VERSION);
-+                break;
-+            case 4:
-+                ret = set_usb_string(data, "Wacom Tablet");
-+                break;
-+            case 5:
-+                ret = set_usb_string(data, "Endpoint1 Interrupt Pipe");
-+                break;
-+            default:
-+                goto fail;
-+            }
-+            break;
-+        default:
-+            goto fail;
-+        }
-+        break;
-+    case DeviceRequest | USB_REQ_GET_CONFIGURATION:
-+        data[0] = 1;
-+        ret = 1;
-+        break;
-+    case DeviceOutRequest | USB_REQ_SET_CONFIGURATION:
-+        ret = 0;
-+        break;
-+    case DeviceRequest | USB_REQ_GET_INTERFACE:
-+        data[0] = 0;
-+        ret = 1;
-+        break;
-+    case DeviceOutRequest | USB_REQ_SET_INTERFACE:
-+        ret = 0;
-+        break;
-+    case WACOM_SET_REPORT:
-+        qemu_add_mouse_event_handler(NULL, NULL, 0);
-+      s->mouse_grabbed = 0;
-+        s->mode = data[0];
-+        ret = 0;
-+        break;
-+    case WACOM_GET_REPORT:
-+        data[0] = 0;
-+        data[1] = s->mode;
-+        ret = 2;
-+        break;
-+    /* USB HID requests */
-+    case HID_GET_REPORT:
-+        if (s->mode == WACOM_MODE_HID)
-+            ret = usb_mouse_poll(s, data, length);
-+        else if (s->mode == WACOM_MODE_WACOM)
-+            ret = usb_wacom_poll(s, data, length);
-+        break;
-+    case HID_SET_IDLE:
-+        ret = 0;
-+        break;
-+    default:
-+    fail:
-+        ret = USB_RET_STALL;
-+        break;
-+    }
-+    return ret;
-+}
-+
-+static int usb_wacom_handle_data(USBDevice *dev, USBPacket *p)
-+{
-+    USBWacomState *s = (USBWacomState *) dev;
-+    int ret = 0;
-+
-+    switch (p->pid) {
-+    case USB_TOKEN_IN:
-+        if (p->devep == 1) {
-+            if (s->mode == WACOM_MODE_HID)
-+                ret = usb_mouse_poll(s, p->data, p->len);
-+            else if (s->mode == WACOM_MODE_WACOM)
-+                ret = usb_wacom_poll(s, p->data, p->len);
-+            break;
-+        }
-+        /* Fall through.  */
-+    case USB_TOKEN_OUT:
-+    default:
-+        ret = USB_RET_STALL;
-+        break;
-+    }
-+    return ret;
-+}
-+
-+static void usb_wacom_handle_destroy(USBDevice *dev)
-+{
-+    USBWacomState *s = (USBWacomState *) dev;
-+
-+    qemu_add_mouse_event_handler(NULL, NULL, 0);
-+    qemu_free(s);
-+}
-+
-+USBDevice *usb_wacom_init(void)
-+{
-+    USBWacomState *s;
-+
-+    s = qemu_mallocz(sizeof(USBWacomState));
-+    if (!s)
-+        return NULL;
-+    s->dev.speed = USB_SPEED_FULL;
-+    s->dev.handle_packet = usb_generic_handle_packet;
-+
-+    s->dev.handle_reset = usb_wacom_handle_reset;
-+    s->dev.handle_control = usb_wacom_handle_control;
-+    s->dev.handle_data = usb_wacom_handle_data;
-+    s->dev.handle_destroy = usb_wacom_handle_destroy;
-+
-+    pstrcpy(s->dev.devname, sizeof(s->dev.devname),
-+            "QEMU PenPartner Tablet");
-+
-+    return (USBDevice *) s;
-+}
-diff -pNaur qemu-cvs-ts-orig/hw/usb.h qemu-cvs-ts/hw/usb.h
---- qemu-cvs-ts-orig/hw/usb.h  2006-08-12 03:04:27.000000000 +0200
-+++ qemu-cvs-ts/hw/usb.h       2006-09-21 01:40:40.000000000 +0200
-@@ -218,3 +218,6 @@ USBDevice *usb_tablet_init(void);
- /* usb-msd.c */
- USBDevice *usb_msd_init(const char *filename);
-+
-+/* usb-wacom.c */
-+USBDevice *usb_wacom_init(void);
-diff -pNaur qemu-cvs-ts-orig/vl.c qemu-cvs-ts/vl.c
---- qemu-cvs-ts-orig/vl.c      2006-09-10 16:39:54.000000000 +0200
-+++ qemu-cvs-ts/vl.c   2006-09-21 01:45:16.000000000 +0200
-@@ -3765,6 +3765,8 @@ static int usb_device_add(const char *de
-       dev = usb_tablet_init();
-     } else if (strstart(devname, "disk:", &p)) {
-         dev = usb_msd_init(p);
-+    } else if (!strcmp(devname, "wacom-tablet")) {
-+        dev = usb_wacom_init();
-     } else {
-         return -1;
-     }
-diff -pNaur qemu-cvs-ts-orig/Makefile.target qemu-cvs-ts/Makefile.target
---- qemu-cvs-ts-orig/Makefile.target   2006-09-18 03:15:29.000000000 +0200
-+++ qemu-cvs-ts/Makefile.target        2006-09-21 02:32:19.000000000 +0200
-@@ -330,6 +330,7 @@ VL_OBJS+= scsi-disk.o cdrom.o lsi53c895a
- # USB layer
- VL_OBJS+= usb.o usb-hub.o usb-linux.o usb-hid.o usb-ohci.o usb-msd.o
-+VL_OBJS+= usb-wacom.o
- # PCI network cards
- VL_OBJS+= ne2000.o rtl8139.o pcnet.o
diff --git a/packages/qemu/files/qemu-x-no-sdl.patch b/packages/qemu/files/qemu-x-no-sdl.patch
deleted file mode 100644 (file)
index eb00d98..0000000
+++ /dev/null
@@ -1,630 +0,0 @@
-diff -urN qemu-0.8.2/configure qemu-0.8.2-x/configure
---- qemu-0.8.2/configure       2006-07-22 18:23:34.000000000 +0100
-+++ qemu-0.8.2-x/configure     2006-08-24 14:24:33.000000000 +0100
-@@ -492,6 +492,21 @@
- fi # cross compilation
- fi # -z $sdl
-+##########################################
-+# X Probe
-+
-+x11=no
-+if test -z "$sdl" || test "$sdl" = "no"; then
-+  x11=yes
-+fi
-+
-+if test "$x11" = "yes"; then
-+  x11=no
-+  if `pkg-config --exists x11 xext`; then
-+    x11=yes
-+  fi
-+fi
-+
- # Check if tools are available to build documentation.
- if [ -x "`which texi2html`" ] && [ -x "`which pod2man`" ]; then
-   build_docs="yes"
-@@ -540,6 +555,7 @@
- if test "$sdl" != "no" ; then
-     echo "SDL static link   $sdl_static"
- fi
-+echo "X11 support       $x11"
- echo "mingw32 support   $mingw32"
- echo "Adlib support     $adlib"
- echo "CoreAudio support $coreaudio"
-@@ -748,14 +764,14 @@
- fi
- if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
--        -a "$sdl" = "no" -a "$cocoa" = "no" ; then
-+        -a "$sdl" = "no" -a "$x11" = "no" -a "$cocoa" = "no" ; then
-     echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
-     echo "To build QEMU without graphical output configure with --disable-gfx-check"
-     echo "Note that this will disable all output from the virtual graphics card."
-     exit 1;
- fi
--#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
-+echo "Creating $config_mak, $config_h and $target_dir/Makefile"
- mkdir -p $target_dir
- mkdir -p $target_dir/fpu
-@@ -882,6 +898,14 @@
-     fi
- fi
-+# x11
-+if test "$x11" = "yes"; then
-+  echo "#define CONFIG_X11 1" >> $config_h
-+  echo "CONFIG_X11=yes" >> $config_mak
-+  echo "X11_LIBS=`pkg-config --libs x11 xext`" >> $config_mak
-+  echo "X11_CFLAGS=`pkg-config --cflags x11 xext`" >> $config_mak
-+fi
-+
- if test "$cocoa" = "yes" ; then
-     echo "#define CONFIG_COCOA 1" >> $config_h
-     echo "CONFIG_COCOA=yes" >> $config_mak
-diff -urN qemu-0.8.2/Makefile.target qemu-0.8.2-x/Makefile.target
---- qemu-0.8.2/Makefile.target 2006-07-22 18:23:34.000000000 +0100
-+++ qemu-0.8.2-x/Makefile.target       2006-08-23 14:47:17.000000000 +0100
-@@ -376,6 +376,9 @@
- ifdef CONFIG_SDL
- VL_OBJS+=sdl.o
- endif
-+ifdef CONFIG_X11
-+VL_OBJS+=x.o
-+endif
- VL_OBJS+=vnc.o
- ifdef CONFIG_COCOA
- VL_OBJS+=cocoa.o
-@@ -426,7 +429,7 @@
- endif
- $(QEMU_SYSTEM): $(VL_OBJS) libqemu.a
--      $(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(COCOA_LIBS) $(VL_LIBS)
-+      $(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(X11_LIBS) $(COCOA_LIBS) $(VL_LIBS)
- cocoa.o: cocoa.m
-       $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
-@@ -434,6 +437,10 @@
- sdl.o: sdl.c keymaps.c sdl_keysym.h
-       $(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
-+x.o: x.c keymaps.c
-+      $(CC) $(CFLAGS) $(DEFINES) $(X11_CFLAGS) -c -o $@ $<
-+
-+
- vnc.o: vnc.c keymaps.c sdl_keysym.h vnchextile.h
-       $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
-diff -urN qemu-0.8.2/vl.c qemu-0.8.2-x/vl.c
---- qemu-0.8.2/vl.c    2006-07-22 18:23:34.000000000 +0100
-+++ qemu-0.8.2-x/vl.c  2006-09-29 18:58:26.000000000 +0100
-@@ -5217,6 +5217,9 @@
- #ifdef USE_CODE_COPY
-            "-no-code-copy   disable code copy acceleration\n"
- #endif
-+#if defined(CONFIG_X11)
-+         "-parent xid    Use pre-existing window as qemu output window\n"
-+#endif
- #ifdef TARGET_I386
-            "-std-vga        simulate a standard VGA card with VESA Bochs Extensions\n"
-            "                (default is CL-GD5446 PCI VGA)\n"
-@@ -5302,6 +5305,8 @@
-     QEMU_OPTION_smp,
-     QEMU_OPTION_vnc,
-     QEMU_OPTION_no_acpi,
-+
-+    QEMU_OPTION_parent_xid,
- };
- typedef struct QEMUOption {
-@@ -5361,6 +5366,9 @@
- #if defined(TARGET_PPC) || defined(TARGET_SPARC)
-     { "g", 1, QEMU_OPTION_g },
- #endif
-+#if defined(CONFIG_X11)
-+    { "parent", HAS_ARG, QEMU_OPTION_parent_xid },
-+#endif
-     { "localtime", 0, QEMU_OPTION_localtime },
-     { "std-vga", 0, QEMU_OPTION_std_vga },
-     { "monitor", 1, QEMU_OPTION_monitor },
-@@ -5608,6 +5616,10 @@
-     char usb_devices[MAX_USB_CMDLINE][128];
-     int usb_devices_index;
-+#if defined(CONFIG_X11)
-+    unsigned long parent_xid = 0;
-+#endif
-+
-     LIST_INIT (&vm_change_state_head);
- #ifndef _WIN32
-     {
-@@ -6021,6 +6033,11 @@
-             case QEMU_OPTION_no_acpi:
-                 acpi_enabled = 0;
-                 break;
-+#if defined(CONFIG_X11)
-+          case QEMU_OPTION_parent_xid:
-+            parent_xid = strtol(optarg, NULL, 0);
-+            break;
-+#endif
-             }
-         }
-     }
-@@ -6142,6 +6159,8 @@
-         sdl_display_init(ds, full_screen);
- #elif defined(CONFIG_COCOA)
-         cocoa_display_init(ds, full_screen);
-+#elif defined(CONFIG_X11)
-+        x_display_init(ds, full_screen, parent_xid);
- #else
-         dumb_display_init(ds);
- #endif
-diff -urN qemu-0.8.2/vl.h qemu-0.8.2-x/vl.h
---- qemu-0.8.2/vl.h    2006-07-22 18:23:34.000000000 +0100
-+++ qemu-0.8.2-x/vl.h  2006-09-29 18:35:32.000000000 +0100
-@@ -767,6 +767,9 @@
- /* vnc.c */
- void vnc_display_init(DisplayState *ds, int display);
-+/* x.c */
-+void x_display_init(DisplayState *ds, int display, unsigned long parent_xid);
-+
- /* ide.c */
- #define MAX_DISKS 4
-diff -urN qemu-0.8.2/x.c qemu-0.8.2-x/x.c
---- qemu-0.8.2/x.c     1970-01-01 01:00:00.000000000 +0100
-+++ qemu-0.8.2-x/x.c   2006-09-29 18:35:02.000000000 +0100
-@@ -0,0 +1,451 @@
-+#include "vl.h"
-+
-+#include <X11/Xlib.h>
-+#include <X11/Xutil.h>
-+#include <X11/Xatom.h>
-+#include <X11/keysym.h>
-+#include <X11/extensions/XShm.h>
-+
-+#include <sys/ipc.h>
-+#include <sys/shm.h>
-+
-+typedef struct XHostScreen
-+{
-+  Display        *xdpy;
-+  int             xscreen;
-+  Visual         *xvisual;
-+  Window          xwin, xwinroot;
-+  GC              xgc;
-+  int             xdepth;
-+  XImage         *ximg;
-+  int             xwin_width, xwin_height;
-+  Bool            use_fullscreen;
-+  Bool            have_shm;
-+  unsigned char  *fb_data;   
-+  unsigned long   cmap[256];
-+  XShmSegmentInfo shminfo;
-+}
-+XHostScreen;
-+
-+static XHostScreen *xscreen;
-+static int          trapped_error_code = 0;
-+static int          (*old_error_handler) (Display *d, XErrorEvent *e);
-+
-+static void 
-+x_update(DisplayState *ds, int x, int y, int w, int h);
-+
-+static int
-+error_handler(Display     *display,
-+              XErrorEvent *error)
-+{
-+  trapped_error_code = error->error_code;
-+  return 0;
-+}
-+
-+static void
-+x_errors_trap(void)
-+{
-+  trapped_error_code = 0;
-+  old_error_handler = XSetErrorHandler(error_handler);
-+}
-+
-+static int
-+x_errors_untrap(void)
-+{
-+  XSetErrorHandler(old_error_handler);
-+  return trapped_error_code;
-+}
-+
-+static void 
-+x_update(DisplayState *ds, int x, int y, int w, int h)
-+{
-+  if (xscreen->have_shm)
-+    {
-+      XShmPutImage(xscreen->xdpy, xscreen->xwin, xscreen->xgc, xscreen->ximg, 
-+                 x, y, x, y, w, h, False);
-+    }
-+  else
-+    {
-+      XPutImage(xscreen->xdpy, xscreen->xwin, xscreen->xgc, xscreen->ximg, 
-+              x, y, x, y, w, h);
-+    }
-+
-+  XSync(xscreen->xdpy, False);
-+}
-+
-+static void 
-+x_resize(DisplayState *ds, int w, int h)
-+{
-+  Bool        shm_success = False;
-+  int         bitmap_pad;
-+  XSizeHints *size_hints;
-+
-+  if (xscreen->ximg != NULL)
-+    {
-+      if (xscreen->have_shm)
-+      {
-+        XShmDetach(xscreen->xdpy, &xscreen->shminfo);
-+        XDestroyImage (xscreen->ximg);
-+        shmdt(xscreen->shminfo.shmaddr);
-+        shmctl(xscreen->shminfo.shmid, IPC_RMID, 0);
-+      }
-+      else
-+      {
-+        if (xscreen->ximg->data) 
-+          {
-+            free(xscreen->ximg->data);
-+            xscreen->ximg->data = NULL;
-+          } 
-+
-+        XDestroyImage(xscreen->ximg);
-+      }
-+    }
-+
-+  if (xscreen->have_shm)
-+    {
-+      xscreen->ximg = XShmCreateImage(xscreen->xdpy, 
-+                                    xscreen->xvisual, 
-+                                    xscreen->xdepth, 
-+                                    ZPixmap, 
-+                                    NULL, 
-+                                    &xscreen->shminfo,
-+                                    w, h );
-+      
-+      xscreen->shminfo.shmid 
-+      = shmget(IPC_PRIVATE,
-+               xscreen->ximg->bytes_per_line * h,
-+               IPC_CREAT|0777);
-+      xscreen->shminfo.shmaddr = xscreen->ximg->data 
-+      = shmat(xscreen->shminfo.shmid, 0, 0);
-+
-+      if (xscreen->ximg->data == (char *)-1)
-+      {
-+        xscreen->have_shm = False;
-+        XDestroyImage(xscreen->ximg);
-+        shmctl(xscreen->shminfo.shmid, IPC_RMID, 0);
-+      }
-+      else
-+      {
-+        xscreen->shminfo.readOnly = False;
-+        XShmAttach(xscreen->xdpy, &xscreen->shminfo);
-+        shm_success = True;
-+      }
-+    }
-+
-+  if (!shm_success)
-+    {
-+      bitmap_pad = ( xscreen->xdepth > 16 ) ? 
-+                          32 : (( xscreen->xdepth > 8 )? 16 : 8 );
-+        
-+      xscreen->ximg = XCreateImage( xscreen->xdpy, 
-+                                  xscreen->xvisual, 
-+                                  xscreen->xdepth, 
-+                                  ZPixmap, 0, 0,
-+                                  w, 
-+                                  h, 
-+                                  bitmap_pad, 
-+                                  0);
-+
-+      xscreen->ximg->data 
-+       = malloc( xscreen->ximg->bytes_per_line * h );
-+    }
-+
-+  XResizeWindow(xscreen->xdpy, xscreen->xwin, w, h);
-+
-+  /* Ask the WM to keep our size static */
-+  size_hints = XAllocSizeHints();
-+  size_hints->max_width = size_hints->min_width = w;
-+  size_hints->max_height = size_hints->min_height = h;
-+  size_hints->flags = PMinSize|PMaxSize;
-+  XSetWMNormalHints(xscreen->xdpy, xscreen->xwin, size_hints);
-+  XFree(size_hints);
-+
-+  XMapWindow(xscreen->xdpy, xscreen->xwin);
-+
-+  XSync(xscreen->xdpy, False);
-+
-+  xscreen->xwin_width  = w;
-+  xscreen->xwin_height = h;
-+
-+  if (1) // (ds->depth == xscreen->xdepth)
-+    {
-+      ds->data = xscreen->ximg->data;
-+    }
-+  else
-+    {
-+      xscreen->fb_data = malloc(w*h*(ds->depth>>3));
-+      ds->data = xscreen->fb_data;
-+    }
-+  
-+  ds->linesize = xscreen->ximg->bytes_per_line;
-+  ds->depth    = (xscreen->xdepth >= 24) ? 32 : xscreen->xdepth;
-+  ds->bgr      = 0;
-+
-+#if 0
-+    if (ds->depth == 32 && screen->format->Rshift == 0) {
-+        ds->bgr = 1;
-+    } else {
-+        ds->bgr = 0;
-+    }
-+#endif
-+
-+    ds->width = w;
-+    ds->height = h;
-+
-+}
-+
-+static void 
-+x_refresh(DisplayState *ds)
-+{
-+  vga_hw_update();
-+}
-+
-+static int 
-+x_listen_poll(void *opaque)
-+{
-+  return XPending(xscreen->xdpy);
-+}
-+
-+static void
-+x_grab(void)
-+{
-+  static Bool grab = False;
-+
-+  if (!grab)
-+    {
-+      if (XGrabPointer (xscreen->xdpy, xscreen->xwin,
-+                      True, 
-+                      NoEventMask, 
-+                      GrabModeAsync, 
-+                      GrabModeAsync, 
-+                      xscreen->xwin, None, CurrentTime) == 0
-+        && XGrabKeyboard (xscreen->xdpy, xscreen->xwin, True, 
-+                          GrabModeAsync, 
-+                          GrabModeAsync, 
-+                          CurrentTime) == 0)
-+      {
-+        grab = True;
-+        XStoreName(xscreen->xdpy, xscreen->xwin, 
-+                   "QEmu (ctrl+shift releases mouse and keyboard )");
-+      }
-+    }
-+  else
-+    {
-+      XUngrabPointer (xscreen->xdpy, CurrentTime);
-+      XUngrabKeyboard (xscreen->xdpy, CurrentTime);
-+      grab = False;
-+      XStoreName(xscreen->xdpy, xscreen->xwin, 
-+               "QEmu (ctrl+shift grabs mouse and keyboard )");
-+    }
-+}
-+
-+static void 
-+x_listen_read(void *opaque)
-+{
-+  XEvent        xev;
-+  DisplayState *ds = opaque;
-+  Bool          grabbed = False;
-+  static  int   last_x = 0, last_y = 0, button_state = 0, state;
-+
-+  if (XPending(xscreen->xdpy))
-+    {
-+      XNextEvent(xscreen->xdpy, &xev);
-+
-+      switch (xev.type) 
-+      {
-+      case EnterNotify:
-+      case LeaveNotify:
-+        break;
-+      case FocusIn:
-+        if (!kbd_mouse_is_absolute()) 
-+          x_grab();
-+        break;
-+      case FocusOut:
-+        break;
-+      case Expose:
-+        while (XCheckTypedWindowEvent(xscreen->xdpy, xev.xexpose.window, 
-+                                      Expose, &xev));
-+        x_update(ds, 0, 0, 
-+                 xscreen->xwin_width,
-+                 xscreen->xwin_height);
-+        break;
-+      case KeyRelease:
-+        if ((XKeycodeToKeysym(xscreen->xdpy,
-+                              xev.xkey.keycode,0) == XK_Shift_L
-+             || XKeycodeToKeysym(xscreen->xdpy,
-+                                 xev.xkey.keycode,0) == XK_Shift_R)
-+            && (xev.xkey.state & ControlMask))
-+          {
-+            x_grab();
-+            break;
-+          }
-+      case KeyPress:
-+        {
-+          int keycode = xev.xkey.keycode-8; /* X adds 8 to keycode  */
-+
-+          /* FIXME: LUT needed here me thinks */
-+
-+          if (keycode & 0x80)               /* Extended */
-+            kbd_put_keycode(0xe0);
-+          
-+          if (xev.type == KeyPress)
-+            kbd_put_keycode(keycode & 0x7f);
-+          else
-+            kbd_put_keycode(keycode | 0x80);
-+        }
-+        break;
-+      case ButtonPress:
-+      case ButtonRelease:
-+      case MotionNotify:
-+        {
-+          int ev_state, ev_x, ev_y, dx, dy;
-+
-+          state = 0;
-+
-+          if (xev.type == MotionNotify)
-+            {
-+              ev_state = xev.xmotion.state;
-+              ev_x     = xev.xmotion.x;
-+              ev_y     = xev.xmotion.y;
-+
-+              if (ev_state & Button1Mask)
-+                state |= MOUSE_EVENT_LBUTTON;
-+              if (ev_state & Button2Mask)
-+                state |= MOUSE_EVENT_RBUTTON;
-+              if (ev_state & Button3Mask)
-+                state |= MOUSE_EVENT_MBUTTON;
-+
-+              /* Touchscreen dont send motion notifys */
-+              if (kbd_mouse_is_absolute() && state == 0) 
-+                break;
-+            }
-+          else
-+            {
-+              ev_state = xev.xbutton.state;
-+              ev_x     = xev.xbutton.x;
-+              ev_y     = xev.xbutton.y;
-+
-+              if (xev.type == ButtonPress) 
-+                {
-+                  if (xev.xbutton.button == Button1)
-+                    state |= MOUSE_EVENT_LBUTTON;
-+                  if (xev.xbutton.state == Button1)
-+                    state |= MOUSE_EVENT_RBUTTON;
-+                  if (xev.xbutton.state & Button3)
-+                    state |= MOUSE_EVENT_MBUTTON;
-+                }
-+            }
-+
-+          if (kbd_mouse_is_absolute()) 
-+            {
-+              dx = ev_x * 0x7FFF / xscreen->xwin_width;
-+              dy = ev_y * 0x7FFF / xscreen->xwin_height;
-+            }
-+          else
-+            {
-+              dx = ev_x - last_x;
-+              dy = ev_y - last_y;
-+            }
-+
-+          kbd_mouse_event(dx, dy, 0, state);
-+          
-+          last_x = ev_x;
-+          last_y = ev_y;
-+        }
-+        break;
-+      default:
-+        break;
-+
-+      }
-+    }
-+  return;
-+}
-+
-+void 
-+x_display_init(DisplayState *ds, int full_screen, unsigned long parent_xid)
-+{
-+  Cursor                empty_cursor;
-+  Pixmap                cursor_pxm;
-+  XColor                col;
-+  XSetWindowAttributes  attr;
-+
-+  xscreen = malloc(sizeof(XHostScreen));
-+  memset(xscreen, 0, sizeof(XHostScreen));
-+  
-+  if ((xscreen->xdpy = XOpenDisplay(getenv("DISPLAY"))) == NULL)
-+    {
-+      fprintf(stderr, "\nqemu cannot open host display. Is DISPLAY set?\n");
-+      exit(-1);
-+    }
-+  
-+  xscreen->xscreen  = DefaultScreen(xscreen->xdpy);
-+  xscreen->xwinroot = RootWindow(xscreen->xdpy, xscreen->xscreen);
-+  xscreen->xgc      = XCreateGC(xscreen->xdpy, xscreen->xwinroot, 0, NULL);
-+  xscreen->xdepth   = DefaultDepth(xscreen->xdpy, xscreen->xscreen);
-+  xscreen->xvisual  = DefaultVisual(xscreen->xdpy, xscreen->xscreen); 
-+  
-+  attr.event_mask = ButtonPressMask|ButtonReleaseMask|PointerMotionMask
-+                      |KeyPressMask|KeyReleaseMask|ExposureMask
-+                      |FocusChangeMask|EnterWindowMask|LeaveWindowMask;
-+  
-+  xscreen->xwin = XCreateWindow(xscreen->xdpy,
-+                              xscreen->xwinroot,
-+                              0,0,640,480,
-+                              0,
-+                              CopyFromParent,
-+                              CopyFromParent,
-+                              CopyFromParent,
-+                              CWEventMask,
-+                              &attr);
-+
-+  xscreen->have_shm = True;
-+
-+  if (!XShmQueryExtension(xscreen->xdpy) || getenv("QEMU_X_NO_SHM")) 
-+    {
-+      xscreen->have_shm = False;
-+    } 
-+  else                            
-+    { 
-+      XShmSegmentInfo shminfo; 
-+
-+      shminfo.shmid=shmget(IPC_PRIVATE, 1, IPC_CREAT|0777);
-+      shminfo.shmaddr=shmat(shminfo.shmid,0,0);
-+      shminfo.readOnly=True;
-+
-+      x_errors_trap();
-+      
-+      XShmAttach(xscreen->xdpy, &shminfo);
-+      XSync(xscreen->xdpy, False);
-+
-+      if (x_errors_untrap())
-+      {
-+        fprintf(stderr, "QEmu unable to use SHM XImages\n");
-+        xscreen->have_shm = False;
-+      }
-+
-+      shmdt(shminfo.shmaddr);
-+      shmctl(shminfo.shmid, IPC_RMID, 0);
-+    }
-+
-+  if (!kbd_mouse_is_absolute()) 
-+    {
-+      /* Only hide cursor if were not a touchscreen */
-+      cursor_pxm = XCreatePixmap (xscreen->xdpy, xscreen->xwinroot, 1, 1, 1);
-+      memset (&col, 0, sizeof (col));
-+      empty_cursor = XCreatePixmapCursor (xscreen->xdpy, 
-+                                        cursor_pxm, cursor_pxm, 
-+                                        &col, &col, 1, 1);
-+      XDefineCursor (xscreen->xdpy, xscreen->xwin, empty_cursor);
-+      XFreePixmap (xscreen->xdpy, cursor_pxm);
-+    }
-+
-+  ds->dpy_update =  x_update;
-+  ds->dpy_resize =  x_resize;
-+  ds->dpy_refresh = x_refresh;
-+
-+  if ((qemu_set_fd_handler2 (ConnectionNumber(xscreen->xdpy), 
-+                           x_listen_poll, x_listen_read, NULL, ds)) == -1)
-+    exit(-1);
-+
-+  x_resize(ds, 640, 480);
-+}
diff --git a/packages/qemu/files/trunk_nodocs.patch b/packages/qemu/files/trunk_nodocs.patch
deleted file mode 100644 (file)
index 0bf8fcb..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-diff -Naur trunk_orig/Makefile trunk/Makefile
---- trunk_orig/Makefile        2006-06-06 10:09:03.000000000 +0300
-+++ trunk/Makefile     2006-06-06 17:18:59.000000000 +0300
-@@ -18,7 +18,8 @@
- LDFLAGS+=-static
- endif
- ifdef BUILD_DOCS
--DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1
-+#DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1
-+DOCS=
- else
- DOCS=
- endif
-@@ -58,10 +59,10 @@
- install-doc: $(DOCS)
-       mkdir -p "$(DESTDIR)$(docdir)"
--      $(INSTALL) -m 644 qemu-doc.html  qemu-tech.html "$(DESTDIR)$(docdir)"
-+      #$(INSTALL) -m 644 qemu-doc.html  qemu-tech.html "$(DESTDIR)$(docdir)"
- ifndef CONFIG_WIN32
-       mkdir -p "$(DESTDIR)$(mandir)/man1"
--      $(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
-+      #$(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
- endif
- install: all $(if $(BUILD_DOCS),install-doc)
-@@ -151,10 +152,10 @@
-       $(datadir)/ppc_rom.bin \
-       $(datadir)/video.x \
-       $(datadir)/proll.elf \
--      $(datadir)/linux_boot.bin \
--      $(docdir)/qemu-doc.html \
--      $(docdir)/qemu-tech.html \
--      $(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 )
-+      $(datadir)/linux_boot.bin
-+#     $(docdir)/qemu-doc.html \
-+#     $(docdir)/qemu-tech.html \
-+#     $(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 )
- ifneq ($(wildcard .depend),)
- include .depend