[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 0/2][HVM] Dynamic MP Table Creation

  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: "Betak, Travis" <travis.betak@xxxxxxx>
  • Date: Tue, 27 Jun 2006 01:00:23 -0500
  • Delivery-date: Mon, 26 Jun 2006 23:22:02 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcaZrvp84ZD53XWOQz+GZygOH4NZJg==
  • Thread-topic: [PATCH 0/2][HVM] Dynamic MP Table Creation

These two patches modify the fully virtualized guests firmware so that
the MP tables are created dynamically based upon the VCPU count.  

Currently the MP tables used by fully virtualized guests are static and
built when the ROMBIOS is built.  If a user wants a different MP table
configuration, HVMLOADER must be rebuilt with new ROMBIOS and MP tables.
These patches are mostly for convenience, especially with binary
distributions of Xen.

The first patch (dynamically-created-mptable.patch) extends HVMLOADER so
that the tables are created when the guest firmware is loaded.  In
addition, the guests are not restricted to 1, 2, 4, and 8-way SMP
configurations.  To do this, a space is allocated inside the ROMBIOS
where the old static MP tables were located and marked with a '___HVMMP'
signature.  The modified HVMLOADER searches for this signature and
creates the MP tables there.  There is enough space for an MP table with
enough space for 32 processor entries along with the other static
information.  With respect to the MP table, the only thing that is
dynamically created is the number of processor entries.  Everything else
is static and based upon the static MP table information found in the
ROMBIOS code.  Some possible rooms for improvement include more accurate
CPU information that matches what the guest sees via CPUID and an
overall more accurate reflection of the guest's configuration.

The second patch (hvmloader-mptable-option.patch) adds an hvm builder
option, 'mptable', that gates the creation of the MP tables regardless
of the number of VCPUs.  This option can keep MP tables from being
created.  Some of the more modern operating systems can use the ACPI
MADT to determine the SMP configuration and don't require MP table

The APIC option must be enabled for the MP tables to be created.

I'd like any feedback about these patches and if anyone sees any
problems or objects to this approach.  I know there were previous
problems when a UP Windows guest was trying to be installed/booted with
an MP table.  If there are no objections, please apply to unstable.

Applies cleanly to xen-unstable.hg c/s 10482.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.