summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k
AgeCommit message (Collapse)Author
2009-08-13Replace the error strings that were being passed around with much simplerTheo de Raadt
errnos. Note that the error strings are being ignored, since we long ago decided to not spam the console, and there is no other nice way to use the errors (without changing the ioctls to pass it back) The errno is now useful, since we can pass b_error from failing IO up, and the drive can decide how to use that ok miod
2009-08-13wire vscsi up to a cdevDavid Gwynne
for claudio@ ok deraadt@
2009-08-11Do not bother initializing bufpages in the md code if the computation isMiod Vallat
exactly the same the mi could will use if bufinit() is invoked with bufpages == 0.
2009-08-11With the SysV memory allocation changes, allocsys() doesn't do anythingMiod Vallat
anymore. Get rid of it completely.
2009-08-09Introduce option DDB_STRUCT. Kernels compiled with this option (except onMiod Vallat
a few arches where toolchain limitations apply) will embed some symbolic information about the various structs used within the kernel, and have new ddb commands allowing struct display and some useful information gathering. Kernel rodata increase varies accross platforms from ~150KB to ~300KB. This option is not enabled by default.
2009-08-09Rototill system V message queues.Bret Lambert
No longer allocate a static amount of memory for messages in MD boot path; message queues, message metadata, and message data now all use dynamic memory, which means that runtime sysctls should now be trivial to implement. Since I'm going to be around all week to fix any breakage, this should probably just go in now.
2009-08-02Dynamic buffer cache support - a re-commit of what was backed outBob Beck
after c2k9 allows buffer cache to be extended and grow/shrink dynamically tested by many, ok oga@, "why not just commit it" deraadt@
2009-07-30Make sure the BUS_SPACE_BARRIER_xxx constants are all non-zero and can beMiod Vallat
or'ed together, even on platforms where bus_space_barrier() ignores the barrier argument yet.
2009-07-26Make sure all platforms understand the flags argument of bus_space_map() andMiod Vallat
bus_space_alloc() as a bitmask of flags, and not a boolean controlling cacheability; and make sure the three MI BUS_SPACE_MAP_xxx values documented in the manual page are defined on all platforms as well.
2009-06-15Back out all the buffer cache changes I committed during c2k9. This reverts ↵Bob Beck
three commits: 1) The sysctl allowing bufcachepercent to be changed at boot time. 2) The change moving the buffer cache hash chains to a red-black tree 3) The dynamic buffer cache (Which depended on the earlier too). ok on the backout from marco and todd
2009-06-07Do not look at the avail_{start,end} members from vm_physmem[] anymore.Miod Vallat
These values were used to eventually pass ranges to uvm_pglistalloc(), which has been fixed to correctly skip no-memory ranges a lot of time ago; however mvme68k would still use the computed range and osiop would no longer attach; this repairs it.
2009-06-04More fallback from struct disklabel changes, yawnMiod Vallat
2009-06-03add kern.bufcachepercent sysctl to allow adjusting the buffer cacheBob Beck
size on a running system. ok art@, oga@
2009-06-03Arla client rename from xfs to nnpfs for later upgrades. Tested on various ↵Janne Johansson
arches. ok todd@ beck@
2009-05-31Remove BUS_DMAMEM_NOSYNC definition. Its name is not consistent withMiod Vallat
other BUS_DMA_xxx flag names, and nothing uses it. ok many@
2009-05-31Fix definition of CL_FIFO_MAX to match what the hardware can do; this inMiod Vallat
turn fixes a stack smash in cl_rxintr().
2009-04-20Add a BUS_DMA_ZERO flag for bus_dmamem_alloc() to return zeroed memory.Owain Ainsworth
Saves every damned driver calling bzero(), and continues the M_ZERO, PR_ZERO symmetry.
2009-04-19Rename max_cpus to ncpusfound and compute it regardless of optionMiod Vallat
MULTIPROCESSOR.
2009-04-14Convert the waitok field of uvm_pglistalloc to "flags", more will be added soon.Owain Ainsworth
For the possibility of sleeping, the first two flags are UVM_PLA_WAITOK and UVM_PLA_NOWAIT. It is an error not to show intention, so assert that one of the two is provided. Switch over every caller in the tree to using the appropriate flag. ok art@, ariane@
2009-03-29make various strings ("can't map mem space" and similar) more consistentStuart Henderson
between instances, saving space in the kernel. feedback from many (some incorporated, some left for future work). ok deraadt, kettenis, "why not" miod.
2009-03-15Generic softinterrupt support for m88k based platforms, adapted from armMiod Vallat
with different locking mechanism. 88110 soft ipi are replaced with an ipi callback which is checked upon return from exception (it can not be kept as a softintr, as the generic softinterrupt code doesn't have per-cpu pending softintr queues).
2009-03-09Switch mvme88k to timecounters.Miod Vallat
2009-03-08Move more z8536 defines from MVME188 specific code to the MI header and use it.Miod Vallat
2009-03-07When allocating memory in bus_dmamem_alloc() with uvm_pglistalloc(), do notMiod Vallat
try to be smart for the address range, uvm_pglistalloc() is smart enough nowadays.
2009-03-05Change SMP secondary processor startup to have them ``hatch'' earlier,Miod Vallat
so that they can invoke sched_init_cpu() before the scheduler starts, which allows the horrible kluge in cpu_configure() to die.
2009-03-04Clean up the ipi code a bit and try to provide useful comments as well.Miod Vallat
2009-03-04When handling clock interrupts, check the overflow counter to know how manyMiod Vallat
times hardclock() needs to be invoked; fixes clock drift found on 197DP with SMP kernels.
2009-03-01Make more IPI synchronous. Performance slightly down, stability slightly up.Miod Vallat
ok deraadt@
2009-02-27Rework nmi handling to handle ``complex'' NMI faster, and return as fast asMiod Vallat
possible from the exception, without doing the AST and softintr dance. This should avoid too much stack usage under load. ok deraadt@
2009-02-27Be a bin more paranoid in m88410_inval() in the operation complete check.Miod Vallat
ok deraadt@
2009-02-21Move part of the mp lock logic into per-cpu callbacks; on MVME197DP we needMiod Vallat
to disable NMI sources in addition to interrupt sources, and we can not use a quick sequence with shadowing frozen as done for atomic ops. This lets GENERIC.MP boot multiuser on MVME197DP boards, and is so far stable enough to be able to recompile a kernel from scratch (with make -j2).
2009-02-21Get rid of 88110 nmi stacks. This was a good idea, but I outsmarted myselfMiod Vallat
since it was intended to service NMI occuring in user mode, and we could end up invoking preempt() and have another cpu start using this stack, with interesting results.
2009-02-20When looping to process external interrupts, do not complain (and panic)Miod Vallat
if another processors sends us an IPI, it will get handled later.
2009-02-20Let M188 kernel compile.Miod Vallat
2009-02-18Fix thinko in list traversal in vsbic_cmd_ccb().Miod Vallat
2009-02-17Pass a cpu_info * to setsoftipi() so it does not need to curcpu(), whichMiod Vallat
synchronizes the pipeline on 88110.
2009-02-17Be sure to pass a valid confargs * to child devices of vme0 when attaching,Miod Vallat
for they will attempt to dereference it and having NULL readable while in the kernel is just cheating.
2009-02-16More 88110 SMP work. Contains, horribly entangled:Miod Vallat
- dma_cachectl() split into a ``local cpu only'' and ``all cpus'', and an ipi to broadcast ``local dma_cachectl'' is added. - cpu_info fields are rearranged, to have the 88100-specific information and the 88110-specific information overlap, and has many more 88110 ugly things. - more ipi handling in the 197-specific area. Since it is not possible to have the second processor receive any hardware interrupt (selection is done on a level basis via ISEL, and we definitely do not want the main cpu to lose interrupts), the best we can do is to inflict ourselves a soft interrupt for late ipi processing. It gets used for softclock and hardclock on the secondary processor, but since the soft interrupt dispatcher doesn't have an exception frame, we have to remember parts of it to build a fake clockframe from the soft ipi handler (ugly but works). This now lets GENERIC.MP run a few userland binaries before bugs trigger.
2009-02-16Since NMI are now handled separately, remove the ``interrupt type'' argumentMiod Vallat
from interrupt() and related function pointers.
2009-02-16Extend the scsi_adapter minphys() callback to take a struct scsi_link *Miod Vallat
as additional argument. This will allow intermediate layers between scsi devices such as sd and scsi host adapters to take appropriate action if necessary.
2009-02-15Properly send a request sense command if the command status asks for it.Miod Vallat
2009-02-14Sync device lists with GENERIC.Miod Vallat
2009-02-14Add vsbic(4), a drive for the MVME327A SCSI and floppy controller, only forMiod Vallat
the SCSI part so far.
2009-02-14Fix a few defines.Miod Vallat
2009-02-13Use a different dispatcher for the NMI traps on 88110, these are tooMiod Vallat
different from regular hardware interrupts to be worth handling the same way. Disable IPI reception while we are handling pending IPIs. And do not reenable them by mistake if we need to send an IPI in return. This lets GENERIC.MP boot single user on a MVME197DP. There are still many bugs to fix.
2009-02-13Release the secondary processor initialization interlock a bit later,Miod Vallat
after the currently running processor has advertized itself as ready.
2009-02-13Allow IPIs on the secondary processors later in the bootstrap process, whenMiod Vallat
we are sure the NMI stack exists.
2009-02-13Provide a specific delay() routine using separate timers for the two cpusMiod Vallat
on MVME197DP boards running the MP kernel.
2009-02-13Make delay() a per-board function pointer.Miod Vallat
2009-02-12BPP routines for ``intelligent'' Motorola MVME boards. Currently not usedMiod Vallat
by anything, will eventually be used by the vx(4) MVME332 driver (once I take the time to fix it) and the vsbic(4) MVME327 driver being worked on.