From: Alan Cox on
> "Don't use legacy fixed-function addresses for nonstandard purposes."
>
> There, there is your documentation.

It's probably a good idea to only reserve it if the space is actually
being used. There are a variety of legitimate reasons to use that space
for other things on embedded x86 boards.

They are only "legacy fixed function" if you have a PCI bus...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Alan Cox on
> Why is this different for 64-bit vs 32-bit? Can you point me to any
> references where I can learn about this?

IMHO its wrong for both

You can only reserve the region in question if you actually have a VGA
device and mappings present.

It's wrong for non PCI systems
It's wrong for legacy ISA systems with monochrome video/no video
It's wrong for several embedded platforms.
It's wrong if PCI isn't your root bridge

Basically the reservation is the wrong way to fix it. A much saner way to
fix it would be to simply keep a list of address ranges not to use for
PCI device relocation. For I/O ports of course we just fix up the PCI
resources of the device to list them as we discover it (IDE legacy).

You don't want to put anything at the VGA address that needs assigning an
address. That is *totally* different to the question of whether you want
to believe the space is 'reserved'. If something is at that address then
presumably the firmware knows what it is doing. If a device driver wishes
to reserve that address it's doing so with more information, later in
boot so should be allowed to.

Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Alan Cox on
> No they're not. The 0xa0000...0xbffff range has been a legacy video
> area since the very first PC (although the first PC only used
> 0xb0000..0xbffff, 0xa0000..0xbffff was declared reserved at that time.)

Depending on your definition of "PC". Quite a few early MSDOS systems had
video elsewhere. Some embedded systems without video use the space for
other stuff. Lots of ISA 386/486 PCs had cards borrowing the unused bits
of video space.

> I'm wondering what those legitimate reasons are. This is particularly
> so since it affects our ability to deal with very early errors, long
> before we have enumerated anything. At this point we can at least lay
> down bytes in the video area and hope the user can see them.

Thats why you have the bios equipment byte and video queries.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/