root/arch/i386/include/mpbiosvar.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


    1 /*      $OpenBSD: mpbiosvar.h,v 1.7 2007/01/23 21:17:18 kettenis Exp $  */
    2 /* $NetBSD: mpbiosvar.h,v 1.1.2.3 2000/02/29 13:17:20 sommerfeld Exp $ */
    3 
    4 /*-
    5  * Copyright (c) 2000 The NetBSD Foundation, Inc.
    6  * All rights reserved.
    7  *
    8  * This code is derived from software contributed to The NetBSD Foundation
    9  * by RedBack Networks Inc.
   10  *
   11  * Author: Bill Sommerfeld
   12  *
   13  * Redistribution and use in source and binary forms, with or without
   14  * modification, are permitted provided that the following conditions
   15  * are met:
   16  * 1. Redistributions of source code must retain the above copyright
   17  *    notice, this list of conditions and the following disclaimer.
   18  * 2. Redistributions in binary form must reproduce the above copyright
   19  *    notice, this list of conditions and the following disclaimer in the
   20  *    documentation and/or other materials provided with the distribution.
   21  * 3. All advertising materials mentioning features or use of this software
   22  *    must display the following acknowledgement:
   23  *        This product includes software developed by the NetBSD
   24  *        Foundation, Inc. and its contributors.
   25  * 4. Neither the name of The NetBSD Foundation nor the names of its
   26  *    contributors may be used to endorse or promote products derived
   27  *    from this software without specific prior written permission.
   28  *
   29  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   30  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   31  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   32  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   33  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   34  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   35  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   36  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   37  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   38  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   39  * POSSIBILITY OF SUCH DAMAGE.
   40  */
   41 
   42 
   43 #ifndef _I386_MPBIOSVAR_H_
   44 #define _I386_MPBIOSVAR_H_
   45 
   46 #define MP_TRAMPOLINE  (7 * PAGE_SIZE)
   47 
   48 #if !defined(_LOCORE)
   49 
   50 #include <machine/mpbiosreg.h>
   51 
   52 struct mp_bus 
   53 {
   54         char *mb_name;          /* XXX bus name */
   55         int mb_idx;             /* XXX bus index */
   56         void (*mb_intr_print) (int);
   57         void (*mb_intr_cfg)(const struct mpbios_int *, u_int32_t *);
   58         struct mp_intr_map *mb_intrs;
   59         u_int32_t mb_data;      /* random bus-specific datum. */
   60 };
   61 
   62 struct mp_intr_map
   63 {
   64         struct mp_intr_map *next;
   65         struct mp_bus *bus;
   66         int bus_pin;
   67         struct ioapic_softc *ioapic;
   68         int ioapic_pin;
   69         int ioapic_ih;          /* int handle, for apic_intr_est */
   70         int type;               /* from mp spec intr record */
   71         int flags;              /* from mp spec intr record */
   72         u_int32_t redir;
   73         int cpu_id;
   74 };
   75 
   76 #if defined(_KERNEL)
   77 extern int mp_verbose;
   78 extern struct mp_bus *mp_busses;
   79 extern struct mp_intr_map *mp_intrs;
   80 extern int mp_nintrs;
   81 extern struct mp_bus *mp_isa_bus;
   82 extern struct mp_bus *mp_eisa_bus;
   83 
   84 void mpbios_scan(struct device *);
   85 int mpbios_probe(struct device *);
   86 int mpbios_invent(int, int, int);
   87 
   88 void mpbios_intr_fixup(void);
   89 #endif
   90 
   91 #endif
   92 
   93 #endif /* !_I386_MPBIOSVAR_H_ */

/* [<][>][^][v][top][bottom][index][help] */