[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

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