define ramstage-objs_asl_template
$(obj)/$(1).ramstage.o: src/$(1).asl $(obj)/config.h
@printf " IASL $$(subst $(top)/,,$$(@))\n"
- $(CC) -x assembler-with-cpp -E -MMD -MT $$(@) -D__ACPI__ -P -include $(abspath $(obj)/config.h) -I$(src) -I$(src)/mainboard/$(MAINBOARDDIR) $$< -o $$(basename $$@).asl
+ $(CC) -x assembler-with-cpp -E -MMD -MT $$(@) -D__ACPI__ -P -include $(abspath $(obj)/config.h) -I$(src) -I$(src)/include -I$(src)/arch/$(ARCHDIR-y)/include -I$(src)/mainboard/$(MAINBOARDDIR) $$< -o $$(basename $$@).asl
cd $$(dir $$@); $(IASL) -p $$(notdir $$@) -tc $$(notdir $$(basename $$@)).asl
mv $$(basename $$@).hex $$(basename $$@).c
$(CC) $$(CFLAGS) $$(if $$(subst dsdt,,$$(basename $$(notdir $(1)))), -DAmlCode=AmlCode_$$(basename $$(notdir $(1)))) -c -o $$@ $$(basename $$@).c
#include <arch/acpigen.h>
#include <device/pci.h>
#include <cbmem.h>
+#include <cpu/x86/lapic_def.h>
u8 acpi_checksum(u8 *table, u32 length)
{
void acpi_create_madt(acpi_madt_t *madt)
{
-#define LOCAL_APIC_ADDR 0xfee00000ULL
-
acpi_header_t *header = &(madt->header);
unsigned long current = (unsigned long)madt + sizeof(acpi_madt_t);
#ifndef __I386_ARCH_IOAPIC_H
#define __I386_ARCH_IOAPIC_H
-#define IO_APIC_ADDR 0xfec00000UL
+#define IO_APIC_ADDR 0xfec00000
#define IO_APIC_INTERRUPTS 24
#define ALL (0xff << 24)
#define SMI (2 << 8)
#define INT (1 << 8)
+#ifndef __ACPI__
void setup_ioapic(u32 ioapic_base, u8 ioapic_id);
void clear_ioapic(u32 ioapic_base);
+#endif
#endif
#define __ASM_MPSPEC_H
#include <device/device.h>
+#include <cpu/x86/lapic_def.h>
+
/*
* Structure definitions for SMP machines following the
* Intel Multiprocessing Specification 1.1 and 1.4.
*/
} __attribute__((packed));
-/* Default local apic addr */
-#define LAPIC_ADDR 0xFEE00000
-
void mptable_init(struct mp_config_table *mc, u32 lapic_addr);
void *smp_next_mpc_entry(struct mp_config_table *mc);
#define LAPIC_BASE_MSR_ENABLE (1 << 11)
#define LAPIC_BASE_MSR_ADDR_MASK 0xFFFFF000
-#define LAPIC_DEFAULT_BASE 0xfee00000
+#define LOCAL_APIC_ADDR 0xfee00000
+#define LAPIC_DEFAULT_BASE LOCAL_APIC_ADDR
#define LAPIC_ID 0x020
#define LAPIC_LVR 0x030
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
u32 dword;
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
get_bus_conf();
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
memcpy(mc->mpc_oem, "AMD ", 8);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
memcpy(mc->mpc_oem, "AMD ", 8);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
+#include <arch/ioapic.h>
+#include <cpu/x86/lapic_def.h>
+
/*
* Copyright 2005 AMD
*/
{
Memory32Fixed (ReadWrite, 0x000E0000, 0x00020000) // BIOS E4000-FFFFF
Memory32Fixed (ReadWrite, 0x000C0000, 0x00010000) // video BIOS c0000-c8404
- Memory32Fixed (ReadWrite, 0xFEC00000, 0x00001000) // I/O APIC
+ Memory32Fixed (ReadWrite, IO_APIC_ADDR, 0x00001000)
Memory32Fixed (ReadWrite, 0xFFC00000, 0x00380000) // LPC forwarded, 4 MB w/ROM
- Memory32Fixed (ReadWrite, 0xFEE00000, 0x00001000) // Local APIC
+ Memory32Fixed (ReadWrite, LOCAL_APIC_ADDR, 0x00001000)
Memory32Fixed (ReadWrite, 0xFFF80000, 0x00080000) // Overlay BIOS
Memory32Fixed (ReadWrite, 0x00000000, 0x00000000) // Overlay BIOS
Memory32Fixed (ReadWrite, 0x00000000, 0x00000000) // Overlay BIOS
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
+#include <arch/ioapic.h>
+#include <cpu/x86/lapic_def.h>
+
//AMD8111 isa
Device (ISA)
{
Memory32Fixed (ReadWrite, 0x000E0000, 0x00020000) // BIOS E4000-FFFFF
Memory32Fixed (ReadWrite, 0x000C0000, 0x00010000) // video BIOS c0000-c8404
- Memory32Fixed (ReadWrite, 0xFEC00000, 0x00001000) // I/O APIC
+ Memory32Fixed (ReadWrite, IO_APIC_ADDR, 0x00001000)
Memory32Fixed (ReadWrite, 0xFFC00000, 0x00380000) // LPC forwarded, 4 MB w/ROM
- Memory32Fixed (ReadWrite, 0xFEE00000, 0x00001000) // Local APIC
+ Memory32Fixed (ReadWrite, LOCAL_APIC_ADDR, 0x00001000)
Memory32Fixed (ReadWrite, 0xFFF80000, 0x00080000) // Overlay BIOS
Memory32Fixed (ReadWrite, 0x00000000, 0x00000000) // Overlay BIOS
Memory32Fixed (ReadWrite, 0x00000000, 0x00000000) // Overlay BIOS
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
memcpy(mc->mpc_oem, "AMD ", 8);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
memcpy(mc->mpc_oem, "AMD ", 8);
/*Inagua used dure core cpu with one die */
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
memcpy(mc->mpc_oem, "AMD ", 8);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
memcpy(mc->mpc_oem, "ASROCK ", 8);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void*)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mptable_write_buses(mc, NULL, &bus_isa);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
#include <console/console.h>
+#include <cpu/x86/lapic_def.h>
#include <arch/io.h>
#include <arch/ioapic.h>
#include <stdint.h>
/* Reserve space for the LAPIC. There's one in every processor, but
* the space only needs to be reserved once, so we do it here. */
res = new_resource(dev, 3);
- res->base = 0xfee00000UL;
+ res->base = LOCAL_APIC_ADDR;
res->size = 0x10000UL;
res->limit = 0xffffffffUL;
res->flags = IORESOURCE_MEM | IORESOURCE_FIXED | IORESOURCE_STORED |
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
int isa_bus;
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mptable_write_buses(mc, NULL, &isa_bus);
+#include <arch/ioapic.h>
+#include <cpu/x86/lapic_def.h>
+
/*
* Copyright 2005 AMD
*/
{
Memory32Fixed (ReadWrite, 0x000E0000, 0x00020000) // BIOS E4000-FFFFF
Memory32Fixed (ReadWrite, 0x000C0000, 0x00010000) // video BIOS c0000-c8404
- Memory32Fixed (ReadWrite, 0xFEC00000, 0x00001000) // I/O APIC
+ Memory32Fixed (ReadWrite, IO_APIC_ADDR, 0x00001000)
Memory32Fixed (ReadWrite, 0xFFC00000, 0x00380000) // LPC forwarded, 4 MB w/ROM
- Memory32Fixed (ReadWrite, 0xFEE00000, 0x00001000) // Local APIC
+ Memory32Fixed (ReadWrite, LOCAL_APIC_ADDR, 0x00001000)
Memory32Fixed (ReadWrite, 0xFFF80000, 0x00080000) // Overlay BIOS
Memory32Fixed (ReadWrite, 0x00000000, 0x00000000) // Overlay BIOS
Memory32Fixed (ReadWrite, 0x00000000, 0x00000000) // Overlay BIOS
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mptable_write_buses(mc, NULL, &bus_isa);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <arch/ioapic.h>
+#include <cpu/x86/lapic_def.h>
DefinitionBlock ("DSDT.aml", "DSDT", 2, "SIEMENS", "SITEMP ", 0x20101005)
{
CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y1B._LEN, ML02)
If (PCIF)
{
- Store (0xFEC00000, MB01)
- Store (0xFEE00000, MB02)
+ Store (IO_APIC_ADDR, MB01)
+ Store (LOCAL_APIC_ADDR, MB02)
Store (0x1000, ML01)
Store (0x1000, ML02)
}
int isa_bus;
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
get_bus_conf();
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
u32 dword;
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
get_bus_conf();
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mptable_write_buses(mc, NULL, &isa_bus);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
{
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
{
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
#include <boot/tables.h>
#include <arch/ioapic.h>
#include <southbridge/via/vt8237r/vt8237r.h>
+#include <cpu/x86/lapic_def.h>
#include "chip.h"
int add_mainboard_resources(struct lb_memory *mem)
lb_add_memory_range(mem, LB_MEM_RESERVED,
IO_APIC_ADDR, 0x1000);
lb_add_memory_range(mem, LB_MEM_RESERVED,
- 0xFEE00000ULL, 0x1000);
+ LOCAL_APIC_ADDR, 0x1000);
lb_add_memory_range(mem, LB_MEM_RESERVED,
0xFFFF0000ULL, 0x10000);
#endif
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mptable_write_buses(mc, NULL, &isa_bus);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mptable_write_buses(mc, NULL, &isa_bus);
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
- mptable_init(mc, LAPIC_ADDR);
+ mptable_init(mc, LOCAL_APIC_ADDR);
smp_write_processors(mc);
mptable_write_buses(mc, NULL, &isa_bus);