summaryrefslogtreecommitdiff
path: root/meta/packages
diff options
context:
space:
mode:
authorRichard Purdie <richard@ted.(none)>2009-04-28 08:24:11 +0100
committerRichard Purdie <richard@ted.(none)>2009-04-28 08:24:11 +0100
commit3927e38eba96a172c7df2c7270c31728b83612eb (patch)
tree48b0a30d721af9e2f25e03bea8e41035e9ff40bb /meta/packages
parent49ca46f588425c88e37a85df00b1fd4591a01ab6 (diff)
parentd65be3dd2aaa643b5596c8470caf7f291513efee (diff)
downloadopenembedded-core-3927e38eba96a172c7df2c7270c31728b83612eb.tar.gz
openembedded-core-3927e38eba96a172c7df2c7270c31728b83612eb.tar.bz2
openembedded-core-3927e38eba96a172c7df2c7270c31728b83612eb.zip
Merge ssh://gitserver@git.pokylinux.org/poky
Diffstat (limited to 'meta/packages')
-rw-r--r--meta/packages/clutter/clutter-mozembed/link-with-g++.patch21
-rw-r--r--meta/packages/clutter/clutter/enable_tests.patch30
-rw-r--r--meta/packages/dbus/dbus-native_1.2.4.bb2
-rw-r--r--meta/packages/dbus/dbus.inc2
-rw-r--r--meta/packages/dbus/dbus_1.2.4.bb3
-rw-r--r--meta/packages/drm/files/poulsbo.patch2516
-rw-r--r--meta/packages/drm/libdrm-2.4.7/installtests.patch39
-rw-r--r--meta/packages/drm/libdrm_2.4.4.bb9
-rw-r--r--meta/packages/drm/libdrm_2.4.7.bb12
-rw-r--r--meta/packages/e2fsprogs/e2fsprogs-native_1.41.2.bb25
-rw-r--r--meta/packages/initrdscripts/files/init-live.sh1
-rw-r--r--meta/packages/initrdscripts/initramfs-live-boot_1.0.bb2
-rw-r--r--meta/packages/libnl/libnl_1.0-pre8.bb (renamed from meta/packages/libnl/libnl_1.0-pre6.bb)6
-rw-r--r--meta/packages/libproxy/libproxy/asneededfix.patch13
-rw-r--r--meta/packages/libproxy/libproxy_0.2.3.bb16
-rw-r--r--meta/packages/libsoup/libsoup-2.4_2.25.91.bb14
-rw-r--r--meta/packages/mesa/mesa-7.0.2/fix-host-compile.patch30
-rw-r--r--meta/packages/mesa/mesa-7.0.2/mklib-rpath-link.patch23
-rw-r--r--meta/packages/mesa/mesa-dri_7.4.bb (renamed from meta/packages/mesa/mesa-dri_7.2.bb)0
-rw-r--r--meta/packages/mesa/mesa-dri_git.bb2
-rw-r--r--meta/packages/mesa/mesa-xlib_7.4.bb (renamed from meta/packages/mesa/mesa-xlib_7.2.bb)0
-rw-r--r--meta/packages/mozilla-headless/mozilla-headless/configurefix.patch203
-rw-r--r--meta/packages/mozilla-headless/mozilla-headless_git.bb10
-rw-r--r--meta/packages/mutter/mutter/crosscompile.patch (renamed from meta/packages/gnome/metacity-clutter/crosscompile.patch)0
-rw-r--r--meta/packages/mutter/mutter/fix_pkgconfig.patch (renamed from meta/packages/gnome/metacity-clutter/fix_pkgconfig.patch)0
-rw-r--r--meta/packages/mutter/mutter/nodocs.patch (renamed from meta/packages/gnome/metacity-clutter/nodocs.patch)0
-rw-r--r--meta/packages/mutter/mutter_git.bb (renamed from meta/packages/gnome/metacity-clutter_git.bb)6
-rw-r--r--meta/packages/sqlite/sqlite3_3.6.10.bb (renamed from meta/packages/sqlite/sqlite3_3.6.7.bb)0
-rw-r--r--meta/packages/tasks/task-poky-x11-netbook.bb4
-rw-r--r--meta/packages/xorg-driver/xf86-input-evdev_2.2.1.bb (renamed from meta/packages/xorg-driver/xf86-input-evdev_2.1.1.bb)0
-rw-r--r--meta/packages/xorg-driver/xf86-input-synaptics_1.1.0.bb (renamed from meta/packages/xorg-driver/xf86-input-synaptics_0.99.3.bb)0
-rw-r--r--meta/packages/xorg-driver/xf86-video-intel-dri2_git.bb27
-rw-r--r--meta/packages/xorg-driver/xf86-video-intel_2.7.0.bb (renamed from meta/packages/xorg-driver/xf86-video-intel_2.6.0.bb)0
-rw-r--r--meta/packages/xorg-lib/libice_1.0.4.bb2
-rw-r--r--meta/packages/xorg-lib/libsm_1.1.0.bb2
-rw-r--r--meta/packages/xorg-lib/libxt_1.0.5.bb2
-rw-r--r--meta/packages/xorg-xserver/xserver-xf86-dri-lite.inc2
37 files changed, 281 insertions, 2743 deletions
diff --git a/meta/packages/clutter/clutter-mozembed/link-with-g++.patch b/meta/packages/clutter/clutter-mozembed/link-with-g++.patch
index 8f84e6142b..5a76e45222 100644
--- a/meta/packages/clutter/clutter-mozembed/link-with-g++.patch
+++ b/meta/packages/clutter/clutter-mozembed/link-with-g++.patch
@@ -1,25 +1,26 @@
Index: git/cluttermozembed/Makefile.am
===================================================================
---- git.orig/cluttermozembed/Makefile.am 2009-01-27 14:17:00.000000000 +0000
-+++ git/cluttermozembed/Makefile.am 2009-01-28 15:36:27.000000000 +0000
-@@ -16,11 +16,11 @@
+--- git.orig/cluttermozembed/Makefile.am 2009-04-16 15:54:16.000000000 +0100
++++ git/cluttermozembed/Makefile.am 2009-04-16 15:57:02.000000000 +0100
+@@ -51,12 +51,13 @@
source_h = \
clutter-mozembed.h
source_c = \
- clutter-mozembed.c
-+ clutter-mozembed.c dummy2.cpp
++ clutter-mozembed.c dummy.cpp
- bin_PROGRAMS = mozheadless
+ bin_PROGRAMS = clutter-mozheadless
--mozheadless_SOURCES = mozheadless.c
-+mozheadless_SOURCES = mozheadless.c dummy.cpp
+ clutter_mozheadless_SOURCES = \
+ clutter-mozheadless.c \
++ dummy2.cpp \
+ clutter-mozheadless.h
lib_LTLIBRARIES = libcluttermozembed.la
- libcluttermozembed_la_SOURCES = $(source_c) $(source_h)
Index: git/configure.ac
===================================================================
---- git.orig/configure.ac 2009-01-27 14:17:01.000000000 +0000
-+++ git/configure.ac 2009-01-28 15:35:38.000000000 +0000
+--- git.orig/configure.ac 2009-04-16 15:54:16.000000000 +0100
++++ git/configure.ac 2009-04-16 15:54:30.000000000 +0100
@@ -7,6 +7,7 @@
AC_ISC_POSIX
diff --git a/meta/packages/clutter/clutter/enable_tests.patch b/meta/packages/clutter/clutter/enable_tests.patch
index 8544614790..953edf6bbc 100644
--- a/meta/packages/clutter/clutter/enable_tests.patch
+++ b/meta/packages/clutter/clutter/enable_tests.patch
@@ -6,10 +6,10 @@
Index: git/tests/interactive/Makefile.am
===================================================================
---- git.orig/tests/interactive/Makefile.am 2008-12-18 16:50:45.000000000 +0000
-+++ git/tests/interactive/Makefile.am 2008-12-18 16:57:36.000000000 +0000
-@@ -68,7 +68,7 @@
- AM_CFLAGS = $(CLUTTER_CFLAGS)
+--- git.orig/tests/interactive/Makefile.am 2009-03-12 11:01:36.000000000 +0000
++++ git/tests/interactive/Makefile.am 2009-03-12 11:04:12.000000000 +0000
+@@ -77,7 +77,7 @@
+ AM_CFLAGS = $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS)
AM_LDFLAGS = $(CLUTTER_LIBS)
-noinst_PROGRAMS = test-interactive
@@ -19,14 +19,14 @@ Index: git/tests/interactive/Makefile.am
test-main.c \
Index: git/tests/interactive/test-actors.c
===================================================================
---- git.orig/tests/interactive/test-actors.c 2008-12-18 16:58:06.000000000 +0000
-+++ git/tests/interactive/test-actors.c 2008-12-18 16:58:13.000000000 +0000
-@@ -189,7 +189,7 @@
- /* Create a texture from file, then clone in to same resources */
- if (i == 0)
- {
-- if ((oh->hand[i] = clutter_texture_new_from_file ("redhand.png",
-+ if ((oh->hand[i] = clutter_texture_new_from_file ("/usr/share/clutter/redhand.png",
- &error)) == NULL)
- {
- g_error ("image load failed: %s", error->message);
+--- git.orig/tests/interactive/test-actors.c 2009-03-12 11:01:36.000000000 +0000
++++ git/tests/interactive/test-actors.c 2009-03-12 11:06:32.000000000 +0000
+@@ -182,7 +182,7 @@
+ oh->scaler_1 = clutter_behaviour_scale_new (alpha, 0.5, 0.5, 1.0, 1.0);
+ oh->scaler_2 = clutter_behaviour_scale_new (alpha, 1.0, 1.0, 0.5, 0.5);
+
+- real_hand = clutter_texture_new_from_file ("redhand.png", &error);
++ real_hand = clutter_texture_new_from_file ("/usr/share/clutter/redhand.png", &error);
+ if (real_hand == NULL)
+ {
+ g_error ("image load failed: %s", error->message);
diff --git a/meta/packages/dbus/dbus-native_1.2.4.bb b/meta/packages/dbus/dbus-native_1.2.4.bb
index 47e3167eda..d799ba2d1d 100644
--- a/meta/packages/dbus/dbus-native_1.2.4.bb
+++ b/meta/packages/dbus/dbus-native_1.2.4.bb
@@ -3,7 +3,7 @@ inherit native
DEPENDS = "glib-2.0-native libxml2-native expat-native"
-PR = "r2"
+PR = "r3"
do_stage() {
oe_runmake install
diff --git a/meta/packages/dbus/dbus.inc b/meta/packages/dbus/dbus.inc
index 68c8a842ee..2efcf46b22 100644
--- a/meta/packages/dbus/dbus.inc
+++ b/meta/packages/dbus/dbus.inc
@@ -12,7 +12,7 @@ SRC_URI = "\
file://99_dbus \
"
-inherit autotools pkgconfig update-rc.d gettext
+inherit autotools pkgconfig gettext
INITSCRIPT_NAME = "dbus-1"
INITSCRIPT_PARAMS = "start 02 5 2 . stop 20 0 1 6 ."
diff --git a/meta/packages/dbus/dbus_1.2.4.bb b/meta/packages/dbus/dbus_1.2.4.bb
index 25ab98b9f9..b170e7b340 100644
--- a/meta/packages/dbus/dbus_1.2.4.bb
+++ b/meta/packages/dbus/dbus_1.2.4.bb
@@ -1,4 +1,7 @@
include dbus.inc
+PR = "r1"
+
+inherit update-rc.d
SRC_URI += "file://fix-install-daemon.patch;patch=1 "
diff --git a/meta/packages/drm/files/poulsbo.patch b/meta/packages/drm/files/poulsbo.patch
deleted file mode 100644
index 91f8975f50..0000000000
--- a/meta/packages/drm/files/poulsbo.patch
+++ /dev/null
@@ -1,2516 +0,0 @@
-Index: libdrm-2.4.4/libdrm/xf86drm.c
-===================================================================
---- libdrm-2.4.4.orig/libdrm/xf86drm.c 2009-01-10 01:08:29.000000000 +0000
-+++ libdrm-2.4.4/libdrm/xf86drm.c 2009-02-05 12:23:22.000000000 +0000
-@@ -2402,6 +2402,569 @@
- return 0;
- }
-
-+
-+/*
-+ * Valid flags are
-+ * DRM_FENCE_FLAG_EMIT
-+ * DRM_FENCE_FLAG_SHAREABLE
-+ * DRM_FENCE_MASK_DRIVER
-+ */
-+
-+int drmFenceCreate(int fd, unsigned flags, int fence_class, unsigned type,
-+ drmFence *fence)
-+{
-+ drm_fence_arg_t arg;
-+
-+ memset(&arg, 0, sizeof(arg));
-+ arg.flags = flags;
-+ arg.type = type;
-+ arg.fence_class = fence_class;
-+
-+ if (ioctl(fd, DRM_IOCTL_FENCE_CREATE, &arg))
-+ return -errno;
-+ fence->handle = arg.handle;
-+ fence->fence_class = arg.fence_class;
-+ fence->type = arg.type;
-+ fence->flags = arg.flags;
-+ fence->signaled = 0;
-+ return 0;
-+}
-+
-+/*
-+ * Valid flags are
-+ * DRM_FENCE_FLAG_SHAREABLE
-+ * DRM_FENCE_MASK_DRIVER
-+ */
-+
-+int drmFenceBuffers(int fd, unsigned flags, uint32_t fence_class, drmFence *fence)
-+{
-+ drm_fence_arg_t arg;
-+
-+ memset(&arg, 0, sizeof(arg));
-+ arg.flags = flags;
-+ arg.fence_class = fence_class;
-+
-+ if (ioctl(fd, DRM_IOCTL_FENCE_BUFFERS, &arg))
-+ return -errno;
-+ fence->handle = arg.handle;
-+ fence->fence_class = arg.fence_class;
-+ fence->type = arg.type;
-+ fence->flags = arg.flags;
-+ fence->sequence = arg.sequence;
-+ fence->signaled = 0;
-+ return 0;
-+}
-+
-+int drmFenceReference(int fd, unsigned handle, drmFence *fence)
-+{
-+ drm_fence_arg_t arg;
-+
-+ memset(&arg, 0, sizeof(arg));
-+ arg.handle = handle;
-+
-+ if (ioctl(fd, DRM_IOCTL_FENCE_REFERENCE, &arg))
-+ return -errno;
-+ fence->handle = arg.handle;
-+ fence->fence_class = arg.fence_class;
-+ fence->type = arg.type;
-+ fence->flags = arg.flags;
-+ fence->signaled = arg.signaled;
-+ return 0;
-+}
-+
-+int drmFenceUnreference(int fd, const drmFence *fence)
-+{
-+ drm_fence_arg_t arg;
-+
-+ memset(&arg, 0, sizeof(arg));
-+ arg.handle = fence->handle;
-+
-+ if (ioctl(fd, DRM_IOCTL_FENCE_UNREFERENCE, &arg))
-+ return -errno;
-+ return 0;
-+}
-+
-+int drmFenceFlush(int fd, drmFence *fence, unsigned flush_type)
-+{
-+ drm_fence_arg_t arg;
-+
-+ memset(&arg, 0, sizeof(arg));
-+ arg.handle = fence->handle;
-+ arg.type = flush_type;
-+
-+ if (ioctl(fd, DRM_IOCTL_FENCE_FLUSH, &arg))
-+ return -errno;
-+ fence->fence_class = arg.fence_class;
-+ fence->type = arg.type;
-+ fence->signaled = arg.signaled;
-+ return arg.error;
-+}
-+
-+int drmFenceUpdate(int fd, drmFence *fence)
-+{
-+ drm_fence_arg_t arg;
-+
-+ memset(&arg, 0, sizeof(arg));
-+ arg.handle = fence->handle;
-+
-+ if (ioctl(fd, DRM_IOCTL_FENCE_SIGNALED, &arg))
-+ return -errno;
-+ fence->fence_class = arg.fence_class;
-+ fence->type = arg.type;
-+ fence->signaled = arg.signaled;
-+ return 0;
-+}
-+
-+int drmFenceSignaled(int fd, drmFence *fence, unsigned fenceType,
-+ int *signaled)
-+{
-+ if ((fence->flags & DRM_FENCE_FLAG_SHAREABLE) ||
-+ ((fenceType & fence->signaled) != fenceType)) {
-+ int ret = drmFenceFlush(fd, fence, fenceType);
-+ if (ret)
-+ return ret;
-+ }
-+
-+ *signaled = ((fenceType & fence->signaled) == fenceType);
-+
-+ return 0;
-+}
-+
-+/*
-+ * Valid flags are
-+ * DRM_FENCE_FLAG_SHAREABLE
-+ * DRM_FENCE_MASK_DRIVER
-+ */
-+
-+
-+int drmFenceEmit(int fd, unsigned flags, drmFence *fence, unsigned emit_type)
-+{
-+ drm_fence_arg_t arg;
-+
-+ memset(&arg, 0, sizeof(arg));
-+ arg.fence_class = fence->fence_class;
-+ arg.flags = flags;
-+ arg.handle = fence->handle;
-+ arg.type = emit_type;
-+
-+ if (ioctl(fd, DRM_IOCTL_FENCE_EMIT, &arg))
-+ return -errno;
-+ fence->fence_class = arg.fence_class;
-+ fence->type = arg.type;
-+ fence->signaled = arg.signaled;
-+ fence->sequence = arg.sequence;
-+ return 0;
-+}
-+
-+/*
-+ * Valid flags are
-+ * DRM_FENCE_FLAG_WAIT_LAZY
-+ * DRM_FENCE_FLAG_WAIT_IGNORE_SIGNALS
-+ */
-+
-+#define DRM_IOCTL_TIMEOUT_USEC 3000000UL
-+
-+static unsigned long
-+drmTimeDiff(struct timeval *now, struct timeval *then)
-+{
-+ uint64_t val;
-+
-+ val = now->tv_sec - then->tv_sec;
-+ val *= 1000000LL;
-+ val += now->tv_usec;
-+ val -= then->tv_usec;
-+
-+ return (unsigned long) val;
-+}
-+
-+static int
-+drmIoctlTimeout(int fd, unsigned long request, void *argp)
-+{
-+ int haveThen = 0;
-+ struct timeval then, now;
-+ int ret;
-+
-+ do {
-+ ret = ioctl(fd, request, argp);
-+ if (ret != 0 && errno == EAGAIN) {
-+ if (!haveThen) {
-+ gettimeofday(&then, NULL);
-+ haveThen = 1;
-+ }
-+ gettimeofday(&now, NULL);
-+ }
-+ } while (ret != 0 && errno == EAGAIN &&
-+ drmTimeDiff(&now, &then) < DRM_IOCTL_TIMEOUT_USEC);
-+
-+ if (ret != 0)
-+ return ((errno == EAGAIN) ? -EBUSY : -errno);
-+
-+ return 0;
-+}
-+
-+
-+
-+
-+int drmFenceWait(int fd, unsigned flags, drmFence *fence, unsigned flush_type)
-+{
-+ drm_fence_arg_t arg;
-+ int ret;
-+
-+ if (flush_type == 0) {
-+ flush_type = fence->type;
-+ }
-+
-+ if (!(fence->flags & DRM_FENCE_FLAG_SHAREABLE)) {
-+ if ((flush_type & fence->signaled) == flush_type) {
-+ return 0;
-+ }
-+ }
-+
-+ memset(&arg, 0, sizeof(arg));
-+ arg.handle = fence->handle;
-+ arg.type = flush_type;
-+ arg.flags = flags;
-+
-+
-+ ret = drmIoctlTimeout(fd, DRM_IOCTL_FENCE_WAIT, &arg);
-+ if (ret)
-+ return ret;
-+
-+ fence->fence_class = arg.fence_class;
-+ fence->type = arg.type;
-+ fence->signaled = arg.signaled;
-+ return arg.error;
-+}
-+
-+static void drmBOCopyReply(const struct drm_bo_info_rep *rep, drmBO *buf)
-+{
-+ buf->handle = rep->handle;
-+ buf->flags = rep->flags;
-+ buf->size = rep->size;
-+ buf->offset = rep->offset;
-+ buf->mapHandle = rep->arg_handle;
-+ buf->mask = rep->proposed_flags;
-+ buf->start = rep->buffer_start;
-+ buf->fenceFlags = rep->fence_flags;
-+ buf->replyFlags = rep->rep_flags;
-+ buf->pageAlignment = rep->page_alignment;
-+ buf->tileInfo = rep->tile_info;
-+ buf->hwTileStride = rep->hw_tile_stride;
-+ buf->desiredTileStride = rep->desired_tile_stride;
-+}
-+
-+
-+
-+int drmBOCreate(int fd, unsigned long size,
-+ unsigned pageAlignment, void *user_buffer,
-+ uint64_t mask,
-+ unsigned hint, drmBO *buf)
-+{
-+ struct drm_bo_create_arg arg;
-+ struct drm_bo_create_req *req = &arg.d.req;
-+ struct drm_bo_info_rep *rep = &arg.d.rep;
-+ int ret;
-+
-+ memset(buf, 0, sizeof(*buf));
-+ memset(&arg, 0, sizeof(arg));
-+ req->flags = mask;
-+ req->hint = hint;
-+ req->size = size;
-+ req->page_alignment = pageAlignment;
-+ req->buffer_start = (unsigned long) user_buffer;
-+
-+ buf->virtual = NULL;
-+
-+ ret = drmIoctlTimeout(fd, DRM_IOCTL_BO_CREATE, &arg);
-+ if (ret)
-+ return ret;
-+
-+ drmBOCopyReply(rep, buf);
-+ buf->virtual = user_buffer;
-+ buf->mapCount = 0;
-+
-+ return 0;
-+}
-+
-+int drmBOReference(int fd, unsigned handle, drmBO *buf)
-+{
-+ struct drm_bo_reference_info_arg arg;
-+ struct drm_bo_handle_arg *req = &arg.d.req;
-+ struct drm_bo_info_rep *rep = &arg.d.rep;
-+
-+ memset(&arg, 0, sizeof(arg));
-+ req->handle = handle;
-+
-+ if (ioctl(fd, DRM_IOCTL_BO_REFERENCE, &arg))
-+ return -errno;
-+
-+ drmBOCopyReply(rep, buf);
-+ buf->mapVirtual = NULL;
-+ buf->mapCount = 0;
-+ buf->virtual = NULL;
-+
-+ return 0;
-+}
-+
-+int drmBOUnreference(int fd, drmBO *buf)
-+{
-+ struct drm_bo_handle_arg arg;
-+
-+ if (buf->mapVirtual && buf->mapHandle) {
-+ (void) munmap(buf->mapVirtual, buf->start + buf->size);
-+ buf->mapVirtual = NULL;
-+ buf->virtual = NULL;
-+ }
-+
-+ memset(&arg, 0, sizeof(arg));
-+ arg.handle = buf->handle;
-+
-+ if (ioctl(fd, DRM_IOCTL_BO_UNREFERENCE, &arg))
-+ return -errno;
-+
-+ buf->handle = 0;
-+ return 0;
-+}
-+
-+
-+/*
-+ * Flags can be DRM_BO_FLAG_READ, DRM_BO_FLAG_WRITE or'ed together
-+ * Hint currently be DRM_BO_HINT_DONT_BLOCK, which makes the
-+ * call return an -EBUSY if it can' immediately honor the mapping request.
-+ */
-+
-+int drmBOMap(int fd, drmBO *buf, unsigned mapFlags, unsigned mapHint,
-+ void **address)
-+{
-+ struct drm_bo_map_wait_idle_arg arg;
-+ struct drm_bo_info_req *req = &arg.d.req;
-+ struct drm_bo_info_rep *rep = &arg.d.rep;
-+ int ret = 0;
-+
-+ /*
-+ * Make sure we have a virtual address of the buffer.
-+ */
-+
-+ if (!buf->virtual) {
-+ drmAddress virtual;
-+ virtual = mmap(0, buf->size + buf->start,
-+ PROT_READ | PROT_WRITE, MAP_SHARED,
-+ fd, buf->mapHandle);
-+ if (virtual == MAP_FAILED) {
-+ ret = -errno;
-+ }
-+ if (ret)
-+ return ret;
-+ buf->mapVirtual = virtual;
-+ buf->virtual = ((char *) virtual) + buf->start;
-+ }
-+
-+ memset(&arg, 0, sizeof(arg));
-+ req->handle = buf->handle;
-+ req->mask = mapFlags;
-+ req->hint = mapHint;
-+
-+ /*
-+ * May hang if the buffer object is busy.
-+ * This IOCTL synchronizes the buffer.
-+ */
-+
-+ ret = drmIoctlTimeout(fd, DRM_IOCTL_BO_MAP, &arg);
-+ if (ret)
-+ return ret;
-+
-+ drmBOCopyReply(rep, buf);
-+ buf->mapFlags = mapFlags;
-+ ++buf->mapCount;
-+ *address = buf->virtual;
-+
-+ return 0;
-+}
-+
-+
-+int drmBOUnmap(int fd, drmBO *buf)
-+{
-+ struct drm_bo_handle_arg arg;
-+
-+ memset(&arg, 0, sizeof(arg));
-+ arg.handle = buf->handle;
-+
-+ if (ioctl(fd, DRM_IOCTL_BO_UNMAP, &arg)) {
-+ return -errno;
-+ }
-+ buf->mapCount--;
-+ return 0;
-+}
-+
-+int drmBOSetStatus(int fd, drmBO *buf,
-+ uint64_t flags, uint64_t mask,
-+ unsigned int hint,
-+ unsigned int desired_tile_stride,
-+ unsigned int tile_info)
-+{
-+
-+ struct drm_bo_map_wait_idle_arg arg;
-+ struct drm_bo_info_req *req = &arg.d.req;
-+ struct drm_bo_info_rep *rep = &arg.d.rep;
-+ int ret = 0;
-+
-+ memset(&arg, 0, sizeof(arg));
-+ req->mask = mask;
-+ req->flags = flags;
-+ req->handle = buf->handle;
-+ req->hint = hint;
-+ req->desired_tile_stride = desired_tile_stride;
-+ req->tile_info = tile_info;
-+
-+ ret = drmIoctlTimeout(fd, DRM_IOCTL_BO_SETSTATUS, &arg);
-+ if (ret)
-+ return ret;
-+
-+ drmBOCopyReply(rep, buf);
-+ return 0;
-+}
-+
-+
-+int drmBOInfo(int fd, drmBO *buf)
-+{
-+ struct drm_bo_reference_info_arg arg;
-+ struct drm_bo_handle_arg *req = &arg.d.req;
-+ struct drm_bo_info_rep *rep = &arg.d.rep;
-+ int ret = 0;
-+
-+ memset(&arg, 0, sizeof(arg));
-+ req->handle = buf->handle;
-+
-+ ret = ioctl(fd, DRM_IOCTL_BO_INFO, &arg);
-+ if (ret)
-+ return -errno;
-+
-+ drmBOCopyReply(rep, buf);
-+ return 0;
-+}
-+
-+int drmBOWaitIdle(int fd, drmBO *buf, unsigned hint)
-+{
-+ struct drm_bo_map_wait_idle_arg arg;
-+ struct drm_bo_info_req *req = &arg.d.req;
-+ struct drm_bo_info_rep *rep = &arg.d.rep;
-+ int ret = 0;
-+
-+ if ((buf->flags & DRM_BO_FLAG_SHAREABLE) ||
-+ (buf->replyFlags & DRM_BO_REP_BUSY)) {
-+ memset(&arg, 0, sizeof(arg));
-+ req->handle = buf->handle;
-+ req->hint = hint;
-+
-+ ret = drmIoctlTimeout(fd, DRM_IOCTL_BO_WAIT_IDLE, &arg);
-+ if (ret)
-+ return ret;
-+
-+ drmBOCopyReply(rep, buf);
-+ }
-+ return 0;
-+}
-+
-+int drmBOBusy(int fd, drmBO *buf, int *busy)
-+{
-+ if (!(buf->flags & DRM_BO_FLAG_SHAREABLE) &&
-+ !(buf->replyFlags & DRM_BO_REP_BUSY)) {
-+ *busy = 0;
-+ return 0;
-+ }
-+ else {
-+ int ret = drmBOInfo(fd, buf);
-+ if (ret)
-+ return ret;
-+ *busy = (buf->replyFlags & DRM_BO_REP_BUSY);
-+ return 0;
-+ }
-+}
-+
-+int drmMMInit(int fd, unsigned long pOffset, unsigned long pSize,
-+ unsigned memType)
-+{
-+ struct drm_mm_init_arg arg;
-+
-+ memset(&arg, 0, sizeof(arg));
-+
-+ arg.magic = DRM_BO_INIT_MAGIC;
-+ arg.major = DRM_BO_INIT_MAJOR;
-+ arg.minor = DRM_BO_INIT_MINOR;
-+ arg.p_offset = pOffset;
-+ arg.p_size = pSize;
-+ arg.mem_type = memType;
-+
-+ if (ioctl(fd, DRM_IOCTL_MM_INIT, &arg))
-+ return -errno;
-+ return 0;
-+}
-+
-+int drmMMTakedown(int fd, unsigned memType)
-+{
-+ struct drm_mm_type_arg arg;
-+
-+ memset(&arg, 0, sizeof(arg));
-+ arg.mem_type = memType;
-+
-+ if (ioctl(fd, DRM_IOCTL_MM_TAKEDOWN, &arg))
-+ return -errno;
-+ return 0;
-+}
-+
-+/*
-+ * If this function returns an error, and lockBM was set to 1,
-+ * the buffer manager is NOT locked.
-+ */
-+
-+int drmMMLock(int fd, unsigned memType, int lockBM, int ignoreNoEvict)
-+{
-+ struct drm_mm_type_arg arg;
-+
-+ memset(&arg, 0, sizeof(arg));
-+ arg.mem_type = memType;
-+ arg.lock_flags |= (lockBM) ? DRM_BO_LOCK_UNLOCK_BM : 0;
-+ arg.lock_flags |= (ignoreNoEvict) ? DRM_BO_LOCK_IGNORE_NO_EVICT : 0;
-+
-+ return drmIoctlTimeout(fd, DRM_IOCTL_MM_LOCK, &arg);
-+}
-+
-+int drmMMUnlock(int fd, unsigned memType, int unlockBM)
-+{
-+ struct drm_mm_type_arg arg;
-+
-+ memset(&arg, 0, sizeof(arg));
-+
-+ arg.mem_type = memType;
-+ arg.lock_flags |= (unlockBM) ? DRM_BO_LOCK_UNLOCK_BM : 0;
-+
-+ return drmIoctlTimeout(fd, DRM_IOCTL_MM_UNLOCK, &arg);
-+}
-+
-+int drmBOVersion(int fd, unsigned int *major,
-+ unsigned int *minor,
-+ unsigned int *patchlevel)
-+{
-+ struct drm_bo_version_arg arg;
-+ int ret;
-+
-+ memset(&arg, 0, sizeof(arg));
-+ ret = ioctl(fd, DRM_IOCTL_BO_VERSION, &arg);
-+ if (ret)
-+ return -errno;
-+
-+ if (major)
-+ *major = arg.major;
-+ if (minor)
-+ *minor = arg.minor;
-+ if (patchlevel)
-+ *patchlevel = arg.patchlevel;
-+
-+ return 0;
-+}
-+
-+
-+
- #define DRM_MAX_FDS 16
- static struct {
- char *BusID;
-Index: libdrm-2.4.4/libdrm/xf86drm.h
-===================================================================
---- libdrm-2.4.4.orig/libdrm/xf86drm.h 2008-12-17 18:28:24.000000000 +0000
-+++ libdrm-2.4.4/libdrm/xf86drm.h 2009-02-04 16:39:55.000000000 +0000
-@@ -665,4 +665,6 @@
- extern int drmSetMaster(int fd);
- extern int drmDropMaster(int fd);
-
-+#include "xf86mm.h"
-+
- #endif
-Index: libdrm-2.4.4/libdrm/xf86mm.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ libdrm-2.4.4/libdrm/xf86mm.h 2009-02-04 16:39:55.000000000 +0000
-@@ -0,0 +1,140 @@
-+/**************************************************************************
-+ *
-+ * Copyright 2006 Tungsten Graphics, Inc., Bismarck, ND. USA.
-+ * All Rights Reserved.
-+ *
-+ * 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, sub license, 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 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 NON-INFRINGEMENT. IN NO EVENT SHALL
-+ * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS 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.
-+ *
-+ * The above copyright notice and this permission notice (including the
-+ * next paragraph) shall be included in all copies or substantial portions
-+ * of the Software.
-+ *
-+ *
-+ **************************************************************************/
-+
-+#ifndef _XF86MM_H_
-+#define _XF86MM_H_
-+#include <stddef.h>
-+#include <stdint.h>
-+#include "drm.h"
-+
-+/*
-+ * Note on multithreaded applications using this interface.
-+ * Libdrm is not threadsafe, so common buffer, TTM, and fence objects need to
-+ * be protected using an external mutex.
-+ *