Age | Commit message (Collapse) | Author |
|
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.
|
|
kernel builds locally this doesnt change much but over NFS this
cuts about 12% of the build time on my setup (i386).
OK miod@, deraadt@.
|
|
cpu_disklabel can go away, since nothing anymore needs to use it; ok miod
|
|
Even if the latter would end up removing the mappings by itself, it would
do so using pmap_remove() because phys_map is not intrsafe; but some
platforms use pmap_kenter_pa() in vmapbuf(). By removing the mappings
ourselves, we can ensure the remove function used matches the enter function
which has been used.
Discussed and theoretical ok art@
|
|
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
|
|
|
|
|
|
|
|
routines (alpha, vax) prove to be not worth keeping. Move
bounds_check_with_label() into the MI world. Eliminate unreliable and
almost certainly useless checks for overwriting a disklabel.
After discussion with deraadt@
|
|
|
|
implimentations were simply either missing code, or spacing and such.
setdisklabel() can become MI now.
|
|
|
|
size which is the REAL DISK SIZE. always. if a driver fails to set
this right, please fix it. agreed with otto and krw
|
|
*_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.
|
|
there.
'so go to it!' deraadt@
|
|
type of all variables to daddr64_t. this includes the APIs for XXsize()
and XXdump(), all range checks inside bio drivers, internal variables
for disklabel handling, and even uvm's swap offsets. re-read numerous
times by otto, miod, krw, thib to look for errors
|
|
accuracy so that the variious disksubr.c's can be compared easier.
setdisklabel() starts taking an int for openmask.
ok krw, and read by quite a few other people
|
|
|
|
to size. tested on almost all machines, double checked by miod and krw
next comes the type handling surrounding these values
|
|
convert version 0 to version 1 disklabels.
Suggested by deraadt@.
ok deraadt@ otto@
|
|
subsystems were enabled. others used a *md_diskconf -> diskconf() method to
make sure init_main could "do late setroot". Change all architectures to
have diskconf(), use it directly & late. tested by todd and myself on most
architectures, ok miod too
|
|
bounds_check_with_label() routines as identical as possible without
changing any code. Code nits and adjustments to come.
|
|
|
|
bounds_check_with_label. All callers check for <= 0, so no functional
change.
Feedback from miod@.
ok weingart@
|
|
|
|
(and part of setroot); ok miod
|
|
free room in struct partition by packing fragment size and
fragments/block more tighlty and use the resulting space to make
offset and size 48 bits. For the disk part we use spare fields in
struct disklabel. Kernel converts in-mem copy of the on-disk
label if needed, disklabel(8) writes new version.
We are careful to only change fields not used by bootloaders.
Conception of basic scheme by deraadt.
ok deraadt@ krw@
|
|
preparation for translating all disk labels visible to the kernel to
the soon to arrive V1 format.
ok otto@ deraadt@
|
|
not the other stupid names. that feature was retarded. tested on a few
architectures by a few people
|
|
|
|
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@
|
|
|
|
ok pedro@
|
|
prompted by/ok dlg@ deraadt@
|
|
deraadt@ dlg@.
|
|
grudgingly ok deraadt@
|
|
oustside, seqencer, toghether, nessissary, etc.
|
|
splassert_ctl > 0 in __predict_false().
ok deraadt@
|
|
have cpu_info now, so kill the option.
eyeballed by jsg@ and grange@
|
|
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)
|
|
|
|
|
|
machines. Instead -- build one solid clean MI version, and thenchange all
the architectures to use it. ok various people, tested on almost all cases.
(it is a 10094 line diff..)
|
|
|
|
to separate locking, on most modern machines this is not enough
since operations on short types touch other short types that share the
same word in memory.
Merge pg_flags and pqflags again and now use atomic operations to change
the flags. Also bump wire_count to an int and pg_version might go
int as well, just for alignment.
tested by many, many. ok miod@
|
|
to "pg_flags" and "pg_version", so that they are a bit easier to work with.
Whoever uses generic names like this for a popular struct obviously doesn't
read much code.
Most architectures compile and there are no functionality changes.
deraadt@ ok ("if something fails to compile, we fix that by hand")
|
|
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
|