sapic
ACPI_MADT_IO_SAPIC *sapic =
sapic_create(sapic->Id, sapic->GlobalIrqBase,
sapic->Address);
ACPI_MADT_LOCAL_SAPIC *sapic =
if (sapic->LapicFlags & ACPI_MADT_ENABLED)
cpu_mp_add(sapic->ProcessorId,
sapic->Id, sapic->Eid);
ACPI_MADT_IO_SAPIC *sapic = (ACPI_MADT_IO_SAPIC *)entry;
sapic->Id, sapic->GlobalIrqBase, sapic->Address);
ACPI_MADT_LOCAL_SAPIC *sapic = (ACPI_MADT_LOCAL_SAPIC *)entry;
sapic->ProcessorId, sapic->Id, sapic->Eid);
if (!(sapic->LapicFlags & ACPI_MADT_ENABLED))
ci->ci_cpuid = sapic->ProcessorId;
ACPI_MADT_LOCAL_SAPIC *sapic = (ACPI_MADT_LOCAL_SAPIC *)aux;
sapic->ProcessorId, sapic->Id, sapic->Eid,
sapic->LapicFlags & ACPI_MADT_ENABLED ? "" : " (disabled)");
if (id == sapic->Id && eid == sapic->Eid)
struct sapic *sapic;
sapic_eoi(i->sapic, vector);
sapic_mask(i->sapic, i->irq);
sapic_eoi(i->sapic, vector);
sapic_unmask(i->sapic, i->irq);
struct sapic *sa;
i->sapic = sa;
sapic_enable(i->sapic, irq, vector);
sapic_print(i->sapic, i->irq);
sapic_read_rte(struct sapic *sa, int which, struct sapic_rte *rte)
sapic_write_rte(struct sapic *sa, int which, struct sapic_rte *rte)
struct sapic *sa;
struct sapic *
struct sapic *sa;
sa = kmem_zalloc(sizeof(struct sapic), KM_SLEEP);
sapic_enable(struct sapic *sa, u_int irq, u_int vector)
sapic_eoi(struct sapic *sa, u_int vector)
sapic_mask(struct sapic *sa, u_int irq)
sapic_unmask(struct sapic *sa, u_int irq)
sapic_print(struct sapic *sa, u_int irq)
struct sapic *ia64_sapics[16]; /* XXX make this resizable */
struct sapic *
struct sapic *sa;
sapic_read(struct sapic *sa, int which)
sapic_write(struct sapic *sa, int which, uint32_t value)
struct sapic *sapic_create(u_int, u_int, uint64_t);
int sapic_enable(struct sapic *, u_int, u_int);
void sapic_eoi(struct sapic *, u_int);
struct sapic *sapic_lookup(u_int);
void sapic_mask(struct sapic *, u_int);
void sapic_unmask(struct sapic *, u_int);
void sapic_print(struct sapic *, u_int);
sizeof(apic.sapic), /* Length. */
ACPI_MADT_IO_SAPIC sapic;