Age | Commit message (Collapse) | Author |
|
Crank the second stage boot blocks version.
|
|
|
|
|
|
rpc/pmap_prot.h collide.. "struct pmap" from the kernel should not make
it out to userland.
ok miod
|
|
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)
there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.
deraadt@, kettenis@ ok
|
|
cpu_disklabel can go away, since nothing anymore needs to use it; ok miod
|
|
to support hotplug media on most architectures. disklabel setup and
verification done using new helper functions. Disklabels must *always*
have a correct checksum now. Same code paths are used to learn on-disk
location disklabels, to avoid new errors sneaking in. Tested on almost all
cases, testing help from todd, kettenis, krw, otto, dlg, robert, gwk, drahn
|
|
mbuf constants from MD param.h to MI param.h.
Besides being the same on every arch, things will
most probly break if any arch has different values
then the others.
The NMBCLUSTERS constants needs to be MD though;
ok miod@,krw@,claudio@
|
|
splassert_ctl > 0 in __predict_false().
ok deraadt@
|
|
have cpu_info now, so kill the option.
eyeballed by jsg@ and grange@
|
|
|
|
|
|
option. Every architecture implements mutexes now.
|
|
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)
|
|
unconditionnaly.
|
|
pv_entry head of lists are no longer preallocated at boot, and will only be
allocated for managed pages (instead of all physical memory pages, including
those containing the kernel).
pmap and pv_entry will now be allocated from a pool, instead of malloc for the
former and a homegrown allocator which never relinquishes unused elements to
the VM system for the latter.
The net result is a slight decrease in memory usage, and better behaviour in
low-memory conditions.
|
|
djm@
|
|
|
|
__BUS_SPACE_ALIGNED_ADDRESS.
|
|
Not enough for multiprocessor, but we're not there yet anyway.
|
|
No functional change.
|
|
|
|
it's a good idea to use atomic.h operations on it. This mechanic
change updates all bit operations on p_flag to atomic_{set,clear}bits_int.
Only exception is that P_OWEUPC is set by MI code before calling
need_proftick and it's automatically cleared by ADDUPC. There's
no reason for MD handling of that flag since everyone handles it the
same way.
kettenis@ ok
|
|
rt and such; tested and ok miod drahn
|
|
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
|
|
use of MD spl code bowels. No functional change.
|
|
statclock(), do not bother doing this in userret() anymore. As a result,
userret() does not need its pc and ticks arguments, simplify.
|
|
|
|
for cpu_swapin() on hppa* which is kept).
|
|
|
|
console works on color model, serial console works, ethernet attaches but
does not work correctly yet.
|
|
instead.
|
|
outputs; from NetBSD
|
|
Register information from NetBSD (except for KA53), logic from OpenBSD/sparc.
|
|
attachment information to mainbus children. Makes it much cleaner to
attach both ibus and vsbus on those machines.
|
|
|
|
|
|
makes uvm_page.o smaller.
|
|
|
|
|
|
operation. Will allow a vax implementation of splassert().
|
|
|
|
|
|
found by drahn@
|
|
|
|
|
|
|
|
all architectures.
|
|
architectures. They are now defined as unsigned long, long, long
and unsigned long respectively.
|
|
|