qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Brendan Trotter <btrotter@gmail.com>
To: bochs-developers@lists.sourceforge.net
Cc: Glauber Costa <glommer@redhat.com>,
	aliguori@us.ibm.com, qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [Bochs-developers] [PATCH 1/2] create acpi cpu definitions
Date: Sun, 19 Apr 2009 11:01:09 +0930	[thread overview]
Message-ID: <b1ebdcad0904181831o586157c0m73f6d143f40c1fea@mail.gmail.com> (raw)
In-Reply-To: <D0EACBF925E544E9A23947F700322478@FSCPC>

Hi,

On Sun, Apr 19, 2009 at 7:20 AM, Sebastian Herbszt <herbszt@gmx.de> wrote:
> Glauber Costa wrote:
>> This comes directly from kvm-userspace. It creates
>> the necessary infrastructure for cpu hotplug, by
>> creating _MAT and _STA entries in cpu devices,
>> and by allowing notifications to the guest to happen
>
> Is there a cpu hotplug specification? I would like to read up
> on the needed changes.

There isn't any CPU hotplug specification for 80x86.

The "Processor Local APIC" structure in ACPI's tables has an
"enabled/disabled" flag (just like some other structures in ACPI
tables). Hotplug CPUs that aren't present may not be listed at all (no
"disabled" entry), and "Processor Local APIC" entries may be disabled
for any number of other reasons (including a BIOS that uses fixed size
tables, that supports more CPUs than the motherboard). The only thing
an OS can assume about disabled "Processor Local APIC" entries is that
the OS must not attempt to use the CPU.

For a comparison, the ACPI specification does include support for
hotplug RAM. In this case (for ACPI 3.0) the "int 0x15, eax = 0xE820"
BIOS function returns entries with an enabled/disabled flag where
"disabled" entries must be ignored; and there's a completely separate
structure (the "Memory Affinity Structure") which contains information
about areas that are used for hot-plug RAM, which has it's one
enabled/disabled flag *and* a separate hotpluggable/not hotpluggable
flag. From this, it seems logical that if ACPI ever does support
hot-plug CPUs, then they'll use a separate structure or a separate
flag to indicate if a CPU is hot pluggable or not, and the existing
"enabled/disabled" flag will retain it's current (use/don't use)
meaning.

For some reason (unknown to me) some Linux developers made wild
assumptions about disabled "Processor Local APIC" entries, and now
they're inventing fictitious hardware to support their unfounded
assumptions.

Please, correct me if I'm wrong...


Cheers,

Brendan

  reply	other threads:[~2009-04-19  1:31 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-17 20:57 [Qemu-devel] [PATCH 0/2] CPU hotplug support Glauber Costa
2009-04-17 20:57 ` [Qemu-devel] [PATCH 1/2] create acpi cpu definitions Glauber Costa
2009-04-17 20:57   ` [Qemu-devel] [PATCH 2/2] kvm: bios: remove acpi_build_processor_ssdt Glauber Costa
2009-04-18 21:50   ` [Qemu-devel] Re: [Bochs-developers] [PATCH 1/2] create acpi cpu definitions Sebastian Herbszt
2009-04-19  1:31     ` Brendan Trotter [this message]
2009-04-19 11:12       ` Gleb Natapov
2009-04-19 14:04         ` Brendan Trotter
2009-04-19 21:55         ` Sebastian Herbszt
2009-04-20  5:28           ` Gleb Natapov

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=b1ebdcad0904181831o586157c0m73f6d143f40c1fea@mail.gmail.com \
    --to=btrotter@gmail.com \
    --cc=aliguori@us.ibm.com \
    --cc=bochs-developers@lists.sourceforge.net \
    --cc=glommer@redhat.com \
    --cc=qemu-devel@nongnu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).