summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k
AgeCommit message (Collapse)Author
2007-05-15kill __HAVE_DEVICE_REGISTER by requiring all architectures to have aTheo de Raadt
device_register() function -- even if it does nothing. reduces the cpp-based blather different between architectures idea ok'd by miod; tested on all architectures (except a few miod will need to cleanup because he has them)
2007-05-14Work in progress IPI mechanism, currently only implemented on MVME188, toMiod Vallat
send clock ticks to secondary processors.
2007-05-14Hold kernel_lock when processing interrupts at a level under IPL_SCHED, asMiod Vallat
done on 188, for MULTIPROCESSOR kernels.
2007-05-14Register statclock() at IPL_STATCLOCK, not IPL_CLOCK (no-op since they areMiod Vallat
the same)
2007-05-12Increment ncpus when hatching a secondary processor.Miod Vallat
2007-05-12Change the 88100 interrupt handlers to process DAEs with interrupts enabled,Miod Vallat
as done for DAEs not occuring during interrupts. Remove the check for unprocessed DAE on return from trap() in eh_common.S, since this can't happen. As a result, the return-from-trap code becomes identical on 88100 and 88110 systems.
2007-05-08remove more junk in the setroot() code pathTheo de Raadt
2007-05-04make findblkmajor() and findblkname() MI; ok miodTheo de Raadt
2007-05-04setroot() was a ugly mix of MI and MD code, with different bugs on differentTheo de Raadt
machines. Instead -- build one solid clean MI version, and thenchange all the architectures to use it. ok various people, tested on almost all cases. (it is a 10094 line diff..)
2007-04-10``it's'' -> ``its'' when the grammar gods require this change.Miod Vallat
2007-03-22When registering VME interrupts, maintain a direct ipl->vector table, as longMiod Vallat
as no more than one interrupt is registered for a given level. Then, if the VME interrupt vector reading cycle fails on the 188 interrupt arbiter, we can use this table as a hint if it has a valid entry, since we know on which ipl line the interrupt occured. This basically silences the m188_ext_int: timeout getting VME interrupt vector, level 3, mask 0x400<IRQ3> occasional messages appearing when the MVME376 is overloaded.
2007-02-19only make this interface available to the kernel for now, discussed withaTheo de Raadt
rt and such; tested and ok miod drahn
2007-02-11Rework the cache handling routines again. We now try to operate on the exactMiod Vallat
address range we've been given, rounded to cache line boundaries, instead of being lazy and operating on pages as soon as the range was large enough. Also, since the ranges we'll be invoked for are reasonably small, it does not make sense to check for segment sizes - we're always smaller, really. While there, hardcode the size in cmmu_flush_data_cache(), which becomes cmmu_flush_data_page(), since it was always invoked for complete pages.
2007-02-11Rework the i/o mapping logic so that it allows the 1:1 region to not go up toMiod Vallat
the end of the address space; allows the A16D16 VME space to be mapped correctly again on MVME197.
2007-02-06Add machine/atomic.h to all architectures and define two operationsArtur Grabowski
right now that are supposed to be atomic with respect to interrupts and SMP: atomic_setbits_int and atomic_clearbits_int. All architectures other than i386 and amd64 get dummy implementations since at first we'll be replacing operations that are done with "a |= bit" and "a &= ~bit" today. More proper implementations will follow kettenis@, miod@ ok
2007-01-13Bring back a <machine/frame.h> for m88k platforms, by splitting <machine/pcb.h>Miod Vallat
in its exception-related contents and pcb-related contents.
2006-12-21'tranfer' -> 'transfer' in comments.Kenneth R Westerback
2006-12-01Unbreak.Miod Vallat
2006-11-28give scsi controllers a real attach args to fill in when attaching scsibus.David Gwynne
ok miod@ marco@ deraadt@
2006-11-28rename scsibus_attach_args to scsi_attach_args. this can help avoidDavid Gwynne
confusing when trying to attach scsibus to a hba, since it is really meant for attaching scsi devices to scsibus. ok deraadt@ marco@
2006-11-20Hold the kernel lock when processing low IPL interrupts; one more step towardsMiod Vallat
stable MULTIPROCESSOR kernels.
2006-11-20Directly invoke m188_setipl() instead of setipl() in the external interruptMiod Vallat
handler.
2006-11-19I completely broke pfsr_188_save_double when introducing per-cpuinfoMiod Vallat
pfsr pointers seven months ago. This would work, but not in all fault cases; now it does the right thing.
2006-11-18On 88100 systems which do not need the xxx.usr instruction workaround,Miod Vallat
override the DAE helper routines with workaroundless code while the kernel text is still writable.
2006-11-18Rework the PFSR register analysis code on mvme88k: split it into fourMiod Vallat
independent subfunctions, turn PFSR_SAVE into a couple of NOP, and replace them early at runtime with a branch to the selected routine, which will return to pfsr_save. This is really better for 188 systems.
2006-11-18A better and shorter wait sequence between writes to the command registerMiod Vallat
(spec wants 3 X1 clock cycles, thus 0.82 microsecond on mvme188)
2006-11-18Do not include <machine/frame.h> (forgotten when the former was removed).Miod Vallat
2006-11-16Ratibibugle struct frame and <machine/frame.h>Miod Vallat
2006-08-17Check d_secpercyl in all readdisklable() functions, and have all ofKenneth R Westerback
them return 'invalid geometry' when d_secpercyl == 0. While there move the check to a consistant location (after the check of d_secperunit) and use a consistant idiom (i.e. some readdisklabel()'s have no 'done' label). prodded by thib@ after a bad macppc experience. ok deraadt@
2006-08-13Remove remains of cut'n'paste from ffs code.Miod Vallat
2006-07-284KB buffer on the stack, and would you like fries with that?Miod Vallat
2006-07-27Compile all kernels with -Wstack-usage-larger-than-2047, now that allMiod Vallat
offending code has been taken out and shot. ok deraadt@
2006-07-07Get rid of the fixed iomap for device mappings, and allocated va rangesMiod Vallat
off kernel_map whenever necessary.
2006-06-19move clock_subr.c to a better place, and now it is always in the kernelTheo de Raadt
so that things can use it; tested on all architectures; ok kettenis
2006-06-11TypoMiod Vallat
2006-05-28Configure network devices at ipl 3, not ipl 1.Miod Vallat
2006-05-18Use standard swap16() and swap32() functions instead of abusing <db.h> to getMiod Vallat
similar M_xx_SWAP().
2006-05-18Move otherwise unused <machine/vid.h> to stand/Miod Vallat
2006-05-17Delay board type retrieval.Miod Vallat
2006-05-16Crank bootblocks version for today's changes.Miod Vallat
2006-05-16Nuke whitespace at EOLMiod Vallat
2006-05-16Make standalone binaries compile with -Wall -WerrorMiod Vallat
2006-05-16Cleanup of mvme88k standalone code, with rewritten startup code withMiod Vallat
fewer assembly statements and much less magic, a few display artefacts removed, and private definitions moved out of the main prom.h.
2006-05-13Oops, intr_findvec() proto is still necessary.Miod Vallat
2006-05-08Replace gazillions of badvaddr() or badwordaddr() calls with badaddr() calls.Miod Vallat
With a few prototype declarations shuffling, this finally allows <machine/locore.h> to die.
2006-05-08Clean the internal m88k trap type codes; while there, simplify andMiod Vallat
factorize the build of the VBR page betweem luna88k and mvme88k. Tested by aoyama@ and I.
2006-05-07No need to mask misaligned address exceptions for global flush or invalidateMiod Vallat
operations (those do not take a page number in the low address bits of the 88410 control register).
2006-05-07Do not panic on MVME188 if the abort switch is pressed while we are at ipl 7Miod Vallat
(fallout from always enabling the abort switch).
2006-05-06Sync VM games on startup with earlier pmap_table[] cleanups.Miod Vallat
2006-05-06Decide whether we are running on 88100 or 88110 upon the processorMiod Vallat
identification register value, rather than upon the MVME board number.