direct-io.hg

view xen/include/asm-x86/mach-es7000/mach_mpparse.h @ 15516:fa9fa5f98c91

Simplify Unisys ES7000 code in light of the fact we do not support
legacy boxes with very non-standard APIC setup.
From: Raj Subrahmanian <raj.subrahmanian@unisys.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
author kfraser@localhost.localdomain
date Tue Jul 10 10:07:00 2007 +0100 (2007-07-10)
parents 88e6bd5e2b54
children
line source
1 #ifndef __ASM_MACH_MPPARSE_H
2 #define __ASM_MACH_MPPARSE_H
4 #include <xen/acpi.h>
6 extern int parse_unisys_oem(char *oemptr);
7 extern int find_unisys_acpi_oem_table(unsigned long *oem_addr);
9 static inline int mps_oem_check(struct mp_config_table *mpc, char *oem,
10 char *productid)
11 {
12 if (mpc->mpc_oemptr) {
13 struct mp_config_oemtable *oem_table =
14 (struct mp_config_oemtable *)(long)mpc->mpc_oemptr;
15 if (!strncmp(oem, "UNISYS", 6))
16 return parse_unisys_oem((char *)oem_table);
17 }
18 return 0;
19 }
21 static inline int es7000_check_dsdt(void)
22 {
23 struct acpi_table_header *header = NULL;
24 if(!acpi_get_table_header_early(ACPI_DSDT, &header))
25 acpi_table_print(header, 0);
26 if (!strncmp(header->oem_id, "UNISYS", 6))
27 return 1;
28 return 0;
29 }
31 /* Hook from generic ACPI tables.c */
32 static inline int acpi_madt_oem_check(char *oem_id, char *oem_table_id)
33 {
34 unsigned long oem_addr;
35 if (!find_unisys_acpi_oem_table(&oem_addr)) {
36 if (es7000_check_dsdt())
37 return parse_unisys_oem((char *)oem_addr);
38 else
39 return 1;
40 }
41 return 0;
42 }
45 #endif /* __ASM_MACH_MPPARSE_H */