Commit Graph

330 Commits

Author SHA1 Message Date
mrg 5425cbfa41 fix compile warning. 1999-06-21 06:28:33 +00:00
eeh 0c32dc3995 Clean this up a little. More later. (Gee, this really is becoming a huge
mess).
1999-06-21 01:44:14 +00:00
eeh d326454d31 Nuke the last vestiges of a single DVMA map. This stuff should have
been completely migrated to individual bus drivers.
1999-06-21 01:42:36 +00:00
eeh 2c283b9149 Improve TRAPTRACE. Add FLTRACE that only tracks MMU faults. 1999-06-21 01:39:06 +00:00
eeh 9cf2782159 Move the DVMA mapin/mapout functions from the SBus driver to the iommu driver. 1999-06-20 00:51:29 +00:00
thorpej 0288ffb53a pmap_change_wiring() -> pmap_unwire(). 1999-06-17 19:23:20 +00:00
thorpej f5a527bb4e Remove pmap_pageable(); no pmap implements it, and it is not really useful,
because pmap_enter()/pmap_change_wiring() (soon to be pmap_unwire())
communicate the information in greater detail.
1999-06-17 18:21:21 +00:00
eeh 0693ec8379 Don't change protection on the clock for the moment. 1999-06-10 04:31:20 +00:00
mrg 30c351dc59 mmm, missing return types make gcc unhappy. 1999-06-08 10:35:36 +00:00
thorpej 2c35c7bd03 Only declare block major numbers for devices which can be the root device. 1999-06-07 20:31:27 +00:00
thorpej d76e7b8c6d Don't pass a nam2blk around at all; just have setroot() and friends reference
dev_name2blk[] directly.  Addresses PR #7622 (ITOH Yasufumi), although
in a different way.
1999-06-07 20:16:08 +00:00
mrg 0525e9c7ef add ebus attachment for cs4231. this does not work as it requires ebus DMA and will panic if enabled. but it should otherwise be mostly complete. 1999-06-07 14:59:14 +00:00
mrg aa506f8098 copyright foo. in the future, we will all be binary-redistributable. 1999-06-07 05:40:08 +00:00
eeh 1884f05354 Another general cleanup:
Remove the entire idea of fasttrap interrupts since V9 traps are really cheap,
the CPUs are really fast, and the completely different trap frames would make
these handlers really difficult to implement.

pmap_changeprot() was only used by the clock and one other place; deprecate it.

probeget() and probeset() now take 64-bit addresses even in 32-bit mode so we
can probe IO locations by physical addresses.

Some pmap cleanup.

Some more copyright cleanup.
1999-06-07 05:28:03 +00:00
mrg 1428ee6103 note that this is for an u5/u10 (from hubert) 1999-06-06 01:59:40 +00:00
eeh 186c3eba2b Make pbrobeget() and probeset() work for 64-bit values as well. To do this
the arguments are changed so the address is first and the ASI second so we
can have the address in %o0:%o1 and not worry about unused registers.

Also a bit of copyright cleanup.
1999-06-05 21:58:16 +00:00
eeh 3f7968c736 Fix things up so they compile again. 1999-06-05 20:38:24 +00:00
eeh fcd1351b4c Add support for AOUT_COMPAT which we'll need when the sparc port cuts to ELF. 1999-06-05 16:55:19 +00:00
mrg 14729c2b11 fix lpt definition. add audiocs at ebus. oops, comment broken/incomplete devices. 1999-06-05 14:34:22 +00:00
mrg 5e7ea137ac lpt at ebus. fixed (commented) audiocs attachments. 1999-06-05 14:33:44 +00:00
mrg 756c2cde22 map in registers, configure interrupts, this appears to be OK now. 1999-06-05 14:19:44 +00:00
mrg e8ccf39491 find ebus device INO values via the "interrupt-map" and "interrupt-map-mask" properties. 1999-06-05 14:18:26 +00:00
mrg 3670ff2120 if we are not bypassing the MMU, use ASI_PRIMARY. map PCI memory space
non-cached.  XXX clean this up by looking at the "non-cacheable" bit of
the full physical address.
avoid having 'nbuf' change between calls to `mdallocsys()' by setting it
in mdallocsys() like the MI allocsys() does.  XXX fix this too!
fix some printf lossage.
update for probeget() changes -- though bus_space_probe() appears to be
unused on the sparc64.
1999-06-05 05:35:41 +00:00
mrg cc49a21298 use common IOMMU routines. 1999-06-05 05:30:43 +00:00
mrg da265ce045 clean up a bit, implement pci_conf_{read,write}() with probe[gs]et() (not yet used). 1999-06-05 05:29:50 +00:00
mrg bb0d20abc4 lpt at ebus. 1999-06-05 05:28:36 +00:00
mrg dcb6040569 clock attaches at ebus also now. 1999-06-05 05:10:01 +00:00
mrg 4b183190b5 update a commit slightly. 1999-06-05 05:08:25 +00:00
mrg 2ee43849be catch up with probe[gs]et() changes. 1999-06-05 05:05:11 +00:00
mrg 6dffb4dff3 use common IOMMU code for sbus and psycho (remove old iommu
device declaration, we don't want it).  pull in psycho, pci,
ata and pciide code.  clock, eeprom and power attach at sbus
*and* ebus now (clock as `eeprom' works).  add `lpt at ebus',
wd major number, and other misc. commented devices.
1999-06-05 03:16:19 +00:00
mrg cb392a2e1d only set LD to /usr/ccs/bin/ld if it exists. avoid empty SFILES. 1999-06-05 01:56:31 +00:00
mrg 8613b8e39d avoid uninitalised pointers. 1999-06-04 14:29:38 +00:00
mrg 3a1472c106 GC dead code. add support for PCI and IDE boot device detection, plus hme ethernet.
should probably deal with be and qe, etc.
1999-06-04 14:00:38 +00:00
mrg 27bcf2b6e6 eek. sparc can have "wd" disks. 1999-06-04 13:58:59 +00:00
mrg e40f54e4c7 GC dead code. add support for PCI and IDE boot device detection, plus hme ethernet.
should probably deal with be and qe, etc.
1999-06-04 13:55:37 +00:00
mrg a1c100d377 clone this from the macppc port. 1999-06-04 13:51:57 +00:00
mrg 10b89455c7 pull iommu code out of sbus code so we can share it with the PCI.
define some useful PCI macros.
1999-06-04 13:48:48 +00:00
mrg 03adf4aad1 PCI driver for the UltraSPARC. this only works on the Ultra5/10 machines
(`SUNW,sabre') for now, and it doesn't really quite work there yet anyway.
the bus space/dma code is cloned from the sbus driver.  the IOMMU code also
is cloned from the sbus code, but separated out into iommu.c so that we can
share it with the sbus driver.  hopefully, much of the bus space/dma code
can also be re-shared with the sbus driver and the ebus driver but for now
these copies will do.

support for the real UltraSPARC PCI (`SUNW,psycho') is unwritten, though
most of this code is shared with it.

we can probe PCI config space and try to configue devices, but interrupts
don't work yet...
1999-06-04 13:42:14 +00:00
mrg 36237341af support for the UltraSPARC `Extension Bus' found on the PCI machines.
the bus space/dma code is cloned from the PCI code to do the same thing
which itself was cloned from the sbus bus space/dma code.  the bus dma
code is non-functional at this point.
1999-06-04 13:29:13 +00:00
mrg da08612af4 Ultra5/10 configuration. 1999-06-04 13:22:22 +00:00
eeh b14c7f77cb Garbage collect. 1999-05-31 00:14:00 +00:00
eeh 07d5dfdd7b Fix some bugs in some more of those asm macros. 1999-05-31 00:13:16 +00:00
eeh 64b891fc8d Add code to support using %tick as the system clock if no "counter-timer" node
is found.
1999-05-30 19:13:33 +00:00
eeh cd53dbd506 Re-write ASI load/stores to use full 64-bit addresses so we can use device
register addresses with MMU bypass ASIs.
1999-05-30 19:11:33 +00:00
eeh c2f2c064c0 Make pmap_enter() handle little-endian mappings properly. 1999-05-30 19:01:50 +00:00
eeh de1ba9c829 Grab real locks from the sparc port. I suppose we could use casa and casx
instead of ldstub, but since we aren't doing n-way locking it makes little
difference.  N.B. Need to decide what to do with sparc64/sparc64/asm.h which
has name conflicts with sparc64/include/asm.h.  So far most of
sparc64/sparc64/asm.h has been moved to ctlreg.h.
1999-05-30 18:57:27 +00:00
eeh dafdd170d7 Handle little-endian mapin requests. 1999-05-30 18:52:51 +00:00
mrg 01849b81ca allow the kernel to link with no arp (ether) devices 1999-05-30 07:36:28 +00:00
mrg 1b384c6911 clone intr.h from the SPARC. 1999-05-30 02:37:10 +00:00
thorpej beb8d06638 Generally update the comment above vunmapbuf(). 1999-05-26 22:19:33 +00:00