xserver: Branch 'master' - 2 commits
David Nusinow
gravity at kemper.freedesktop.org
Tue May 29 19:05:08 PDT 2007
hw/xfree86/loader/xf86sym.c | 51 ++++++++++++++++++++++++++++++++
hw/xfree86/os-support/hurd/hurd_video.c | 44 +++++++--------------------
2 files changed, 63 insertions(+), 32 deletions(-)
New commits:
diff-tree 99eae8bea6724a24477375ad5b2d31cc4883cf6b (from 3c6f1428489c1f71acd41066ea73ef4ae7c60f17)
Author: Samuel Thibault <samuel.thibault at ens-lyon.org>
Date: Tue May 29 22:04:36 2007 -0400
I/O enable/disable update for the Hurd
diff --git a/hw/xfree86/os-support/hurd/hurd_video.c b/hw/xfree86/os-support/hurd/hurd_video.c
index 45e9a09..b889283 100644
--- a/hw/xfree86/os-support/hurd/hurd_video.c
+++ b/hw/xfree86/os-support/hurd/hurd_video.c
@@ -117,49 +117,29 @@ xf86LinearVidMem()
/**************************************************************************
* I/O Permissions section
***************************************************************************/
-mach_port_t io_port;
+
+/*
+ * Due to conflicts with "compiler.h", don't rely on <sys/io.h> to declare
+ * this.
+ */
+extern int ioperm(unsigned long __from, unsigned long __num, int __turn_on);
Bool
xf86EnableIO()
{
- mach_port_t device;
- kern_return_t err;
-
- err = get_privileged_ports(NULL, &device);
- if( err )
- {
- errno = err;
- FatalError("xf86EnableIO() can't get_privileged_ports. (%s)\n",strerror(errno));
- }
- err = device_open(device,D_READ|D_WRITE,"io",&io_port);
- mach_port_deallocate(mach_task_self(), device);
- if( err )
- {
- errno = err;
- FatalError("xf86EnableIO() can't device_open. (%s)\n",strerror(errno));
- }
-
- err = i386_io_port_add(mach_thread_self (), io_port);
- if( err )
- {
- errno = err;
- FatalError("xf86EnableIO() can't i386_io_port_add.(io_port) (%s)\n",strerror(errno));
+ if (ioperm(0, 0xffff, 1)) {
+ FatalError("xf86EnableIO: ioperm() failed (%s)\n", strerror(errno));
+ return FALSE;
}
+ ioperm(0x40,4,0); /* trap access to the timer chip */
+ ioperm(0x60,4,0); /* trap access to the keyboard controller */
return TRUE;
}
void
xf86DisableIO()
{
- kern_return_t err;
-
- err = i386_io_port_remove(mach_thread_self (), io_port);
- if( err )
- {
- errno = err;
- FatalError("xf86DisableIO() can't i386_io_port_remove.(io_port) (%s)\n",strerror(errno));
- }
- mach_port_deallocate(mach_task_self(), io_port);
+ ioperm(0,0xffff,0);
return;
}
diff-tree 3c6f1428489c1f71acd41066ea73ef4ae7c60f17 (from ee20c481eede0954f4a8bef5113979b101863c32)
Author: Julien Cristau <jcristau at debian.org>
Date: Tue May 29 22:01:30 2007 -0400
Make sure that the ramdac symbols are present in the server
The former ramdac module is now built into the server, so its symbols need to
be explicitly exported to drivers (Debian #423129).
diff --git a/hw/xfree86/loader/xf86sym.c b/hw/xfree86/loader/xf86sym.c
index 5175f01..6535e4c 100644
--- a/hw/xfree86/loader/xf86sym.c
+++ b/hw/xfree86/loader/xf86sym.c
@@ -96,6 +96,11 @@
#endif
#include "xf86DDC.h"
#include "edid.h"
+#include "xf86Cursor.h"
+#include "xf86RamDac.h"
+#include "BT.h"
+#include "IBM.h"
+#include "TI.h"
#ifndef HAS_GLIBC_SIGSETJMP
#if defined(setjmp) && defined(__GNU_LIBRARY__) && \
@@ -1255,4 +1260,50 @@ _X_HIDDEN void *xfree86LookupTab[] = {
SYMFUNC(xf86I2CWriteRead)
SYMFUNC(xf86I2CWriteVec)
SYMFUNC(xf86I2CWriteWord)
+
+ /* ramdac/xf86RamDac.c */
+ SYMFUNC(RamDacCreateInfoRec)
+ SYMFUNC(RamDacHelperCreateInfoRec)
+ SYMFUNC(RamDacDestroyInfoRec)
+ SYMFUNC(RamDacHelperDestroyInfoRec)
+ SYMFUNC(RamDacInit)
+ SYMFUNC(RamDacHandleColormaps)
+ SYMFUNC(RamDacFreeRec)
+ SYMFUNC(RamDacGetHWIndex)
+ SYMVAR(RamDacHWPrivateIndex)
+ SYMVAR(RamDacScreenPrivateIndex)
+
+ /* ramdac/xf86Cursor.c */
+ SYMFUNC(xf86InitCursor)
+ SYMFUNC(xf86CreateCursorInfoRec)
+ SYMFUNC(xf86DestroyCursorInfoRec)
+ SYMFUNC(xf86ForceHWCursor)
+
+ /* ramdac/BT.c */
+ SYMFUNC(BTramdacProbe)
+ SYMFUNC(BTramdacSave)
+ SYMFUNC(BTramdacRestore)
+ SYMFUNC(BTramdacSetBpp)
+
+ /* ramdac/IBM.c */
+ SYMFUNC(IBMramdacProbe)
+ SYMFUNC(IBMramdacSave)
+ SYMFUNC(IBMramdacRestore)
+ SYMFUNC(IBMramdac526SetBpp)
+ SYMFUNC(IBMramdac640SetBpp)
+ SYMFUNC(IBMramdac526CalculateMNPCForClock)
+ SYMFUNC(IBMramdac640CalculateMNPCForClock)
+ SYMFUNC(IBMramdac526HWCursorInit)
+ SYMFUNC(IBMramdac640HWCursorInit)
+ SYMFUNC(IBMramdac526SetBppWeak)
+
+ /* ramdac/TI.c */
+ SYMFUNC(TIramdacCalculateMNPForClock)
+ SYMFUNC(TIramdacProbe)
+ SYMFUNC(TIramdacSave)
+ SYMFUNC(TIramdacRestore)
+ SYMFUNC(TIramdac3026SetBpp)
+ SYMFUNC(TIramdac3030SetBpp)
+ SYMFUNC(TIramdacHWCursorInit)
+ SYMFUNC(TIramdacLoadPalette)
};
More information about the xorg-commit
mailing list