Age | Commit message (Collapse) | Author |
|
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
|
|
for claudio@ ok deraadt@
|
|
exactly the same the mi could will use if bufinit() is invoked with
bufpages == 0.
|
|
anymore. Get rid of it completely.
|
|
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.
|
|
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.
|
|
after c2k9
allows buffer cache to be extended and grow/shrink dynamically
tested by many, ok oga@, "why not just commit it" deraadt@
|
|
or'ed together, even on platforms where bus_space_barrier() ignores the
barrier argument yet.
|
|
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.
|
|
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
|
|
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.
|
|
|
|
size on a running system.
ok art@, oga@
|
|
arches. ok todd@ beck@
|
|
other BUS_DMA_xxx flag names, and nothing uses it.
ok many@
|
|
turn fixes a stack smash in cl_rxintr().
|
|
Saves every damned driver calling bzero(), and continues the M_ZERO,
PR_ZERO symmetry.
|
|
MULTIPROCESSOR.
|
|
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@
|
|
between instances, saving space in the kernel. feedback from many (some
incorporated, some left for future work).
ok deraadt, kettenis, "why not" miod.
|
|
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).
|
|
|
|
|
|
try to be smart for the address range, uvm_pglistalloc() is smart enough
nowadays.
|
|
so that they can invoke sched_init_cpu() before the scheduler starts,
which allows the horrible kluge in cpu_configure() to die.
|
|
|
|
times hardclock() needs to be invoked; fixes clock drift found on 197DP
with SMP kernels.
|
|
ok deraadt@
|
|
possible from the exception, without doing the AST and softintr dance.
This should avoid too much stack usage under load.
ok deraadt@
|
|
ok deraadt@
|
|
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).
|
|
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.
|
|
if another processors sends us an IPI, it will get handled later.
|
|
|
|
|
|
synchronizes the pipeline on 88110.
|
|
for they will attempt to dereference it and having NULL readable while
in the kernel is just cheating.
|
|
- 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.
|
|
from interrupt() and related function pointers.
|
|
as additional argument. This will allow intermediate layers between
scsi devices such as sd and scsi host adapters to take appropriate
action if necessary.
|
|
|
|
|
|
the SCSI part so far.
|
|
|
|
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.
|
|
after the currently running processor has advertized itself as ready.
|
|
we are sure the NMI stack exists.
|
|
on MVME197DP boards running the MP kernel.
|
|
|
|
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.
|