diff options
| author | Ingo Molnar <mingo@elte.hu> | 2009-09-07 02:19:51 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-09-07 02:19:51 -0400 |
| commit | a1922ed661ab2c1637d0b10cde933bd9cd33d965 (patch) | |
| tree | 0f1777542b385ebefd30b3586d830fd8ed6fda5b /arch/x86/kernel/acpi/boot.c | |
| parent | 75e33751ca8bbb72dd6f1a74d2810ddc8cbe4bdf (diff) | |
| parent | d28daf923ac5e4a0d7cecebae56f3e339189366b (diff) | |
Merge branch 'tracing/core' into tracing/hw-breakpoints
Conflicts:
arch/Kconfig
kernel/trace/trace.h
Merge reason: resolve the conflicts, plus adopt to the new
ring-buffer APIs.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/acpi/boot.c')
| -rw-r--r-- | arch/x86/kernel/acpi/boot.c | 80 |
1 files changed, 1 insertions, 79 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index 631086159c53..6b8ca3a0285d 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c | |||
| @@ -44,11 +44,7 @@ | |||
| 44 | 44 | ||
| 45 | static int __initdata acpi_force = 0; | 45 | static int __initdata acpi_force = 0; |
| 46 | u32 acpi_rsdt_forced; | 46 | u32 acpi_rsdt_forced; |
| 47 | #ifdef CONFIG_ACPI | 47 | int acpi_disabled; |
| 48 | int acpi_disabled = 0; | ||
| 49 | #else | ||
| 50 | int acpi_disabled = 1; | ||
| 51 | #endif | ||
| 52 | EXPORT_SYMBOL(acpi_disabled); | 48 | EXPORT_SYMBOL(acpi_disabled); |
| 53 | 49 | ||
| 54 | #ifdef CONFIG_X86_64 | 50 | #ifdef CONFIG_X86_64 |
| @@ -122,72 +118,6 @@ void __init __acpi_unmap_table(char *map, unsigned long size) | |||
| 122 | early_iounmap(map, size); | 118 | early_iounmap(map, size); |
| 123 | } | 119 | } |
| 124 | 120 | ||
| 125 | #ifdef CONFIG_PCI_MMCONFIG | ||
| 126 | |||
| 127 | static int acpi_mcfg_64bit_base_addr __initdata = FALSE; | ||
| 128 | |||
| 129 | /* The physical address of the MMCONFIG aperture. Set from ACPI tables. */ | ||
| 130 | struct acpi_mcfg_allocation *pci_mmcfg_config; | ||
| 131 | int pci_mmcfg_config_num; | ||
| 132 | |||
| 133 | static int __init acpi_mcfg_oem_check(struct acpi_table_mcfg *mcfg) | ||
| 134 | { | ||
| 135 | if (!strcmp(mcfg->header.oem_id, "SGI")) | ||
| 136 | acpi_mcfg_64bit_base_addr = TRUE; | ||
| 137 | |||
| 138 | return 0; | ||
| 139 | } | ||
| 140 | |||
| 141 | int __init acpi_parse_mcfg(struct acpi_table_header *header) | ||
| 142 | { | ||
| 143 | struct acpi_table_mcfg *mcfg; | ||
| 144 | unsigned long i; | ||
| 145 | int config_size; | ||
| 146 | |||
| 147 | if (!header) | ||
| 148 | return -EINVAL; | ||
| 149 | |||
| 150 | mcfg = (struct acpi_table_mcfg *)header; | ||
| 151 | |||
| 152 | /* how many config structures do we have */ | ||
| 153 | pci_mmcfg_config_num = 0; | ||
| 154 | i = header->length - sizeof(struct acpi_table_mcfg); | ||
| 155 | while (i >= sizeof(struct acpi_mcfg_allocation)) { | ||
| 156 | ++pci_mmcfg_config_num; | ||
| 157 | i -= sizeof(struct acpi_mcfg_allocation); | ||
| 158 | }; | ||
| 159 | if (pci_mmcfg_config_num == 0) { | ||
| 160 | printk(KERN_ERR PREFIX "MMCONFIG has no entries\n"); | ||
| 161 | return -ENODEV; | ||
| 162 | } | ||
| 163 | |||
| 164 | config_size = pci_mmcfg_config_num * sizeof(*pci_mmcfg_config); | ||
| 165 | pci_mmcfg_config = kmalloc(config_size, GFP_KERNEL); | ||
| 166 | if (!pci_mmcfg_config) { | ||
| 167 | printk(KERN_WARNING PREFIX | ||
| 168 | "No memory for MCFG config tables\n"); | ||
| 169 | return -ENOMEM; | ||
| 170 | } | ||
| 171 | |||
| 172 | memcpy(pci_mmcfg_config, &mcfg[1], config_size); | ||
| 173 | |||
| 174 | acpi_mcfg_oem_check(mcfg); | ||
| 175 | |||
| 176 | for (i = 0; i < pci_mmcfg_config_num; ++i) { | ||
| 177 | if ((pci_mmcfg_config[i].address > 0xFFFFFFFF) && | ||
| 178 | !acpi_mcfg_64bit_base_addr) { | ||
| 179 | printk(KERN_ERR PREFIX | ||
| 180 | "MMCONFIG not in low 4GB of memory\n"); | ||
| 181 | kfree(pci_mmcfg_config); | ||
| 182 | pci_mmcfg_config_num = 0; | ||
| 183 | return -ENODEV; | ||
| 184 | } | ||
| 185 | } | ||
| 186 | |||
| 187 | return 0; | ||
| 188 | } | ||
| 189 | #endif /* CONFIG_PCI_MMCONFIG */ | ||
| 190 | |||
| 191 | #ifdef CONFIG_X86_LOCAL_APIC | 121 | #ifdef CONFIG_X86_LOCAL_APIC |
| 192 | static int __init acpi_parse_madt(struct acpi_table_header *table) | 122 | static int __init acpi_parse_madt(struct acpi_table_header *table) |
| 193 | { | 123 | { |
| @@ -1519,14 +1449,6 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = { | |||
| 1519 | }, | 1449 | }, |
| 1520 | { | 1450 | { |
| 1521 | .callback = force_acpi_ht, | 1451 | .callback = force_acpi_ht, |
| 1522 | .ident = "ASUS P4B266", | ||
| 1523 | .matches = { | ||
| 1524 | DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), | ||
| 1525 | DMI_MATCH(DMI_BOARD_NAME, "P4B266"), | ||
| 1526 | }, | ||
| 1527 | }, | ||
| 1528 | { | ||
| 1529 | .callback = force_acpi_ht, | ||
| 1530 | .ident = "ASUS P2B-DS", | 1452 | .ident = "ASUS P2B-DS", |
| 1531 | .matches = { | 1453 | .matches = { |
| 1532 | DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), | 1454 | DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), |
