Re: Add a "enable" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux