Mailing List Archive

[xen-unstable] [IA64] Pass the bare LSAPIC ID to dom0
# HG changeset patch
# User Alex Williamson <alex.williamson@hp.com>
# Date 1184882213 21600
# Node ID e487cc2491715b6ef86de2af2217d1e6bae0f6be
# Parent 834ac63f4894443dd825ef0d9ef478fb48416d43
[IA64] Pass the bare LSAPIC ID to dom0

This patch fixes an issue which dom0 cannot boot with dom0_max_vcpus.
Currently LSAPIC IDs are create by xen, but ACPI SRAT table is the bare
table. So on some boxes node_cpuid[].phys_id are different from
cpu_physical_id()s, and we cannot boot dom0.

Instead, pass the bare LSAPIC ID to dom0.

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
---
xen/arch/ia64/xen/dom_fw_dom0.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)

diff -r 834ac63f4894 -r e487cc249171 xen/arch/ia64/xen/dom_fw_dom0.c
--- a/xen/arch/ia64/xen/dom_fw_dom0.c Sun Jul 15 13:40:47 2007 -0600
+++ b/xen/arch/ia64/xen/dom_fw_dom0.c Thu Jul 19 15:56:53 2007 -0600
@@ -55,12 +55,16 @@ acpi_update_lsapic(acpi_table_entry_head
enable = 0;

if (lsapic->flags.enabled && enable) {
- printk("enable lsapic entry: 0x%lx\n", (u64) lsapic);
- lsapic->id = lsapic_nbr;
- lsapic->eid = 0;
+ if (lsapic->id == 0) {
+ lsapic->id = lsapic_nbr;
+ lsapic->eid = 0;
+ }
lsapic_nbr++;
+ printk("enable lsapic entry: 0x%lx (id:eid=%x:%x)\n",
+ (u64)lsapic, lsapic->id, lsapic->eid);
} else if (lsapic->flags.enabled) {
- printk("DISABLE lsapic entry: 0x%lx\n", (u64) lsapic);
+ printk("DISABLE lsapic entry: 0x%lx (id:eid=%x:%x)\n",
+ (u64)lsapic, lsapic->id, lsapic->eid);
lsapic->flags.enabled = 0;
lsapic->id = 0;
lsapic->eid = 0;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xensource.com
http://lists.xensource.com/xen-changelog