summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k
AgeCommit message (Collapse)Author
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.
2006-05-06On 88100-based systems, take the two hardwired BATC into account inMiod Vallat
pmap_extract(), and do not bother creating regular page table mappings for obio regions which are covered by these BATC entries.
2006-05-04Now that .S files have proper dependencies, do not hardcode dependenciesMiod Vallat
on assym.h in Makefile, especially since some files have been renamed...
2006-05-02Wave goodbye to bugtty on mvme88k as well.Miod Vallat
2006-04-27<machine/mvme1x7.h> is not really used anymore, remove it.Miod Vallat
2006-04-27Adjust sizes for the mandatory 1:1 mappings created in pmap_bootstrap().Miod Vallat
Saves up to 12KB of no longer necessary page tables.
2006-04-27Manage a local copy of the MVME188 nvram and update the real data whenMiod Vallat
necessary; allow opening /dev/nvram0 on MVME188 again (but no mmap).
2006-04-27typoMiod Vallat
2006-04-26On MVME188, the 2KB nvram is non contiguous; each byte is mapped into aMiod Vallat
32 bit int. So map the right size, and fail open() until the uiomove() wrapper is modified to cope with this.
2006-04-26Define BUS_SPACE_MAP_LINEAR and use it when appropriate. Right nowMiod Vallat
bus_space_map() always maps everything linear, but this could change in the future.
2006-04-26The dual-ported memory of the MVME376 boards is D32 addressable, say theMiod Vallat
documentation, so we can use the MI {zero,copy{to,from}}buf_contig callbacks, which rely upon bcopy() and bzero(), instead of their d16_bcopy() and d16_bzero() equivalents. No functional change, except an unnoticeable speedup.