[SeaBIOS] seabios: acpi: add _RMV control method for PCI devices

Gleb Natapov 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
> interface.
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 mailing list