ia64/xen-unstable

changeset 15671:9cd309378326

[IA64] Disable ACPI SRAT,SLIT table of dom0.

On some ia64 NUMA machine, we cannot boot dom0.
This issue is caused by different infomation LSAPIC and SRAT.
Xen-ia64 modify LSAPIC IDs of dom0, but it does not modify SRAT.
So we decide disabling SRAT, SLIT of dom0 as first step of NUMA
work.

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
author kfraser@localhost.localdomain
date Mon Jul 30 11:28:16 2007 +0100 (2007-07-30)
parents c0fbee66aff6
children 55fb4c6e7702
files xen/arch/ia64/xen/dom_fw_dom0.c
line diff
     1.1 --- a/xen/arch/ia64/xen/dom_fw_dom0.c	Mon Jul 30 11:27:48 2007 +0100
     1.2 +++ b/xen/arch/ia64/xen/dom_fw_dom0.c	Mon Jul 30 11:28:16 2007 +0100
     1.3 @@ -103,6 +103,7 @@ acpi_update_madt_checksum(unsigned long 
     1.4  /* base is physical address of acpi table */
     1.5  static void __init touch_acpi_table(void)
     1.6  {
     1.7 +	int result;
     1.8  	lsapic_nbr = 0;
     1.9  
    1.10  	if (acpi_table_parse_madt(ACPI_MADT_LSAPIC, acpi_update_lsapic, 0) < 0)
    1.11 @@ -111,6 +112,18 @@ static void __init touch_acpi_table(void
    1.12  				  acpi_patch_plat_int_src, 0) < 0)
    1.13  		printk("Error parsing MADT - no PLAT_INT_SRC entries\n");
    1.14  
    1.15 +	result = acpi_table_disable(ACPI_SRAT);
    1.16 +	if ( result == 0 )
    1.17 +		printk("Success Disabling SRAT\n");
    1.18 +	else if ( result != -ENOENT )
    1.19 +		printk("ERROR: Failed Disabling SRAT\n");
    1.20 +
    1.21 +	result = acpi_table_disable(ACPI_SLIT);
    1.22 +	if ( result == 0 )
    1.23 +		printk("Success Disabling SLIT\n");
    1.24 +	else if ( result != -ENOENT )
    1.25 +		printk("ERROR: Failed Disabling SLIT\n");
    1.26 +
    1.27  	acpi_table_parse(ACPI_APIC, acpi_update_madt_checksum);
    1.28  
    1.29  	return;