summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k
AgeCommit message (Collapse)Author
2013-06-03more fuse in more places. credit: miodTed Unangst
2013-06-03Convert some internal APIs to use timespecs instead of timevalsPhilip Guenther
ok matthew@ deraadt@
2013-06-01add missing license (PD) blockJasper Lievisse Adriaanse
ok guenther@
2013-05-25Minimal support for MVME224 and MVME236 memory boards.Miod Vallat
2013-05-24Fix dow register value in resettodr() - kernel computes it zero-based, butMiod Vallat
chip want it one-based.
2013-05-23TOD clock support for AngelFire boardsMiod Vallat
2013-05-18Missing bits intended to go with the previous commit but lost in diff splitting:Miod Vallat
Split inittodr/resettodr code from actual tod routines, to allow for multiple tod routines in the near future. Use the mi clock_ymdhms_to_secs and clock_secs_to_ymdhms routines.
2013-05-17Preliminary support for MVME180 and MVME181 boards. On-board serial portsMiod Vallat
and VME controller are supported; tod chip isn't supported yet (coming soon). MVME236 memory boards are not supported and won't likely be (unless I get my hands on one). MVME181-1 boots multiuser (slowly) with MVME328 SCSI and MVME376 Ethernet despite only having 8MB of memory onboard. MVME180 untested; might need tweaking to get MVME SCSI and Ethernet boards supported. Many thanks to Matti Nummi for lending me an MVME181 board.
2013-05-17Replace the bunch of md_* function pointers with a `struct board' containingMiod Vallat
function pointers for all the board-specific code. Add a bunch of `struct board' methods to cover most, if not all, of the `per-board' logic. This allows most of the md drivers to be cleaned up and no longer need to embed board-specific knowledge.
2013-05-17Move interrupt-related defines from <machine/cpu.h> to <machine/intr.h>.Miod Vallat
No functional change.
2013-05-17Split inittodr/resettodr code from actual tod routines, to allow forMiod Vallat
multiple tod routines in the near future. Use the mi clock_ymdhms_to_secs and clock_secs_to_ymdhms routines.
2013-05-17Extend cmmu routines to return the caching mode to use for page tables.Miod Vallat
Alter the 88200-specific code to enforce cache-inhibited page tables for extremely old 88200 versions, and to disable write-back caching on systems where xmem instructions do not behave correctly when applied to write-back cached addresses. No change introduced on 88110 systems, as well as most 88100 systems; the affected systems are 88100 systems with 88100 revision < 10 and/or 88200 revision < 7; that is, only early MVME181 and MVME188 (not 188A) systems.
2013-05-15Initialize a teeny few more globals to reasonable values to allow for printf()Miod Vallat
to work as soon as cn_tab is initialized. Allows us to correctly printf or panic early on unrecognized systems. This used to be the case but got lost a long time ago.
2013-05-14typo in multiple inclusion guard symbol name.Miod Vallat
2013-05-14Older BUG version do not implement the `out cr/lf' BUG system call, and, worse,Miod Vallat
do not return from it, for extra fun. The good thing is that the existing kernel console code logic issueing \n as \r\n works nicely with the regular BUG output routines, so there was no reason to use this particular BUG routine in the first place.
2013-05-12Make sboot really match its documented behaviour when booting without anMiod Vallat
interface name.
2013-05-12S-Records boot code for mvme88k, finally. Allows a kernel to be loaded fromMiod Vallat
network, using either the on-board interface (on MVME187 and MVME197) or any MVME376. While there, add MVME376 support to netboot.
2013-04-18Lower boot blocks load address, so that they fit within 8MB. Step 1 of manyMiod Vallat
towards getting Angelfire boards (MVME180/181) running.
2013-04-14Unbreak tape boot blocks by not attempting to load kernel symbols, and providingMiod Vallat
a smarter seek routine which can seek forward and cope with the libsa gzip code reading the first 4KB of a file upon open, only to discard the buffer because it assumes we can always seek backwards. These boot blocks had been broken since the switch to the MI libsa loadfile code. Reported for mvme88k by Michael Fritsch, thanks and sorry for taking too long to fix.
2013-03-30reorder include search directories. cuts lookups by quite a bit.Ted Unangst
ok deraadt miod
2013-03-26sync TDIRS with realityJasper Lievisse Adriaanse
"looks good" deraadt@
2013-03-23refactor sys/param.h and machine/param.h. A lot of #ifdef _KERNEL is addedTheo de Raadt
to keep definitions our of user space. The MD files now follow a consistant order -- all namespace intrusion is at the tail can be cleaned up independently. locore, bootblocks, and libkvm still see enough visibility to build. Checked on 90% of platforms...
2013-02-19Introduce a new cmmu method to return the preferred cache mode bits for theMiod Vallat
kernel APR. Return write-back for every design but those involving 88410, where write through is returned. Apparently the use of writeback on single-processor kernels using 88410 (197SP, 197DP) has only been working by fat chance, and the last two years of uvm changes, as well as the switch to ELF (causing kernel rodata to move `up') exposes silent memory corruption on (88410-size) aliased addresses. (I am guilty of not using my 197DP board much after making 197LE write-back capable, as 197LE turned out to be faster and more stable, for I would have noticed this earlier). Further thought needs to happen about this. It might be possible to switch to writeback by default again as long as bus_dma maps things write-through on 88410 designs, and perhaps with a part of the kernel mapped with a write-through BATC, since BATC have precedence upon page tables. Right now I'm trying to get a stable release out of the door.
2013-02-19Introduce `option M88410', to be added to 88110 system designs making use of theMiod Vallat
#$%&#@! MC88410 chip. This will allow design-agonstic m88k-specific code to be able to tell pure 88110 kernels apart from possible 88110+88410 ones.
2013-02-17Replace assembly statement triggering 88410 commands with a proper volatileMiod Vallat
uint64_t write. While there, implement a real wbinv routine instead of invoking wb, then inv; this avoids unnecessary busswitch register juggling.
2013-02-17Constify struct cmmu.Miod Vallat
2013-01-16Nuke commons with libsa and add --warn-common to the ld command lines.Miod Vallat
No functional change.
2013-01-05Switch m88k ports to ELF.Miod Vallat
2012-12-26Nuke commons.Miod Vallat
2012-12-05Remove excessive sys/cdefs.h inclusionTheo de Raadt
ok guenther millert kettenis
2012-12-04Remove the gcc 2 m88k varargs logic. You gave me a lot of trouble and no pony,Miod Vallat
therefore I don't mind you rotting in the Attic for eternity (scheduled to start on the 21st anyway, according to MayaBSD developers). reminded by deraadt@
2012-12-03avoid depending on gcc cast as lvalue extension whichJonathan Gray
was removed in gcc4 ok miod@
2012-12-01Crank boot blocks version because of the compiler change.Miod Vallat
2012-12-01Switch m88k ports to gcc 3.Miod Vallat
2012-11-25Recognize a wrong network configuration which would cause tftpboot toMiod Vallat
apparently freeze, and in any case fail to load anything; if this happens, tell the user what to do and return to the BUG (altering the configuration from tftpboot itself doesn't seem to have any effect, unfortunately).
2012-11-25Sync register clobber information in MVMEPROM_CALL() with those used in theMiod Vallat
kernel (in dev/bugio.c)
2012-11-05unifdef -D __HAVE_TIMECOUNTERMiod Vallat
2012-10-21Needs <sys/device.h> nowMiod Vallat
2012-10-10Missed the MD bits with the bridgeport change. Found the hard way by deraadt.Camiel Dobbelaar
2012-10-08Revamp the sequences for suspend/hibernate -> resume so that the codeTheo de Raadt
paths are reflexive. It is now possible to fail part-way through a suspend sequence, and recover along the resume code path. Split DVACT_SUSPEND by adding a new DVACT_POWERDOWN method is used after hibernate (and suspend too) to finish the job. Some drivers must be converted at the same time to use this instead of shutdown hooks (the others will follow at a later time) ok kettenis mlarkin
2012-08-23kill nnpfs deadTheo de Raadt
2012-08-22Build the kernel with -fno-pie. Just getting Ms out of my tree; this will bePascal Stumpf
cleaned up later. ok deraadt@
2012-08-21Add NOPIE= bits for sys/arch/*/stand to ensure that bootblocks will always bePascal Stumpf
built with -fno-pie. This gets the hairiest part of PIE out of the way ... ok deraadt@
2012-07-05Concatenating strings doesn't require __CONCAT() (and must not in standard C)Philip Guenthe
ok miod@
2012-06-26create new machine/_float.h which is namespace clean. create a newTheo de Raadt
MI float.h which pulls in and defines the values that are needed from there, and repair sys/limits.h so that it defines the values it needs as well (depending on POSIX version, XPG version, etc). guenther has a more exact selection of that coming for limits.h. this also fixes a few mistakes for the vax. reviewed by kettenis and guenther.
2011-11-19Make sure %cr17 points to a valid cpu_info struct before attempting to do theMiod Vallat
first few printfs (which happen before we have figured out which exact cpu we are running on). Found the hard way by aoyama@ on luna88k, and we probably have just been lucky on other platforms.
2011-11-08consistant "config bsd" lines; ok miodTheo de Raadt
2011-11-08Garbage collect now unused MKDEP definitions. ok deraadt@Matthieu Herrb
2011-10-27Specify the TLS variant for each platform.Philip Guenthe
2011-10-25Replace the naive 88110 tlb update code, which would always invalidate theMiod Vallat
whole tlb (32 of 'em), with smarter `tlb probe and update with new pte if tlb match found' code. This makes the 88110-specific pmap_update() unnecessary, as updates are no longer aggregated to avoid the number of flushes. This also makes tlb handling similar between 88100 and 88110, from the pmap's point of view, so there is no need to use different routines. No impact on 88100, no user-noticeable performance change on 88100 GENERIC, slight improvement on 88110 GENERIC.MP.