summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k
AgeCommit message (Collapse)Author
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.
2011-10-21Copy the DUID back and forth between the in-core label and the Motorola VIDMiod Vallat
block by using 8 unused bytes from the configuration substruct.
2011-10-09Let BUS_DMA_COHERENT allocations return cache-inhibited pages.Miod Vallat
2011-10-09Correctly handle invalidate of partial cache lines, for the Nth time.Miod Vallat
2011-10-09Rework secondary processor initialization. cmmu initialization is nowMiod Vallat
performed much earlier in the processor startup. No visible change, paves the way for the much important diff three commits from here.
2011-10-06ccd goes to the atticTheo de Raadt
discussed with jsing and millert
2011-10-06An #ifdef without a #else in the middle of an indexed array is bad.Theo de Raadt
ok miod
2011-09-27Make bus_addr_t and bus_size_t u_long types, instead of either uint32_t orMiod Vallat
uint64_t, depending upon the platform; this makes the declaration of these types consistent accross all our supported platform, and we do not intend to support a platform where bus_addr_t could be larger than the size of the cpu register. Requested by deraadt@ during s2k11
2011-07-17Backout a bunch of my SCSI commits from c2k11. At least one of theseMatthew Dempsky
is causing problems when trying to boot sparc64 from an isp(4). Verified to fix the sparc64/isp(4) regression by krw@; ok deraadt@
2011-07-08First batch of converting SCSI HBAs from setting saa_targets andMatthew Dempsky
saa_luns instead of adapter_buswidth and luns in the prototype link. ok dlg@, miod@
2011-07-07The drahn memorial bad kernel build fix: prevent blood pressurePhilip Guenthe
spikes in other developers by making it so that removal of a .d file without removing the corresponding object will result in the latter being treated as out of date. ok beck@ art@ drahn@
2011-07-06make clean should clean .d files, so as to leave a fresh canvas.Ted Unangst
ok beck deraadt
2011-06-29Replace all instances of "scsibus* at hba?" with a single "scsibus* atMatthew Dempsky
scsi?" rule, similar to how ethernet PHY drivers attach at mii. Discussed on icb.
2011-06-26if_downall() cannot be done MI in sys_reboot() because vfs_shutdown()Theo de Raadt
might need network (ie. nfs). Move the call to the MD boot() routines. This cause for boot hangs diagnosed by kettenis.
2011-06-23Fix the error path in bus_dmamem_map.Ariane van der Steldt
As discussed on icb: remove the comment, remove pmap_remove (uvm_km_free does that for us). ok oga@, deraadt@
2011-06-05Move the bufcachepercent setting code to MI locations -- set it to 42%Theo de Raadt
for now; that is unlikely to hit some of the remaining starvation bugs. Repair the bufpages calculation too; i386 was doing it ahead of time (incorrectly) and then re-calculating it. ok thib
2011-05-30Remove the freelist member from vm_physsegOwain Ainsworth
The new world order of pmemrange makes this data completely redundant (being dealt with by the pmemrange constraints instead). Remove all code that messes with the freelist. While touching every caller of uvm_page_physload() anyway, add the flags argument to all callers (all but one is 0 and that one already used PHYSLOAD_DEVICE) and remove the macro magic to allow callers to continue without it. Should shrink the code a bit, as well. matthew@ pointed out some mistakes i'd made. ``freelist death, I like. Ok.' ariane@ `I agree with the general direction, go ahead and i'll fix any fallout shortly'' miod@ (68k 88k and vax i could not check would build)
2011-04-28- enable fenvMartynas Venckus
- add nearbyint, nearbyintf and nearbyintl implemented using fenv
2011-04-19Disable the 88110 branch prediction logic unconditionnaly on all 88110Miod Vallat
revisions; despite what the ``official'' (yet unpublished, confidential proprietary, will cause a tree to fall on your house if you quote it, etc) errata says, disabling data decoupling is not enough to workaround its malfunction in processor revisions 5.x. Enough missing-SFU instructions (each causing a `disabled SFU' trap) in a tight loop will eventually (but quickly) trigger the (unrecoverable, not even by NMI) processor hang. Of course, most such instructions are not privileged, and can be easily issued by an evil userland process; crashme happens to be a good example of this, when invoked with the proper settings (which are left as an exercise to the reader). Now, can I have my hair back? Come on! Please... pretty please... with sugar on top... people are looking at my head, you know.
2011-04-16Use 'CLR(<buf>->b_flags, B_READ | B_WRITE | B_DONE)' regardless ofKenneth R Westerback
what the previous IO was. Less chance of copy and paste errors. Suggested by miod@.
2011-04-15In days of yore one could arbitrarily whack buffer flags. Those daysKenneth R Westerback
are past. Use CLR() and SET() to modify necessary flags while leaving the flags used by the buffer cache in peace. Should make bufcache code much less confused about the state of the bufs used in reading/writing disklabels. Other such flag abuses no doubt await a visit. Errors in original diff found by miod@. ok beck@ deraadt@
2011-04-15Convert the kernel Makefiles to autogenerate dependencies during compilationPhilip Guenthe
using the -MD option to cc, with -MP, -MT, and -MF where needed, converting "make depend" to a no-op. This increases parallelism for those using "make -j" and keeps the dependencies up to date with each compilation automatically. sparc and vax users will need to rebuild gcc with support for the -M[PTF] options before config'ing with this diff.
2011-04-12A few, hopefully last, NULL-as-an-integer misuses.Miod Vallat