Age | Commit message (Collapse) | Author |
|
after it was published. In particular, they changed the maximum cache
aliasing boundary from 1MB to 16MB.
It turns that on the PA-8700 the aliasing boundary is actually 4MB
(reported as such by the firmware at least). There are some comments
in the Linux code that suggest that HP never actually built PA-RISC
CPUs with an 8MB or 16MB aliasing boundary.
So raise the aliasing boundary to 4MB. This fixes the weird ps(1) problem
where it didn't print its own arguments correctly.
|
|
- math.h shouldn't define FLT_EVAL_METHOD, but float.h should (per
C99). remove from math.h, and add proper definitions in float.h
ok millert@
|
|
Right now when mi_switch picks up the same proc, we didn't clear the
flag which would mean that every time we service an AST we would attempt
a context switch. For some architectures, amd64 being probably the
most extreme, that meant attempting to context switch for every
trap and interrupt.
Now we clear_resched explicitly after every context switch, even if it
didn't do anything. Which also allows us to remove some more code
in cpu_switchto (not done yet).
miod@ ok
|
|
and signal handlers.
ok kettenis@
|
|
Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.
OK deraadt@
|
|
|
|
|
|
ok miod@, deraadt@
|
|
|
|
rpc/pmap_prot.h collide.. "struct pmap" from the kernel should not make
it out to userland.
|
|
|
|
- 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
|
|
uvm_extern.h where needed
|
|
the holes a MMU may have from a given vm_map. This will be automagically
invoked for newly created vmspaces.
On platforms with MMU holes (e.g. sun4, sun4c and vax), this prevents
mmap(2) hints which would end up being in the hole to be accepted as valid,
causing unexpected signals when the process tries to access the hole
(since pmap can not fill the hole anyway).
Unfortunately, the logic mmap() uses to pick a valid address for anonymous
mappings needs work, as it will only try to find an address higher than the
hint, which causes all mmap() with a hint in the hole to fail on vax. This
will be improved later.
|
|
from thos that are exclusively accessed using virtual addresses and add
padding between them to make sure they don't share a cache line. Fixes
random crashes on at least PA-8700 and PA-7200 based machines. Without this,
the PA-7200 based C110 wouldn't stay up long enough to do an install.
ok miod@
|
|
|
|
sysctl.
|
|
|
|
|
|
The variety of different serial devices is just too big to make a decision up
front. This should make the second serial port on four-digit B/C/J-class
workstation work as a serial console too.
ok miod@
|
|
|
|
|
|
cpu_disklabel can go away, since nothing anymore needs to use it; ok miod
|
|
the unneeded info when done with it. Another empty struct cpu_disklabel.
ok deraadt@
|
|
cpu_disklabel's. 'labelsector' is not used anywhere according to grep.
'go for it' deraadt@
|
|
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
|
|
*_LABELOFFSET. Don't use osdep->labelsector since it will always be
LABELSECTOR, since we don't support extended DOS partitions holding
the OpenBSD disk label.
No functional change. Now only Alpha and Vax bounds_check_with_label
differ by more than comments.
|
|
ok martin@
|
|
ok miod@
|
|
workstations.
tested by otto@, krw@; ok deraadt@
|
|
splassert_ctl > 0 in __predict_false().
ok deraadt@
|
|
have cpu_info now, so kill the option.
eyeballed by jsg@ and grange@
|
|
but deraadt@ insists this goes in now.
|
|
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)
|
|
input from miod@, ok kettenis@
|
|
|
|
|
|
unconditionnaly.
|
|
softintr(); ok mickey@
|
|
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
|
|
|
|
"The dosparts member of cpu_disklabel was not used for any persistant
data. Eliminate it, and just use the data being read in while
processing MBR and EBR records.
Should be no functional change.
ok weingart@ deraadt@"
|
|
some architectures (kaboom); that will be fixed in the next iteration
hopefully!
|
|
data. Eliminate it, and just use the data being read in while
processing MBR and EBR records.
Should be no functional change.
ok weingart@ deraadt@
|
|
a few obsolete and easily replaced disk models. And didn't work anyway
according to Bob, who has tried.
ok beck@
|
|
in the six cases using "512".
As DEV_BSHIFT is always 9, this should be a no-op.
"no objections" miod@ "I can't see any problem doing this." pedro@
|
|
DOS MBR' logic.
Leave DOS MBR logic inside #if defined(DISKLABEL_I386) blocks until
impact on install media can be evaluated. Eliminates most remnants
of cross-endian, cross-architecture disklabel processing attempts.
Fix some mips64 issues with last commit, found by kettenis@.
No functional change.
|