All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gleb Natapov <gleb@redhat.com>
To: Avi Kivity <avi@redhat.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>,
	seabios@seabios.org, qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [SeaBIOS] seabios: acpi: add _RMV control method for PCI devices
Date: Mon, 13 Dec 2010 11:03:59 +0200	[thread overview]
Message-ID: <20101213090359.GA15610@redhat.com> (raw)
In-Reply-To: <4D05DEF3.60608@redhat.com>

On Mon, Dec 13, 2010 at 10:53:07AM +0200, Avi Kivity wrote:
> On 12/13/2010 10:49 AM, Gleb Natapov wrote:
> >On Mon, Dec 13, 2010 at 10:41:25AM +0200, Avi Kivity wrote:
> >>  On 12/13/2010 02:00 AM, Marcelo Tosatti wrote:
> >>  >On Sat, Dec 11, 2010 at 09:39:30AM +0200, Avi Kivity wrote:
> >>  >>   On 12/08/2010 07:08 PM, Marcelo Tosatti wrote:
> >>  >>   >Use _RMV method to indicate whether device can be removed.
> >>  >>   >
> >>  >>   >Data is retrieved from QEMU via I/O port 0xae0c.
> >>  >>   >
> >>  >>
> >>  >>   Where did this port come from?
> >>  >
> >>  >Its the next available address after "PCI EJ base", used
> >>  >for QEMU<->ACPI hotplug communication.
> >>  >
> >>  >>   What's the protocol?
> >>  >
> >>  >ACPI reads the 32-bit field indicating the return value of the _RMV
> >>  >method (which is used by Windows to decide removability). 1-bit per
> >>  >slot.
> >>  >
> >>  >More ports have to be registered if more buses are added.
> >>  >
> >>  >>   Maybe we should do this via fw_cfg.
> >>  >
> >>  >I don't see a need for it? (yes, it might be possible, but i'm not
> >>  >familiar enough with AML).
> >>
> >>  To avoid adding tons of undocumented I/O ports, and to allow
> >>  discoverability (what happens with a new seabios on old qemu)?
> >>
> >We already have out own mini pci hot-plug controller at io port 0xae00.
> >The patch just extends its functionality a bit. Logically this
> >functionality belongs there.
> 
> Well, at least it should be documented.
> 
Agree.

> 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.
 
> >>  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).

--
			Gleb.

  reply	other threads:[~2010-12-13  9:04 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-08 17:08 [Qemu-devel] seabios: acpi: add _RMV control method for PCI devices Marcelo Tosatti
2010-12-08 17:34 ` [Qemu-devel] " Gleb Natapov
2010-12-08 18:01   ` Marcelo Tosatti
2010-12-08 19:58     ` Gleb Natapov
2010-12-08 21:23       ` Marcelo Tosatti
2010-12-11  7:39 ` [Qemu-devel] Re: [SeaBIOS] " Avi Kivity
2010-12-13  0:00   ` Marcelo Tosatti
2010-12-13  8:41     ` Avi Kivity
2010-12-13  8:49       ` Gleb Natapov
2010-12-13  8:53         ` Avi Kivity
2010-12-13  9:03           ` Gleb Natapov [this message]
2010-12-13  9:10             ` Avi Kivity
2010-12-13  9:16               ` Gleb Natapov
2010-12-12 19:11 ` Kevin O'Connor
2010-12-12 19:49   ` Gleb Natapov
2010-12-12 19:57     ` Kevin O'Connor
2010-12-20  8:49       ` Marcelo Tosatti
2010-12-20  9:15         ` Avi Kivity
2010-12-20 17:05           ` Marcelo Tosatti
2010-12-20 17:44             ` Avi Kivity
2010-12-20 18:23               ` Marcelo Tosatti
2011-01-05 11:10 ` [Qemu-devel] " Gleb Natapov
2011-01-06  2:27   ` [Qemu-devel] Re: [SeaBIOS] " Kevin O'Connor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101213090359.GA15610@redhat.com \
    --to=gleb@redhat.com \
    --cc=avi@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=seabios@seabios.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.