On 5/4/06, Peter Jones <[email protected]> wrote:
On Thu, 2006-05-04 at 23:17 +0200, Martin Mares wrote: > Hello! > > > > This is yet another way that user space can mess up the kernel. If VGA > > > routing is changes under fbdev (my attribute notifies fbdev, the fbdev > > > code for processing the notification did get checked in) then the > > > console will screw up. > > > > And this change allows userland to avoid doing that. > > Could you explain how? I don't see how adding a "enable" attribute > to sysfs can solve these problems. By allowing tools to read the rom from the pci device itself, instead of whichever device's rom happens to be at 0xC0000. libx86emul allows you to define routines that it uses for memory access, so you can copy the ROM out to normal memory, and map that memory to the appropriate address that way. X and vbetool both already have to do this, but without copying the firmware image, to do DDC probing on x86_64.
# cd /sys/bus/pci/devices/0000:01:00.0 # echo 1 >rom # hexdump -C rom As far as I know this works on every platform, not just the PC one. Don't mess around with the hardware trying to get to the ROM. Use the API provided by the kernel. Messing with the hardware will get it into a state that the kernel doesn't know about and can ultimately crash your system.
> I agree with Arjan that the attribute could be useful for some special > tools, but using it in X is likely to be utterly wrong. I'm actually talking about vbetool here, though X could use these methods. Indeed, libx86emul comes from X itself. -- Peter
-- Jon Smirl [email protected] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- References:
- Add a "enable" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access
- From: Arjan van de Ven <[email protected]>
- Re: Add a "enable" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access
- From: Bjorn Helgaas <[email protected]>
- Re: Add a "enable" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access
- From: Arjan van de Ven <[email protected]>
- Re: Add a "enable" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access
- From: Bjorn Helgaas <[email protected]>
- Re: Add a "enable" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access
- From: Matthew Garrett <[email protected]>
- Re: Add a "enable" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access
- From: "Jon Smirl" <[email protected]>
- Re: Add a "enable" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access
- From: Peter Jones <[email protected]>
- Re: Add a "enable" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access
- From: Martin Mares <[email protected]>
- Re: Add a "enable" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access
- From: Peter Jones <[email protected]>
- Add a "enable" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access
- Prev by Date: Re: Add a "enable" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access
- Next by Date: Re: Add a "enable" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access
- Previous by thread: Re: Add a "enable" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access
- Next by thread: Re: Add a "enable" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access
- Index(es):