Avoid some premature optimization in pmap_enter() and pmap_changebit(),
flushing the ATC entry for the VA when more bits other than the "critical"
cache-inhibit and write-protect bits change. We want to avoid a situation
where the ATC has a stale U or M bit that's been cleared from the PTE out
in RAM, which can lead to a situation where the U or M bit doesn't get
written back because the MMU doesn't think it's transitioned from 0 to 1.
Introduce a "busy" counter for each pmap. A pmap is considered busy when
either it is loaded into the MMU or if it is current involved in some
pmap operation.
This business indicator will be used in the future to identify potential
victims of resource theft when in resource-exhaustion situations.
Pull up following revision(s) (requested by nia in ticket #1253):
external/mit/ctwm/libexec/ctwm_app_menu: revision 1.7
ctwm_app_menu: Rewrite largely in awk for ~20-100x speedup.
Previously took ~2.5sec on my laptop, now 0.03sec.
Previously took ~10sec on a wiiu, now ~0.5sec.
Output is meant to be byte-for-byte identical, except possibly in
cases that could have screwed up ctwm by quoting shenanigans which
are now escaped. (I hope the escape sequences work, didn't actually
check how ctwm interprets them.) Can maybe support Exec line with
`"' in them by deleting some code (marked XXX) but I didn't test that
it actually works that way.
PR bin/59958: ctwm: long delay during ctwm_app_menu
Remove the __sync_val_compare_and_swap_[12] aliases from m68k and use
the new wrapper functions in
common/lib/libc/atomic/atomic_cas_{8,16}_cas.c
as all other that need these funcitions platforms do.
Pull up following revision(s) (requested by nia in ticket #256):
external/mit/ctwm/libexec/ctwm_app_menu: revision 1.7
ctwm_app_menu: Rewrite largely in awk for ~20-100x speedup.
Previously took ~2.5sec on my laptop, now 0.03sec.
Previously took ~10sec on a wiiu, now ~0.5sec.
Output is meant to be byte-for-byte identical, except possibly in
cases that could have screwed up ctwm by quoting shenanigans which
are now escaped. (I hope the escape sequences work, didn't actually
check how ctwm interprets them.) Can maybe support Exec line with
`"' in them by deleting some code (marked XXX) but I didn't test that
it actually works that way.
PR bin/59958: ctwm: long delay during ctwm_app_menu
Pull up following revision(s) (requested by nia in ticket #255):
distrib/notes/evbarm/install: revision 1.19
evbarm: Update install instructions.
Recommend using installboot to install u-boot.
Pull up following revision(s) (requested by jmcneill in ticket #254):
libexec/ld.elf_so/map_object.c: revision 1.70
libexec/ld.elf_so/arch/powerpc/fixup.c: revision 1.1
libexec/ld.elf_so/arch/powerpc/fixup.c: revision 1.2
libexec/ld.elf_so/rtld.h: revision 1.152
libexec/ld.elf_so/arch/powerpc/Makefile.inc: revision 1.18
libexec/ld.elf_so/Makefile: revision 1.154
This change adds the userspace portion of the IBM Espresso SMP fixup to the
netbsd-11 branch. This enables SMP-safeness of a netbsd-11 userland running
under a -current kernel on Wii U systems. Useful for eg. bulk builds in
chroots.
Pull up following revision(s) (requested by kim in ticket #253):
bin/df/df.c: revision 1.106
bin/df/df.c: revision 1.107
df: Add human-readable inode counts
df: Rename nbytes to value in prthumanval (not always bytes)
Pull up following revision(s) (requested by tsutsui in ticket #251):
external/mpl/bind/dist/lib/isc/jemalloc_shim.h: revision 1.6
PR/60150: Izumi Tsutsui: Increase alignment so that libuv can use the bottom
3 bits.
In the __HAVE_NEW_PMAP_68K case, use machine_bootmap[] to map the I/O
area VA==PA. With the Utah pmap, the I/O area was mapped at some
arbitrary KVA in pmap_bootstrap() and then double-mapped VA==PA in
mrg_init(). Initially, the new pmap case did this, as well, but then
mrg_init() blew up because no page tables were present for the address
it attempted to use. Now that pmap_bootstrap1() ensures that PTs are
allocated for FIXEDVA entries in machine_bootmap[], we can just have
the one mapping.
Confirmed by nat@ that this makes mac68k boot and run with the new
pmap, but there are still gremlins when running the X server.
Fix double free of hr_file (later handled by bozo_clean_request())
Also hr_file_free should be used for free(3) (it fixes "//~user/" case
in which hr_file points to the last slash in the prefix).
Move two functions from atomic_init_testset.c
sync_val_compare_and_swap_1 --> atomic_cas_8_cas.c
sync_val_compare_and_swap_2 --> atomic_cas_16_cas.c
this helps with pullups
libpthread: replace &pthread__cond_dummy with an artificial invalid pointer
a motivation is to make unexpected accesses trap.
this would also save a bit of memory and relocation. (at least on x86)
libpthread: retire struct waiter
two identical structures, struct waiter and struct pthread__waiter,
were introduced by a single commit in 2020.
("- Make pthread_condvar and pthread_mutex work on the stack...")
since then, they have always been assumed to be identical.
let's retire one of them and use a single copy.
no functional changes are intended.
makefs(8): improve fs-options documentation
Ensure all fs-options are documented, in alphabetical order.
Describe whether the option has a value (e.g., foo=str or foo=num),
and for numeric values describe the supported range.
Some markup consistency.
Remove my email from the man page.
revert the previous, it broke all the m68k, mips, and powerpc builds.
i had fixed most of the broken ones already, and i think thorpej has
fixed the sun2/sun3 builds that were remaining broken.