All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gleb Natapov <gleb@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Alex Williamson <alex.williamson@redhat.com>,
	seabios@seabios.org, ddutile@redhat.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] seabios: acpi: Add _STA for PCI hotplug slots
Date: Mon, 5 Mar 2012 12:39:40 +0200	[thread overview]
Message-ID: <20120305103940.GT10743@redhat.com> (raw)
In-Reply-To: <20120305062622.GB22209@redhat.com>

On Mon, Mar 05, 2012 at 08:26:23AM +0200, Michael S. Tsirkin wrote:
> On Sun, Mar 04, 2012 at 08:30:00PM -0700, Alex Williamson wrote:
> > On Sun, 2012-03-04 at 20:53 +0200, Michael S. Tsirkin wrote:
> > > On Fri, Feb 24, 2012 at 04:21:17PM -0700, Alex Williamson wrote:
> > > > When a Status method is provided on a slot, the OSPM evaluates
> > > > _STA in response to the device check notify on the slot.  This
> > > > allows some degree of a handshake between the platform and the
> > > > OSPM that the hotplug has been acknowledged.
> > > >
> > > > In order to implement _STA, we need to know which slots have
> > > > devices.  A slot with device returns 0x0F, a slot without a
> > > > device returns Zero.  We get this information from Qemu using
> > > > the 0xae08 I/O port register.  This was previously the read-side
> > > > of the register written to commit a device eject and always
> > > > returned 0 on read.  It now returns a bitmap of present slots,
> > > > so we know that reading 0 means we have and old Qemu and
> > > > dynamically modify our SSDT to rename the _STA methods.  This
> > > > is necessary to allow backwards compatibility.
> 
> ...
> 
> > > > The _STA method also writes the slot identifier to I/O port
> > > > register 0xae00 as an acknowledgment of the hotplug request.
> 
> 
> To summarize my previous messages, my notes are
> - not clear that we want to implement _STA: yes we can tell hypervisor
>   what did _STA report to OSPM but this won't be needed without _STA
> - assuming we do, it seems clear that we want hypervisor
>   to know what it is that we told OSPM about slot status
> - the specific interface used for the above is fairly tricky
>   so it needs documentation explaining how both sides cooperate
> 
Why have this up, down things at all? What's wrong with how CPU hotplug
works. It has only one HW register that returns a single bitmask that
has 1 for available cpu and 0 for non available. AML can figure out what
changed by having local copy of the old register's value to compare new value
with.

--
			Gleb.

      reply	other threads:[~2012-03-05 10:40 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-24 23:21 [Qemu-devel] [PATCH] seabios: acpi: Add _STA for PCI hotplug slots Alex Williamson
2012-03-04 17:06 ` Kevin O'Connor
2012-03-04 18:53 ` Michael S. Tsirkin
2012-03-05  3:30   ` Alex Williamson
2012-03-05  5:15     ` Michael S. Tsirkin
2012-03-05 15:38       ` Alex Williamson
2012-03-05  6:26     ` Michael S. Tsirkin
2012-03-05 10:39       ` Gleb Natapov [this message]

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=20120305103940.GT10743@redhat.com \
    --to=gleb@redhat.com \
    --cc=alex.williamson@redhat.com \
    --cc=ddutile@redhat.com \
    --cc=mst@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.