static void mptable_unmap(struct mptable_pos *);
static void mptable_lapic_enumerate(struct mptable_pos *);
static void mptable_lapic_default(void);
+static void mptable_imcr(struct mptable_pos *);
#ifdef APIC_IO
static void setup_apic_irq_mapping(void);
mptable_lapic_enumerate(&mpt);
+ mptable_imcr(&mpt);
+
/*
* We can safely map physical memory into SMPpt after
* mptable_pass1() completes.
}
#endif
- /* record whether PIC or virtual-wire mode */
- machintr_setvar_simple(MACHINTR_VAR_IMCR_PRESENT, fps->mpfb2 & 0x80);
-
/* check for use of 'default' configuration */
if (fps->mpfb1 != 0) {
mptable_default(fps->mpfb1);
}
static void
+mptable_imcr(struct mptable_pos *mpt)
+{
+ /* record whether PIC or virtual-wire mode */
+ machintr_setvar_simple(MACHINTR_VAR_IMCR_PRESENT,
+ mpt->mp_fps->mpfb2 & 0x80);
+}
+
+static void
lapic_init(vm_offset_t lapic_addr)
{
/* Local apic is mapped on last page */