summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k
AgeCommit message (Collapse)Author
2004-09-06Jumbo pack of fixes:Miod Vallat
- do not leak memory when polling; - bring LUN support back - Motorola documentation says LUNs are not supported, but it's a SysV/m88k limitation, not a hardware one. - honour request timeout while polling (instead of using a fixed value) - do not program the scsi command length if the hardware knows it from the scsi command group (as advised in the manual) - various minor fixes, especially better error recovery. tested by nick@ and I; ok deraadt@.
2004-08-25Swap the sources for clock and statclock on MVME188 (the Z8536 being moreMiod Vallat
reliable), and add a large block of comments to explain the timer mess^Wsituation on MVME188.
2004-08-25Rearm the DUART counter as soon as we enter the interrupt handler, to notMiod Vallat
drift the clock of the hardclock() processing time.
2004-08-25Better DUART timer interval computation for clock.Miod Vallat
2004-08-25Use a simpler delay() routine for MVME188, from Mach via Luna88kMiod Vallat
2004-08-24The#@$#%^&}1 z8536 timers runs at PCLK/2, hence 2MHz. Compensate, sinceMiod Vallat
the code assumes 1MHz timers.
2004-08-24Oops, unbreak dartcngetc().Miod Vallat
2004-08-24Correctly initialize and shuffle statclock on 1x7.Miod Vallat
2004-08-19Fix (well, rewrite) the start() logic - not only would it eat characters,Miod Vallat
but it could cause the output to stop completely. While there, fix cnputc() prototype and clean up cngetc().
2004-08-09Take advantage of the recent ABI change to use less stack space and doMiod Vallat
less stack pointer manipulation; the kernel needs to be compiled by an up-to-date compiler now, or a tree will fall on your house.
2004-08-06Merge Luna88k and mvme88k M88200 management code. Features:Miod Vallat
- simpler structures (no more redundant or easily computable information). - split scheme configuration (for 4:1 and 8:1 designs) is only compiled in if necessary (read: only on a mvme88k kernel configured for MVME188 support), which speeds up CMMU operations on the Luna88k. - will not enable bus snopping on a monoprocessor system. Tested on Luna88k-2, MVME187 and various MVME188 by aoyama@ and I.
2004-08-05Unbreak luna88k; spotted by aoyama@Miod Vallat
2004-08-04Use the ad hoc register define to access the Pbus fault status register,Miod Vallat
rather than an ugly 0x108.
2004-08-04Completely remove BATC code. BATC on 88200 are way too small to be worthMiod Vallat
using as part of the general pmap machinery (though they might come back at some point to speed up I/O mappings), and we don't use the 88110 BATC yet.
2004-08-04More cleaning:Miod Vallat
- a really working and simpler ddb "machine translate" helper. - get rid of the remains of the BATC code, which would not work as is on 4:1 and 8:1 boards.
2004-08-04KNF and a spanking in the ddb helper code.Miod Vallat
2004-08-03Overhaul of the MVME188 logic:Miod Vallat
- change the split CMMU strategy from splitting on user/supervisor, then A14/A14*, to A12/A12*, then A14/A14*. I believe this arrangment, being more symmetrical, uses the extra CMMUs better. - correctly handle 88204 - they will split on A14 and A16 instead of A12 and A14. - fix the addressing logic, when we need to know if a specific CMMU manages a certain address, or not. Code is even smaller now! - since the strategy choice makes user/supervisor distinction obsolete, remove the associated logic in m8820x_cmmu_set(). We now run multiuser on a 2P128 (4:1 88200) HYPERmodule. All 4:1 configurations should work; 8:1 configurations (1P128 with 88200, and 1P512) could not been tested due to lack of such hardware.
2004-08-03hide more inside _KERNEL; miod okTheo de Raadt
2004-08-03Clear CMMU fault status registers after reading them, for 4:1 and 8:1Miod Vallat
MVME188 configurations. Thus, we are looking at valid values when electing the faulting CMMU.
2004-08-02On MVME188 systems with 4:1 or 8:1 CMMU pairings, make sure the exceptionMiod Vallat
handling code checks the error status of the correct CMMUs and really reports an error code. This gets us closer to getting these modules to work, at the expense of sanity and some code readability.
2004-08-02Fun with the BUG:Miod Vallat
- add the board's suffix to the machine description if there is one; - recognize BUG version < 5 on MVME188, which don't provide a CNFG block. in this case we'll assume 20MHz for now, until we can parse the ENV data block correctly...
2004-08-02Better Z8536 initial programming.Miod Vallat
2004-08-02More include files cleaning:Miod Vallat
- move MAX_CPUS constant to <machine/cpu.h> - do not include <machine/board.h> unless needed. In fact, remove this file entirely on mvme88k, and include <machine/mvme*.h> on a compiling-for-this-board basis - keep MAX_CMMUS constant private to the m8820x code
2004-08-01Trim include file list.Miod Vallat
2004-08-01Move 88100 DAE code to its own file, shared between luna88k and mvme88k.Miod Vallat
2004-07-31Always claim dart interrupts, even if they report disabled conditions, butMiod Vallat
warn about them on console. More informative than ``regular'' spurious interrupt warnings.
2004-07-31To know our cpu number, it is much easier and safer to check through whichMiod Vallat
CMMU we accessed the WHOAMI register, rather than cause a CMMU fault and check which CMMU reported the fault.
2004-07-30Really initialize the z8536; gives us the profiling clock again on 188.Miod Vallat
2004-07-30Put printf arguments in correct order in a DIAGNOSTIC message.Miod Vallat
2004-07-30#if DIAGNOSTIC -> #ifdef DIAGNOSTICMiod Vallat
2004-07-30I finally remembered the fast and smart way to know how much memory aMiod Vallat
188 system has!
2004-07-30Move evcount structures inside struct intrhand, this makes more sense andMiod Vallat
gives us more counters in the process. Also clean up intrhand structures and usage, especially move them to SLISTs.
2004-07-29Better diagnostic message on MVME188 interrupt handler, when we are unable toMiod Vallat
fetch the VMEbus interrupt vector in time.
2004-07-28Remove EH_DEBUG code.Miod Vallat
2004-07-27Factorize exception handling code. The only different part between luna88kMiod Vallat
and mvme88k is the retrieval of the CMMU fault registers. Tested on mvme88k by myself and luna88k by aoyama@
2004-07-25Merge luna88k and mvme88k pmap. The pmap will now assume that the memoryMiod Vallat
below the kernel text is reserved for the PROM, instead of using fixed (but different) values between luna88k and mvme88k. Tested on mvme88k by myself, on luna88k by aoyama@
2004-07-24intr_establish() and related defines are mvme88k-only, so move them back fromMiod Vallat
<m88k/cpu.h>, and simplify the return values while there.
2004-07-23Better fix for the ttymodem issue.Miod Vallat
2004-07-23Eventually get the MVME188 reset sequence to work, and allow it to returnMiod Vallat
to the BUG instead of spinning if our reset fails.
2004-07-23Be more careful when handling interrupts - especially the first one afterMiod Vallat
the console transition from BUG to the chip could lead us to invoke ttymodem() on a bogus tty.
2004-07-23Better delay code for MVME188. Should make console and network much moreMiod Vallat
reactive.
2004-07-23Move luna88k and mvme88k vm_machdep to m88k-agnostic code area.Miod Vallat
2004-07-22Do not use db_printf() to trace data access exceptions.Miod Vallat
2004-07-20Forgot to put this chunk in.Miod Vallat
2004-07-20Let the boot device detection code handle secondary SCSI buses.Miod Vallat
2004-07-20Work in progress to support daughterboards. The driver now will attach aMiod Vallat
second scsi bus if a SCSI daughterboard is present, and is supposed to know about this and send scsi commands to the appropriate bus. Unfortunately probing the second bus does not report any device at the moment (though you can boot off it), but I can't see the issue at the moment. Thanks to tdeval@ for lending a few boards equipped with daughterboards for testing.
2004-07-20Use sc_print_addr for error messages.Miod Vallat
2004-07-19Recognize the daughter board type, if any - but it is not supported yet.Miod Vallat
2004-07-19After a work queue has been aborted and the abort has been acknowledged,Miod Vallat
do not keep setting the A.A. bit in further queue control operations, as advised by the manual.
2004-07-19When we want to thaw all work queues we care about, do it correctly.Miod Vallat