ia64/xen-unstable
changeset 15561:e487cc249171
[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>
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>
author | Alex Williamson <alex.williamson@hp.com> |
---|---|
date | Thu Jul 19 15:56:53 2007 -0600 (2007-07-19) |
parents | 834ac63f4894 |
children | fcdd56b88acd |
files | xen/arch/ia64/xen/dom_fw_dom0.c |
line diff
1.1 --- a/xen/arch/ia64/xen/dom_fw_dom0.c Sun Jul 15 13:40:47 2007 -0600 1.2 +++ b/xen/arch/ia64/xen/dom_fw_dom0.c Thu Jul 19 15:56:53 2007 -0600 1.3 @@ -55,12 +55,16 @@ acpi_update_lsapic(acpi_table_entry_head 1.4 enable = 0; 1.5 1.6 if (lsapic->flags.enabled && enable) { 1.7 - printk("enable lsapic entry: 0x%lx\n", (u64) lsapic); 1.8 - lsapic->id = lsapic_nbr; 1.9 - lsapic->eid = 0; 1.10 + if (lsapic->id == 0) { 1.11 + lsapic->id = lsapic_nbr; 1.12 + lsapic->eid = 0; 1.13 + } 1.14 lsapic_nbr++; 1.15 + printk("enable lsapic entry: 0x%lx (id:eid=%x:%x)\n", 1.16 + (u64)lsapic, lsapic->id, lsapic->eid); 1.17 } else if (lsapic->flags.enabled) { 1.18 - printk("DISABLE lsapic entry: 0x%lx\n", (u64) lsapic); 1.19 + printk("DISABLE lsapic entry: 0x%lx (id:eid=%x:%x)\n", 1.20 + (u64)lsapic, lsapic->id, lsapic->eid); 1.21 lsapic->flags.enabled = 0; 1.22 lsapic->id = 0; 1.23 lsapic->eid = 0;