Commit Graph

175 Commits

Author SHA1 Message Date
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
eeh
ca743bac9a Use the PCI function code to distinguish simba bus A from bus B instead
of the current hack.
2000-05-24 20:27:52 +00:00
eeh
17c567f9de Oops. Seems like we do need this file to make pcons work. 2000-05-20 14:23:12 +00:00
eeh
424619ca1a Fix the sparc64 console.
Unlike the other Sun machines, UltraSPARCs can have consoles run on different
chips than zs, so we need to support them.  So, here we go:

	Add a new PROM console driver with a major number and everything.
	This is the default driver if nothing else attaches.  It does not
	use the keyboard driver since the PROM translates keystrokes itself.
	(Unfortunately it also swallows L1-A).

	Have the keyboard driver take over the console when it attaches on a
	serial port.  When a serial port detects a keyboard and attaches the
	keyboard driver, it needs to provide a set of consdev vectors.  They
	keyboard driver will use those to send I/O to the keyboard and mouse.
2000-05-19 05:26:16 +00:00
mrg
4bd0bb352b this file has not been used for a long time. 2000-05-19 01:09:21 +00:00
mrg
0cd44feb0e fix if/ifdef mistake 2000-05-17 10:28:14 +00:00
mrg
20bc66f592 - add some psycho interrupt debugging stuff (#if 0'ed out)
- fix arguments passed in psycho_dmamap_load_raw()'s declaration, and
  what it passes to it's parent bus.
2000-05-17 10:17:01 +00:00
mrg
eee5e33e8a - in iommu_remove(), move len adjustment outside if statement, leaving
just one copy of this.
- remove duplicate setting of sgsize in iommu_dvmamap_load().
- fix DIAGNOSTIC check in iommu_dvmamap_load_raw() to panic() in unexpected
  conditions only (not normal ones), and also add an extra case.
2000-05-17 09:53:53 +00:00
mrg
53fa9da4df move zs_attach() to after the setting of the console device, to avoid
having cn_dev being 0 and thus cnopen() being called recursively.  this
fixes this problem for zs-based console's only.
2000-05-17 09:28:22 +00:00
mrg
651712a140 add a note about US IIi and PCI_INTERRUPT_LINE register 2000-05-17 09:25:58 +00:00
mrg
6dad37e26a expand a comment slightly. 2000-05-17 09:25:27 +00:00
eeh
3b90b5c5c4 Add support for bus_dma_load_raw() so the le driver will work again. 2000-05-17 02:31:12 +00:00
thorpej
463931b3ba Nuke dk_establish() from orbit except from those ports which still use
it to determine the boot device: mvme68k, pc532, macppc, ofppc.  Those
platforms should be changed to use device_register().  In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
2000-05-16 05:45:44 +00:00
mrg
0ce52a2a08 implement U2P PCI support in psycho_init. this is completely untested. 2000-05-06 04:15:35 +00:00
mrg
dab52c26ad - add a note about streaming buffers and US IIi not having them.
- make some debugging messages in iommu_remove() saner and add some more.
- decrement 'len' in the no streaming buffer case, also.
- in iommu_dvmamem_map(), do not enter these mappings into the IOMMU,
  only into the CPU (the former is done at _load time).
- make a panic that shouldn't happen a DIAGNOSTIC.
2000-04-25 14:59:38 +00:00
mrg
1013298c2a whole bunch of changes:
- merge IOMMU DVMA code from sbus/psycho into iommu.c.  this code was
  identical and a few minor inconsistencies had crept in.  this way
  keeps them all in sync.
- with this code gone from psycho, merge the psycho.c and psycho_bus.c
  files.  same with ebus/ebus_bus.c.  delete the _bus.c files.
- add a _ds_boundary member to the dma segment structure, so that later
  dma mappings can find this value.
- set _ds_boundary in machdep.c:_bus_dmamem_alloc().
- kill much dead code.
2000-04-22 17:05:59 +00:00
mrg
5aa4575432 - convert to DPRINTF() style debug messages.
- kill dead code.
- use the sbus dv_xname to construct a dvma map map, to pass to
  extent_alloc(), to help support multiple sbusses
2000-04-22 12:36:29 +00:00
pk
e5ab0feccc Have prom_cngetc() wait until input has been typed. 2000-04-19 08:15:06 +00:00
mrg
19a31e7b5e add a newline to this fake autoconfig line. 2000-04-19 02:26:08 +00:00
mrg
2aba26f773 - auxio cleanup and sbus support.
- make GENERIC64 include GENERIC and set the 3 optoins it needs.  suggested
  by hubert feyrer.
- add a comment that we maybe should use the `bpp' driver, not the lpt, on
  the ebus because the `bpp' driver does DMA already.
- ebus_attach_args got a member renamed
2000-04-15 03:08:12 +00:00
mrg
e4ca29ac00 kill dead code 2000-04-15 03:07:38 +00:00
mrg
af6a8541e4 add some casts to (u_long) to shut up gcc. cleanup unused variables 2000-04-14 08:29:03 +00:00