summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k
AgeCommit message (Collapse)Author
2003-09-07Oops, use the local MVMEPROM_CALL(), rather than the one which used to beMiod Vallat
in <machine/prom.h> -- code in stand/ does not need a specific context to invoke the BUG functions.
2003-09-07The PTE bit used to flag wiring is zeroed behind our back on 88110, soMiod Vallat
switch to another, safe, unused bit. From the MC88110UM via deraadt@
2003-09-07Narrow a conditional in non-88110 area...Miod Vallat
2003-09-07Get rid of PREP2's SSBR parameter, since it does not have sense for 88110.Miod Vallat
2003-09-06Large cleaning of exception handling:Miod Vallat
- faster code paths in eh.S, especially for 88110 cpus - do not service data access exceptions more than one time; also, be sure that interrupts are disabled while servicing them. - cleanup the 88110 trap handler in the same way the 88100 flavour has been cleaned recently. This spotted two bugs, which are fixed there as well: - add systrace support to the 88110 syscall code - add emulation support to the 88100 syscall code
2003-09-05Never enable interrupts just before processing data exceptions, but ratherMiod Vallat
afterwards... and only if this is a wise thing to do!
2003-09-05Do not drop the user into DDB without a really, really good reason.Miod Vallat
2003-09-04What I blamed on a specific CMMU fault pecularity turned out to be, in fact,Miod Vallat
a nice bug preventing signals to be delivered to process faulting in some conditions...
2003-09-03I'm walking on very, very thin ice here. Still trying to get the ``special''Miod Vallat
DAE to pass; the first fix was too brutal, the second one too shy; this third one is apparently just in the middle to make everything happy so far...
2003-09-03Use symbolic constants for pbus fault codes.Miod Vallat
2003-09-03Be more cautious in the previous fix - we don't want to skip valid data accessMiod Vallat
exceptions by mistake.
2003-09-02User mode page faults for page zero require special treatment to preventMiod Vallat
a recursive DAE. Scientists say this is proof that there's a ``strange attractor'' in the m88k processors. What is certain, though, is that the processors' documentation contains black holes.
2003-09-02There is a weird problems related to interrupts - we need to enable them tooMiod Vallat
early for the console to be reliable, so revert to the bug console for boot -a.
2003-09-02just like mvme68k; miod okTheo de Raadt
2003-09-02Cleanup and simplify data and instruction fault trap handling for 88100.Miod Vallat
2003-09-01The most harmful bugs are always so blatant it takes hours to spot them...Miod Vallat
Correctly setup the vector table for T_SIGSYS and T_SIGTRAP traps, and handle T_SIGSYS userland traps. This passes a complete usertrap regression test now.
2003-09-01Be sure to always provide a nonzero number in PREP() and PREP2() for softwareMiod Vallat
traps not tied to a particular vector, in order to correctly process data access faults whenever necessary, before servicing the trap.
2003-09-01Prevent userland from invoking BUG system calls, by saving the initial BUGMiod Vallat
trap vector contents, putting the bugtrap() stub in place, and switching back and forth between them when the kernel needs to invoke BUG functions.
2003-09-01Do not let userland programs enter DDB at will - it's a BAD thing.Miod Vallat
Also, fix a logic error in m88100_syscall() which prevented ERESTART and EJUSTRETURN to be returned (gasp!)
2003-09-01Correctly map the message buffer.Miod Vallat
2003-08-31Upon returning from m18*_ext_int(), do not invoke data_access_emulation()Miod Vallat
if trap(T_DATAFLT) has been able to correct the issue. This is, in fact, really a can't-happen situation, anyways.
2003-08-30Compile kernels with -mno-check-zero-division. Saves two pages, and thingsMiod Vallat
will go wrong anyway, should the kernel divide by zero...
2003-08-25rename struct dinode to ufs1_dinode. clears the namespace and makesTed Unangst
way for some future work. no function changes yet. help testing otto@ and markus@
2003-08-22To workaround an early 88100 models problem, gcc explicitely adds checks forMiod Vallat
division by zero in the generated code, and will trap to vector #503 in this case. Make sure that this vector gets handled as the regular divide-by-zero vector.
2003-08-21Bounds checking, prevents ioctls to non-existing dart devices from panic'ingMiod Vallat
the kernel; fixes a ttyflags botch reported by Luke Th. Bullock
2003-08-21Be less verbose in the MVME187 probe, as its CMMU configuration is knownMiod Vallat
2003-08-21Use constants rather than hardcoded values for IPL levels.Miod Vallat
2003-08-21De-obfuscate get_target().Miod Vallat
2003-08-21Put a valid VID signature in the disklabel, as does mvme68k.Miod Vallat
2003-08-20A bunch of 88110 band-aid:Miod Vallat
- the 88410 handling code is not working correctly. Check whether we are operating with 88410's, and only invoke these routines if necessary. - force serial mode execution in the PSR for the moment (hopefully only temporary) - disable branch prediction and data matching in the PSR, the 88110 errata is simply too scary about them. - a better pipeline flush after changing the ictl control register. These changes let 197LE (but not 197SP/DP) boot up to autoconf. Userland process do not work at the moment.
2003-08-20No need to build installboot and the bootblocks at -O0 anymore.Miod Vallat
2003-08-20Fix the write status test for the 88110 kluge in m88k_protection() [oops]Miod Vallat
2003-08-20Revert the flust_atc_entry() shortcut if NCPUS == 1 - it will not work onMiod Vallat
multiprocessor boards where the master cpu is not the first one.
2003-08-17There is no need to assume that the compiler will swap ! and & operatorMiod Vallat
priorities because we are nice people.
2003-08-15change arguments to suser. suser now takes the process, and a flagsTed Unangst
argument. old cred only calls user suser_ucred. this will allow future work to more flexibly implement the idea of a root process. looks like something i saw in freebsd, but a little different. use of suser_ucred vs suser in file system code should be looked at again, for the moment semantics remain unchanged. review and input from art@ testing and further review miod@
2003-08-13Always force a pipeline flush after a PSR change, not before. How couldMiod Vallat
this have ever worked?
2003-08-12Get rid of unused code, and KNF/ELF-sanitize the remaining code.Miod Vallat
2003-08-12Use spltty() instead of rolling our own expanded version.Miod Vallat
2003-08-12The idle loop is supposed to run with interrupts enabled, and will onlyMiod Vallat
relax the interrupt mask (i.e. spl level). However, under some unclear circumstances, it will be entered with interrupts disabled, and thus will loop forever if no process is runnable. Check the PSR and make sure that interrupts are enabled in this case. This gets rid of the random freezes, although a better fix would be preferrable...
2003-08-11Sprinkle proper use of _C_LABEL and _ASM_LABEL in the .S files (except forMiod Vallat
the _fp.S which are too scary at the moment). This will be necessary to move to ELF in the future. Use local symbols whenever possible. Attempt to use delayed branches whenever possible. Remove stupid or straightforward comments, some hardcoded values, and a few unused variables or routines.
2003-08-11Saving or restoring the process' registers to/from the pcb was usingMiod Vallat
double load/store instructions, for speed; however, these only work if the pcb structure is also 8 bytes aligned... which is not necessarily true. In this case, the lossage was compensated by the data access exception handler, which means that for every unlucky pcb operation, the kernel was happily generating a dozen of exceptions in a row... Stop the madness and change this to regular load/store operations.
2003-08-10Do not make NBPG visible in assym.hMiod Vallat
2003-08-10No need to bring <machine/psl.h> from <machine/param.h>, this adds unnecessaryMiod Vallat
pollution. Makes warnings in binutils compilation disappear...
2003-08-09New RAMDISK configuration, inspired by the mvme68k one; and the associatedMiod Vallat
fixes to get the kernel to compile without option DDB and without option DIAGNOSTIC.
2003-08-09Always install the installboot manual page.Miod Vallat
2003-08-08Fix harmless address computation buglet in pmap_collect().Miod Vallat
2003-08-08Slightly clean up cpu_fork().Miod Vallat
2003-08-07In sendsig() and sigreturn(), use the SS_xxx flags rather than the SA_xxxMiod Vallat
flags (purely cosmetic, as they have the same value). Also some minor indentation/KNF repairs.
2003-08-06Remove some double semicolons (hmm, do two semis equal a maxi?).Todd C. Miller
I've skipped the GNU stuff for now. From Patrick Latifi.
2003-08-03Resistance is futile, you will be KNF'ed.Miod Vallat
And then it will be easier to debug this mess (no functional change yet).