Re: Exposing ROM's though sysfs

From: Jon Smirl
Date: Fri Jul 30 2004 - 15:42:27 EST


--- Martin Mares <mj@xxxxxx> wrote:
> No, we are speaking about sysfs access to the ROM and the driver
> itself is unable to predict whether anybody will ever want to use
> that sysfs file, so it would have to cache always.

For the 99.999% of hardware that implements full address decoding the
sysfs code will not cache the ROM contents and instead make a copy as
requested from the actual ROM.

The only time the ROM will get cached is when you load a kernel device
driver for a card that implements minimalistic PCI decoding (very few
cards) and the driver asks for it. The driver would ask for caching
since it knows that the decoder lines aren't complete.

We also don't have to cache the ROM for boot video devices since they
are already cached at C000:0 by the system BIOS.

This cache is only going to impact a few systems in the world that are
trying to run a current kernel on ten year old hardware. It also
assumes that someone is going to rewrite the device drivers for this
old hardware and ask for the caching.

>
> Do I understand it correctly that the ROM-in-sysfs hack is intended
> only for debugging? If it is so, I do not see why we should do
> anything complicated in order to avoid root shooting himself
> in the foot.

Reasons for ROMs in sysfs:

Secondary video cards need to have code in their ROMs run to reset
them. When an x86 PC boots it only reset the primary video device, the
secondary ones won't work until their ROMs are run.

Another group needing this is laptop suspend/resume. Some cards won't
come back from suspend until their ROM is run to reinitialize them.

A third group is undocumented video hardware where the only way to set
the screen mode is by calling INT10 in the video ROMs. (Intel
i810,830,915 for example).

Small apps are attached to the hotplug events. These apps then use vm86
or emu86 to run the ROMs. emu86 is needed for ia64 or ppc when running
x86 ROMs on them.

=====
Jon Smirl
jonsmirl@xxxxxxxxx



__________________________________
Do you Yahoo!?
Yahoo! Mail is new and improved - Check it out!
http://promotions.yahoo.com/new_mail
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/