Commit Graph

39 Commits

Author SHA1 Message Date
tsutsui
2a8a21a021 Misc minor cleanup for arc interrupt handlers:
- always enable options MIPS3_ENABLE_CLOCK_INTR and just clear the compare
  register in cpu_intr() to make CLKF_BASE() works
  properly
- prepare only possible number of cpu_inttab
- use macro for interrupt priority number passed to arc_set_intr()
  to avoid confusion
- merge arc_hardware_intr() into cpu_intr()
- check independent timer interrupt first in cpu_intr()
- tweak MIPS_SR_INT_IE before calling hardclock timer handlers so that
  spllowersoftclock(9) will be invoked properly in hardclock(9)
- reenable interrupt for timer in cpu_intr() rather than each timer handlers

okay'ed by soda.

Note the real fix is to make CLKF_BASE() check all independent
interrupt sources including jazz and isa devices.
2006-06-24 03:50:38 +00:00
tsutsui
edf0da13d9 In !defined(PCI_NETBSD_CONFIGURE) case, check PCI_ID_REG and PCI_CLASS_REG
before CSR fixup.
2006-04-16 07:10:45 +00:00
tsutsui
f66776b16a Pass mips_dcache_align to pci_configure_bus(9) for cacheline_size. 2006-04-16 05:09:58 +00:00
tsutsui
0d0bf3b542 Add support for pci_configure_bus(9) (a.k.a. options PCI_NETBSD_CONFIGURE)
so that PCI devices over ppb(4) work properly on PCI based NEC machines.

Tested on my NEC JC94 (Express5800/230) and 3Com 3C982-TXM,
which has a DEC/Intel 21154 PCI-PCI bridge and two 3C920 Ethernet chips.
2006-04-15 12:53:09 +00:00
tsutsui
a410f672e0 Ack interrupts only if they are actually handled. 2006-04-15 09:07:50 +00:00
tsutsui
b34ad9c583 Misc cosmetics. 2006-04-15 09:01:11 +00:00
tsutsui
c234c43a71 Include "ioconf.h" rather than declare struct cfdriver foo_cd in each file. 2006-04-15 08:49:47 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
tsutsui
d9a0be54d3 Explicitly enable interrupts before softintr is handled as noted
in the TODO file. At least this fixes "sn0: receive buffers exhausted"
messages on my NEC-JC94.

XXX: does anyone know what "Dont reenable" comment means, which was
XXX: there since initial import of pica (not arc).
2005-11-15 15:07:36 +00:00
tsutsui
7310abde32 Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
2005-01-22 08:43:02 +00:00
tsutsui
7fe2a5a003 - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
2005-01-22 07:35:33 +00:00
drochner
46289e1fef Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
2004-08-30 15:05:15 +00:00
tsutsui
c747a93798 Count necpb interrupts with evcnt(9). 2003-11-01 19:23:52 +00:00
lukem
a418360342 __KERNEL_RCSID() 2003-07-15 00:04:39 +00:00
fvdl
7dd7f8baa2 Handle 64bit DMA addresses on PCI for platforms that can (currently only
enabled on amd64). Add a dmat64 field to various PCI attach structures,
and pass it down where needed. Implement a simple new function called
pci_dma64_available(pa) to test if 64bit DMA addresses may be used.
This returns 1 iff _PCI_HAVE_DMA64 is defined in <machine/pci_machdep.h>,
and there is more than 4G of memory.
2003-06-15 23:08:53 +00:00
thorpej
aec1389b37 Use aprint_normal for cfprint routines. 2003-01-01 00:32:04 +00:00
thorpej
c5e91d447d Use CFATTACH_DECL(). 2002-10-02 04:55:47 +00:00
thorpej
9a711d6985 Declare all cfattach structures const. 2002-09-27 20:29:02 +00:00
thorpej
204183c0fa * Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses.  For busses behind a bridge, it points to
  a persistent copy of the bridge's pcitag_t.  This can be very useful
  for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
  uses OFW device nodes to enumerate the bus.  When a PCI bus that is
  behind a bridge is attached, pci_attach_hook() allocates a new PCI
  chipset tag for the new bus and sets it's "curnode" to the OFW node
  of the bridge.  This is used as a starting point when enumerating
  that bus.  Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
2002-05-16 01:01:28 +00:00
thorpej
b5e364e5a5 Implement pci_decompose_tag(). 2002-05-15 17:15:17 +00:00
ur
e6c008bb48 Disable PCI expansion ROM for normal operation.
It fixes memory mapped I/O problems on some devices.
(from port-arc ML)
2001-08-17 11:11:57 +00:00
soda
cca727ab8c forgot to remove this, when arc/include/pci_machdep.h was added.
pointed out by Izumi TSUTSUI.
2001-07-03 11:26:50 +00:00
soda
eab4fd5e7a rename statically allocated software context which is needed for
console initialization, from "struct necpb_config necpb_configuration;"
to "struct necpb_context necpb_main_context".
to resolve naming conflicts with "struct XXX_config *XXX_conf;"
which describes platform-dependent configuration variants.
2001-06-13 15:18:28 +00:00
soda
1aa149136b rename statically allocated software context which is needed for
console initialization, from "struct necpb_config necpb_configuration;"
to "struct necpb_context necpb_main_context".
to resolve naming conflicts with "struct XXX_config *XXX_conf;"
which describes platform-dependent configuration variants.
2001-06-13 15:18:27 +00:00
soda
33669543d9 remove algor related codes, because there is independent (and working!)
algor port now.
2001-06-13 14:58:38 +00:00
simonb
e5bd00e48d For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.
2001-06-08 04:48:54 +00:00
chs
821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
ur
7701dc57be Adapt to pci_intr_map change. 2001-01-13 10:46:18 +00:00
ur
459f2585f4 Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
2000-12-24 09:25:24 +00:00
thorpej
aadf694c47 Fix a printf format. 2000-11-09 06:09:59 +00:00
mrg
47ef8ee92b remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 08:32:34 +00:00
mrg
2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
soda
49e5e09389 TGA console initialization for NEC RISCstation 2250,
contributed by Shuichiro URATA <ur@a-r.org>
2000-06-17 07:25:57 +00:00
soda
e5b560a385 - NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>.
 - Experimental coding for NEC RISCserver 2200 and RISCstation 2200.
   (doesn't really work)
2000-06-09 05:41:56 +00:00
soda
f626d8a91c repair algor support a bit. 2000-06-09 05:38:13 +00:00
soda
1258a24612 NEC RISCstation 2250 (RD-94) PCI bus support,
contributed by Shuichiro URATA <ur@a-r.org>
2000-06-09 05:33:02 +00:00
soda
71f6ef9ee6 merge changes between OpenBSD-2.1 and OpenBSD-2.6 2000-02-22 11:25:55 +00:00
soda
564df9b630 merge to NetBSD-current (DeskStation and Algor support is currently broken) 2000-01-23 21:01:48 +00:00
soda
5009ff6d63 OpenBSD-2.1/arc 2000-01-23 20:24:23 +00:00