From: David C. <da...@co...> - 2004-04-04 22:02:03
|
I'm working on a problem where I need to be able to have multiple X servers responding concurrently (the video driver is not actually writing to a framebuffer device), and so I was trying out the /proc/bus/pci/hackvideo patch provided by linuxconsole/ruby. It does not seem to solve my problem, but I would like to understand what it is supposed to do (to hopefully give me better insight into where my problem is). I believe the following code in proc_bus_pci_write() in drivers/pci/proc.c is the only modification to the 2.6 kernel code (other than reading & writing the proc entry) for the hackvideo patch: if (pci_hackvideo && (pos == PCI_CMD_STAT_REG) && (buf[0] <= PCI_CMD_MASTER_ENABLE) && ((dev->class>>8) == 0x0300 || (dev->class>>8) == 0x0400 || (dev->class>>8) == 0x0000 ) ) return -EINVAL; It is not clear to me what this code is doing, however. Can anyone offer an explanation? Does it relate to XFree86's disabling of port I/O access when switching VTs? If so, is it designed to block the functionality of a particular function called within xf86VTSwitch() in xc/programs/Xserver/hw/xfree86/common/xf86Events.c? TIA for any insight you can offer, David Coulthart |