[BACK]Return to mpconfig.h CVS log [TXT][DIR] Up to [local] / sys / arch / amd64 / include

Annotation of sys/arch/amd64/include/mpconfig.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: mpconfig.h,v 1.4 2006/11/25 16:59:31 niklas Exp $     */
        !             2: /*     $NetBSD: mpconfig.h,v 1.2 2003/05/11 00:05:52 fvdl Exp $        */
        !             3:
        !             4: /*
        !             5:  * Definitions originally from the mpbios code, but now used for ACPI
        !             6:  * MP config as well.
        !             7:  */
        !             8:
        !             9: #ifndef _X86_MPCONFIG_H
        !            10: #define _X86_MPCONFIG_H
        !            11:
        !            12: /*
        !            13:  * Interrupt typess
        !            14:  */
        !            15: #define MPS_INTTYPE_INT         0
        !            16: #define MPS_INTTYPE_NMI         1
        !            17: #define MPS_INTTYPE_SMI         2
        !            18: #define MPS_INTTYPE_ExtINT      3
        !            19:
        !            20: #define MPS_INTPO_DEF           0
        !            21: #define MPS_INTPO_ACTHI         1
        !            22: #define MPS_INTPO_ACTLO         3
        !            23:
        !            24: #define MPS_INTTR_DEF           0
        !            25: #define MPS_INTTR_EDGE          1
        !            26: #define MPS_INTTR_LEVEL         3
        !            27:
        !            28: #ifndef _LOCORE
        !            29:
        !            30: struct mpbios_int;
        !            31:
        !            32: struct mp_bus
        !            33: {
        !            34:        char *mb_name;          /* XXX bus name */
        !            35:        int mb_idx;             /* XXX bus index */
        !            36:        void (*mb_intr_print)(int);
        !            37:        void (*mb_intr_cfg)(const struct mpbios_int *, u_int32_t *);
        !            38:        struct mp_intr_map *mb_intrs;
        !            39:        u_int32_t mb_data;      /* random bus-specific datum. */
        !            40: };
        !            41:
        !            42: struct mp_intr_map
        !            43: {
        !            44:        struct mp_intr_map *next;
        !            45:        struct mp_bus *bus;
        !            46:        int bus_pin;
        !            47:        struct ioapic_softc *ioapic;
        !            48:        int ioapic_pin;
        !            49:        int ioapic_ih;          /* int handle, for apic_intr_est */
        !            50:        int type;               /* from mp spec intr record */
        !            51:        int flags;              /* from mp spec intr record */
        !            52:        u_int32_t redir;
        !            53:        int cpu_id;
        !            54:        int global_int;         /* ACPI global interrupt number */
        !            55: };
        !            56:
        !            57: #if defined(_KERNEL)
        !            58: extern int mp_verbose;
        !            59: extern struct mp_bus *mp_busses;
        !            60: extern struct mp_intr_map *mp_intrs;
        !            61: extern int mp_nintr;
        !            62: extern struct mp_bus *mp_isa_bus;
        !            63: extern struct mp_bus *mp_eisa_bus;
        !            64: extern int mp_nbus;
        !            65: #endif
        !            66: #endif
        !            67:
        !            68: #endif /* _X86_MPCONFIG_H */

CVSweb