diff options
author | Richard Purdie <rpurdie@rpsys.net> | 2006-11-05 23:29:09 +0000 |
---|---|---|
committer | Richard Purdie <rpurdie@rpsys.net> | 2006-11-05 23:29:09 +0000 |
commit | 5bb7ecf66ef4068e1b29f07e4be0c9f126b8eafa (patch) | |
tree | 0a28f1c82318b5c34f630ec40f20466d40793e5c /packages/qemu | |
parent | 83f47bd69f7ed257be72bec3fd524cf4128ed29a (diff) |
qemu: Drop unused files
Diffstat (limited to 'packages/qemu')
-rw-r--r-- | packages/qemu/files/mouse_fix-r0.patch | 25 | ||||
-rw-r--r-- | packages/qemu/files/nodocs_cvs.patch | 44 | ||||
-rw-r--r-- | packages/qemu/files/qemu-usb-wacom.patch | 444 | ||||
-rw-r--r-- | packages/qemu/files/qemu-x-no-sdl.patch | 630 | ||||
-rw-r--r-- | packages/qemu/files/trunk_nodocs.patch | 41 |
5 files changed, 0 insertions, 1184 deletions
diff --git a/packages/qemu/files/mouse_fix-r0.patch b/packages/qemu/files/mouse_fix-r0.patch deleted file mode 100644 index 8cc19f0392..0000000000 --- a/packages/qemu/files/mouse_fix-r0.patch +++ /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 index b52d860fb0..0000000000 --- a/packages/qemu/files/nodocs_cvs.patch +++ /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 index c1c39eccaf..0000000000 --- a/packages/qemu/files/qemu-usb-wacom.patch +++ /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 index eb00d9806b..0000000000 --- a/packages/qemu/files/qemu-x-no-sdl.patch +++ /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 index 0bf8fcb593..0000000000 --- a/packages/qemu/files/trunk_nodocs.patch +++ /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 |