This commit is contained in:
yamt 2012-06-15 13:57:59 +00:00
parent e5b5bd7898
commit 09d05f28e5
2 changed files with 12 additions and 9 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: mpconfig.h,v 1.13 2011/07/01 18:22:39 dyoung Exp $ */ /* $NetBSD: mpconfig.h,v 1.14 2012/06/15 13:57:59 yamt Exp $ */
/* /*
* Definitions originally from the mpbios code, but now used for ACPI * Definitions originally from the mpbios code, but now used for ACPI
@ -16,7 +16,7 @@
#include <machine/pci_machdep.h> #include <machine/pci_machdep.h>
/* /*
* Interrupt typess * Interrupt types
*/ */
#define MPS_INTTYPE_INT 0 #define MPS_INTTYPE_INT 0
#define MPS_INTTYPE_NMI 1 #define MPS_INTTYPE_NMI 1
@ -52,10 +52,15 @@ struct mp_intr_map
{ {
struct mp_intr_map *next; struct mp_intr_map *next;
struct mp_bus *bus; struct mp_bus *bus;
/*
* encoding of bus_pin is mp_bus dependant.
* for pci, bus_pin = (pci_device_number << 2) | pin
* where pin is 0=INTA ... 3=INTD.
*/
int bus_pin; int bus_pin;
struct pic *ioapic; struct pic *ioapic; /* NULL for local apic */
int ioapic_pin; int ioapic_pin;
int ioapic_ih; /* int handle, for apic_intr_est */ int ioapic_ih; /* int handle, see i82093var.h for encoding */
int type; /* from mp spec intr record */ int type; /* from mp spec intr record */
int flags; /* from mp spec intr record */ int flags; /* from mp spec intr record */
uint32_t redir; uint32_t redir;

View File

@ -1,4 +1,4 @@
/* $NetBSD: intr.c,v 1.73 2012/06/12 17:26:29 yamt Exp $ */ /* $NetBSD: intr.c,v 1.74 2012/06/15 13:57:59 yamt Exp $ */
/*- /*-
* Copyright (c) 2007, 2008, 2009 The NetBSD Foundation, Inc. * Copyright (c) 2007, 2008, 2009 The NetBSD Foundation, Inc.
@ -133,7 +133,7 @@
*/ */
#include <sys/cdefs.h> #include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.73 2012/06/12 17:26:29 yamt Exp $"); __KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.74 2012/06/15 13:57:59 yamt Exp $");
#include "opt_intrdebug.h" #include "opt_intrdebug.h"
#include "opt_multiprocessor.h" #include "opt_multiprocessor.h"
@ -360,9 +360,7 @@ intr_find_pcibridge(int bus, pcitag_t *pci_bridge_tag,
#if NIOAPIC > 0 || NACPICA > 0 #if NIOAPIC > 0 || NACPICA > 0
/* /*
* 'pin' argument is (dev << 2) | pin0 * 'pin' argument pci bus_pin encoding of a device/pin combination.
* where dev is PCI device number (0-255) and
* pin0 is PCI interrupt pin number (0-3)
*/ */
int int
intr_find_mpmapping(int bus, int pin, int *handle) intr_find_mpmapping(int bus, int pin, int *handle)