[SeaBIOS] seabios: acpi: add _RMV control method for PCI devices
gleb at redhat.com
Mon Dec 13 10:16:51 CET 2010
On Mon, Dec 13, 2010 at 11:10:38AM +0200, Avi Kivity wrote:
> On 12/13/2010 11:03 AM, Gleb Natapov wrote:
> >> We could also deprecate the old port and use fwcfg for everything
> >> (try fwcfg, fall back to ae00).
> >fwcfg designed to be simple for easy use by firmware. It has two port
> >one for index another for value, so its use is racy in multi-threaded SMP
> >environment. DSDT code is executed in such environment. There is lock
> >facility in AML, but why complicate things.
> I prefer to remove complexity from interfaces and have it in the
> implementation instead.
I prefer whatever is simpler :) simpler == less bugs. And it is not like
we discuss new interface here. You want to deprecate existing interface
in favor of something that was not designed to handle the task.
> >> >> We could do this in two ways: by adding a fwcfg client to the DSDT,
> >> >> or by copying the information to system memory, and referencing
> >> >> system memory from the DSDT.
> >> >>
> >> >This is even worse. It requires some fixed address to be shared between
> >> >DSDT and Seabios (or alternatively Seabios will have to generate this
> >> >part of DSDT dynamically).
> >> >
> >> Could easily be something in the F segment.
> >Yes, but then we will have two magic values (fwcfg index + address
> >in F segment) instead of one (address of pci hot-plug controller).
> The F segment address is internal to SeaBIOS; it isn't an external
Depends on how you define external interface. It can be considered as
interface between OSPM and firmware. Next time layout of F segment
changes in SeaBIOS will you remember fixing DSDT too?
More information about the SeaBIOS