[IA64] make acpi related files compilable.
authorIsaku Yamahata <yamahata@valinux.co.jp>
Wed, 11 Jun 2008 09:45:13 +0000 (18:45 +0900)
committerIsaku Yamahata <yamahata@valinux.co.jp>
Wed, 11 Jun 2008 09:45:13 +0000 (18:45 +0900)
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
xen/arch/ia64/linux-xen/Makefile
xen/arch/ia64/linux-xen/acpi.c
xen/arch/ia64/linux-xen/acpi_numa.c
xen/arch/ia64/xen/Makefile
xen/include/asm-ia64/linux-xen/asm/acpi.h
xen/include/asm-ia64/linux-xen/asm/numa.h

index f4ee8c396be5bc551d3e3ca81ccf1d3126437825..7dac5a43e795163c56843df068d935733c30a48d 100644 (file)
@@ -23,3 +23,5 @@ obj-y += numa.o
 obj-y += mm_numa.o
 obj-y += perfmon.o
 obj-y += perfmon_default_smpl.o
+obj-y += acpi.o
+obj-y += acpi_numa.o
index f16be176b98681e0b3af0fd844b7d5518204e034..6158305181644962dcca2c76cb1de1a409ed8531 100644 (file)
 #include <asm/system.h>
 #include <asm/numa.h>
 #include <asm/sal.h>
+#ifndef XEN
 #include <asm/cyclone.h>
 #include <asm/xen/hypervisor.h>
+#else
+#include <asm/hw_irq.h>
+extern u8 numa_slit[MAX_NUMNODES * MAX_NUMNODES];
+#endif
+
 
 #define BAD_MADT_ENTRY(entry, end) (                                        \
                (!entry) || (unsigned long)entry + sizeof(*entry) > end ||  \
@@ -71,7 +77,11 @@ unsigned int acpi_cpei_phys_cpuid;
 unsigned long acpi_wakeup_address = 0;
 
 #ifdef CONFIG_IA64_GENERIC
+#ifndef XEN
 static unsigned long __init acpi_find_rsdp(void)
+#else
+unsigned long __init acpi_find_rsdp(void)
+#endif
 {
        unsigned long rsdp_phys = 0;
 
@@ -122,8 +132,10 @@ acpi_get_sysname(void)
                        return "uv";
                else
                        return "sn2";
+#ifndef XEN
        } else if (is_running_on_xen() && !strcmp(hdr->oem_id, "XEN")) {
                return "xen";
+#endif
        }
 
        return "dig";
@@ -300,6 +312,11 @@ acpi_parse_plat_int_src(struct acpi_subtable_header * header,
 }
 
 #ifdef CONFIG_HOTPLUG_CPU
+
+#ifdef XEN
+unsigned int force_cpei_retarget = 0;
+#endif
+
 unsigned int can_cpei_retarget(void)
 {
        extern int cpe_vector;
@@ -388,7 +405,9 @@ static void __init acpi_madt_oem_check(char *oem_id, char *oem_table_id)
                 */
                sal_platform_features |= IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT;
 
+#ifndef XEN
                cyclone_setup();
+#endif
        }
 }
 
@@ -476,9 +495,17 @@ void __init acpi_numa_slit_init(struct acpi_table_slit *slit)
        slit_table = slit;
 }
 
+#ifndef XEN
 void __init
 acpi_numa_processor_affinity_init(struct acpi_srat_cpu_affinity *pa)
+#else
+void __init
+acpi_numa_processor_affinity_init (struct acpi_table_processor_affinity *pa__)
+#endif
 {
+#ifdef XEN
+       struct acpi_srat_cpu_affinity *pa = (struct acpi_srat_cpu_affinity *)pa__;
+#endif
        int pxm;
 
        if (!(pa->flags & ACPI_SRAT_CPU_ENABLED))
@@ -497,9 +524,18 @@ acpi_numa_processor_affinity_init(struct acpi_srat_cpu_affinity *pa)
        srat_num_cpus++;
 }
 
+#ifndef XEN
 void __init
 acpi_numa_memory_affinity_init(struct acpi_srat_mem_affinity *ma)
+#else
+void __init
+acpi_numa_memory_affinity_init (struct acpi_table_memory_affinity *ma__)
+#endif
 {
+#ifdef XEN
+       struct acpi_srat_mem_affinity *ma =
+               (struct acpi_srat_mem_affinity *)ma__;
+#endif
        unsigned long paddr, size;
        int pxm;
        struct node_memblk_s *p, *q, *pend;
@@ -606,6 +642,7 @@ void __init acpi_numa_arch_fixup(void)
 }
 #endif                         /* CONFIG_ACPI_NUMA */
 
+#ifndef XEN
 /*
  * success: return IRQ number (>=0)
  * failure: return < 0
@@ -637,6 +674,7 @@ void acpi_unregister_gsi(u32 gsi)
 
        iosapic_unregister_intr(gsi);
 }
+#endif
 
 static int __init acpi_parse_fadt(struct acpi_table_header *table)
 {
@@ -652,7 +690,9 @@ static int __init acpi_parse_fadt(struct acpi_table_header *table)
 
        fadt = (struct acpi_table_fadt *)fadt_header;
 
+#ifndef XEN
        acpi_register_gsi(fadt->sci_interrupt, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW);
+#endif
        return 0;
 }
 
@@ -848,6 +888,7 @@ __init void prefill_possible_map(void)
                cpu_set(i, cpu_possible_map);
 }
 
+#ifndef XEN
 int acpi_map_lsapic(acpi_handle handle, int *pcpu)
 {
        struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
@@ -913,8 +954,10 @@ int acpi_unmap_lsapic(int cpu)
 }
 
 EXPORT_SYMBOL(acpi_unmap_lsapic);
+#endif /* XEN */
 #endif                         /* CONFIG_ACPI_HOTPLUG_CPU */
 
+#ifndef XEN
 #ifdef CONFIG_ACPI_NUMA
 static acpi_status __devinit
 acpi_map_iosapic(acpi_handle handle, u32 depth, void *context, void **ret)
@@ -1001,6 +1044,7 @@ int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base)
 }
 
 EXPORT_SYMBOL(acpi_unregister_ioapic);
+#endif /* XEN */
 
 /*
  * acpi_save_state_mem() - save kernel state
index 5d59cb33b1a5435ba16052b032a9f8c24da15e1a..d4f5d87a90c3c15e2092689f071d75b272788c1f 100644 (file)
 #include <acpi/acpi_bus.h>
 #include <acpi/acmacros.h>
 
+#ifndef XEN
 #define ACPI_NUMA      0x80000000
 #define _COMPONENT     ACPI_NUMA
 ACPI_MODULE_NAME("numa");
+#else
+#define NID_INVAL      -1
+#define PXM_INVAL      -1
+#endif
 
+#ifndef XEN
 static nodemask_t nodes_found_map = NODE_MASK_NONE;
+#else
+/* the above causes error: initializer element is not constant
+ * anyway NODE_MASK_NONE is 0 filled array.
+ */
+static nodemask_t nodes_found_map;
+#endif
 
 /* maps to convert between proximity domain and logical node ID */
 static int pxm_to_node_map[MAX_PXM_DOMAINS]
@@ -78,6 +90,7 @@ int acpi_map_pxm_to_node(int pxm)
        return node;
 }
 
+#ifndef XEN
 #if 0
 void __cpuinit acpi_unmap_pxm_to_node(int node)
 {
@@ -261,3 +274,4 @@ int acpi_get_node(acpi_handle *handle)
        return node;
 }
 EXPORT_SYMBOL(acpi_get_node);
+#endif /* XEN */
index fe928def9a3c6f3eaf9239b9267a30f666b7cafc..d2a6c3b92dbcb16252acba83a2b6b882ca69cba1 100644 (file)
@@ -3,7 +3,6 @@ subdir-y += oprofile
 obj-y += relocate_kernel.o
 obj-y += machine_kexec.o
 obj-y += crash.o
-obj-y += acpi.o
 obj-y += dom0_ops.o
 obj-y += domain.o
 obj-y += dom_fw_asm.o
index fcfad326f4c721cdf06301beee8487be2f4c06e9..f59db9202e02e73910c1228364d5db7ce923b696 100644 (file)
@@ -36,6 +36,9 @@
 #include <linux/numa.h>
 #include <asm/system.h>
 #include <asm/numa.h>
+#ifdef XEN
+#include <xen/nodemask.h>
+#endif
 
 #define COMPILER_DEPENDENT_INT64       long
 #define COMPILER_DEPENDENT_UINT64      unsigned long
index 3d220184c6f6146879c6b9511f3423a569c7d1b3..8eab5be55a16d467ec40c84ff7ce249801f1680d 100644 (file)
@@ -89,6 +89,8 @@ extern int paddr_to_nid(unsigned long paddr);
 #define phys_to_nid(paddr) paddr_to_nid(paddr)
 extern int pxm_to_node(int pxm);
 extern int node_to_pxm(int node);
+extern void __acpi_map_pxm_to_node(int, int);
+extern int acpi_map_pxm_to_node(int);
 #endif
 
 #endif /* _ASM_IA64_NUMA_H */