Commit Graph

196 Commits

Author SHA1 Message Date
pk
194a6c2d97 remove pfourreg.h. 2000-08-23 12:08:16 +00:00
pk
408d2f01d0 Brooktree DAC support now lives in sys/dev/sun. 2000-08-23 10:08:48 +00:00
pk
837ef2bae6 This driver is now in sys/dev/sbus. 2000-08-23 10:07:46 +00:00
pk
aa81eb0f8b This file is now in sys/dev/sun. 2000-08-23 10:07:25 +00:00
pk
c85ada8053 These drivers are now in sys/dev/sun 2000-08-23 10:05:46 +00:00
pk
317a570728 These devices will never be found on sun4u machines. 2000-08-22 21:43:35 +00:00
eeh
aeb88321db Call the parent bus dvmamap_unload function to clear the cache rather
than do it ourselves.
2000-08-01 00:22:41 +00:00
mrg
a254dae933 ebus sc_is is a pointer now, already. 2000-07-27 14:17:10 +00:00
pk
2079f86890 On-board devices on psycho machines seem to have the `interrupt' property
in the parent bus format (i.e. an INO) rather than being represented as
an PCI interrupt line. Provide a hack to work around this in pci_attach_hook().
2000-07-26 17:46:56 +00:00
pk
34270e85bd Use probeget() in pci_config_read() for the psycho, to avoid bus
faults when probing PCI space.
2000-07-18 11:37:31 +00:00
pk
073e24cd1b Set up register bank sharing bwteen psycho A & B based on matching
physical addresses.  Allocate IOMMU state separately and refer to it
from both psycho_softc's.
2000-07-18 11:35:03 +00:00
pk
9de310aebe Use per-PBM control/status register addresses provided by the PROM.
Print version/implementation info.
2000-07-14 15:13:35 +00:00
pk
04fe9636ba Provide details on the `psy_csr' register. 2000-07-14 15:09:51 +00:00
pk
8258c0e780 Fix padding in struct pci_ctl. 2000-07-14 13:17:12 +00:00
pk
7e8f67ad97 No need to fetch the psycho's own registers as thet are already passed
down from the parent bus.  Also account for the difference in `reg'
properties in psycho vs sabre chips.
2000-07-12 21:49:44 +00:00
pk
f56554a578 If there is no "interrupt-map" property on the ebus node, assume the
child "interrupt" properties are already in a format suitable for
the parent bus.
2000-07-12 21:07:36 +00:00
eeh
f10d7699fc Break into debugger by typing `+++++', 2000-07-10 20:24:23 +00:00
eeh
048f1387db Function signature for bus_intr_establish() changed. 2000-07-10 01:11:14 +00:00
eeh
e5cd515b89 Upgrate interrupt handling:
1) use interrupt vectors for specific zs chips rather than polling
	   all of them.

	2) use softintr_schedule() and schedule it for a particular device
	   rather than poll all devices.
2000-07-09 21:58:43 +00:00
eeh
f43ab74a43 Shuffle around some fields to waste less space on LP64. 2000-07-09 21:55:24 +00:00
pk
406e0f779f Add a `device class' interrupt level argument (from machine/intr.h)
to bus_interrupt_establish().

It's currently only used in sparc64/dev/psycho.c to assign a CPU interrupt
level to devices in PCI slots.
2000-07-09 20:57:41 +00:00
mrg
b91804af6c split up debug flags so i can turn off some of them 2000-07-07 13:10:34 +00:00
mrg
4b21f66d57 work around a bug passing arguments to iommu_dvma_load_raw() 2000-07-07 12:53:29 +00:00
eeh
3f2289a3d7 Handle bus_dma aligment properly. 2000-07-07 02:50:19 +00:00
pk
f6d8b8e963 We want to index the PCI `interrupt clear' registers with the Interrupt
Number Offset.  (this stuff needs a serious cleanup).
2000-07-05 12:11:59 +00:00
eeh
58c36586cd Use the same IPLs as everyone else. 2000-07-03 17:42:37 +00:00
mrg
585f7645bf iommu_dvmamap_load*(), pass an alignment constraint, as well as
EX_BOUNDZERO, to extent_alloc().  this fixes problems with it
(extent_alloc()) returning incorrect values, when the start of
the extent is not aligned as strongly as the requested area..

raw access to ide disks now works.
2000-07-02 14:00:38 +00:00
mrg
4d14e81c0b remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 07:37:53 +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
simonb
889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
eeh
2e1e35d58e Enable interrupts. 2000-06-24 23:27:23 +00:00
eeh
6c5d2dbbac With these changes the kernel seems almost stable again. 2000-06-24 20:48:36 +00:00
eeh
8e1fd2e3c6 Remove a couple of references to vaddrs.h that slipped through. 2000-06-24 16:51:34 +00:00
eeh
be308420d4 Get rid of vaddrs.h. 2000-06-24 04:20:58 +00:00
eeh
d24721788a Correct calculation of length for dma segments in iommu_dmamap_load(). 2000-06-22 18:18:19 +00:00
eeh
245619bad4 Have separate data and text segments, make text read-only. 2000-06-19 23:30:32 +00:00
eeh
4ffba8be2a Fix uninitialized pointer bug. 2000-06-19 22:29:15 +00:00
mrg
fab0adad15 iommu_flush becomes iommu_strbuf_flush cuz that's what it does. 2000-06-18 07:17:40 +00:00
mrg
b6026e7c35 kill dead code. 2000-06-18 07:12:39 +00:00
mrg
fde87ed5d6 add a (u_long) cast for quietness 2000-06-18 07:10:23 +00:00
mrg
0bd5307bf8 remove an unused variable. 2000-06-18 07:05:09 +00:00
eeh
0146a569d2 Comment describing the IOMMU DVMA address space layout. 2000-06-12 23:19:05 +00:00
eeh
cc29e9b22c ebus_ca needs to specify enough memory to hold an ebus_softc, not a struct device. 2000-06-12 22:36:59 +00:00
mrg
9918c00a61 formatting nit. 2000-06-12 05:27:27 +00:00
eeh
7539c8d1ce Turn on PCI MEM and DMA. 2000-06-08 23:03:17 +00:00
eeh
860feb4e74 Fix ordering of sync operations depending on whether it's PRE- or POST-. 2000-06-08 17:41:46 +00:00
eeh
a273b333a3 Support large (>1 page) DVMA maps so UltraSPARC IIi will work. 2000-06-08 16:17:29 +00:00
eeh
08af61208e Fix DVMA base address calculations. 2000-06-08 15:23:44 +00:00
mrg
ee41ef7a04 ensure an ebus really does exist in ebus_match; fixes spurious attachments with the ebus on a hme pci card. 2000-06-08 06:52:25 +00:00
cgd
cffb580806 Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00