Link [ NetBSD | NetBSD OpenGrok source search | PR fulltext-search | Summary of daily snapshot builds | history of daily build result | pkgsrc commit viewer ]


   
        usage: [branch:branch] [user:user] [path@revision] keyword [... [-excludekeyword [...]]] (e.g. branch:MAIN sys/arch/arm, if_wm.c@1.234 )




switch to index mode

recent branches: MAIN (14m)  netbsd-8 (6d)  netbsd-10 (6d)  netbsd-9 (12d)  thorpej-ifq (176d)  thorpej-altq-separation (178d) 

2024-05-10 21:58:04 UTC Now

2021-05-31 21:45:41 UTC MAIN commitmail json YAML

2021-05-31 21:44:20 UTC MAIN commitmail json YAML

2021-05-31 21:31:34 UTC MAIN commitmail json YAML

PR toolchain/55837

Stop using enum for flags, as per request from joerg.

#define constants and #undef after use.

(rin)

2021-05-31 17:22:45 UTC MAIN commitmail json YAML

Additional comment about the range (0-1025) that's needed for the PT page
reference count, and thus now many bits we need to scare up.

(thorpej)

2021-05-31 17:16:05 UTC MAIN commitmail json YAML

After a comment by joerg@, go back to using a dedicated field for the
PT page reference count, but add an XXX comment stating the desire to
find a safely-unused field in the vm_page structure when pages are in-
use as PT pages, so that we can save the 8 bytes per page needed for
this.

(thorpej)

2021-05-31 14:38:57 UTC MAIN commitmail json YAML

2021-05-31 12:24:15 UTC MAIN commitmail json YAML

Use <sys/param.h> in the synopsis rather than <machine/param.h>; an MI
interface should be pulled in via <sys/...>.

(simonb)

2021-05-31 12:12:24 UTC MAIN commitmail json YAML

PR toolchain/55837

Bump LAST_REGISTER and LAST_RESTORE_REG to REGNO_ARM32_S31 for arm.

There are two numbering schemes for VFPv2 registers: s0-s31 and d0-d15.
The former is used by GCC, and the latter is by LLVM. Since libunwind was
derived from LLVM, it has never supported the former. This results in
crashes for GCC-compiled binaries in exception handler of C++, if it
encounters VFPv2 registers when unwinding frames.

This commit adds support for s0-s31 numbering to libunwind. I choose an
implementation in which VFPv2 registers are ``double-counted'' as s0-s31
AND d0-d15. This does not cause real problems, since the former is only
used by GCC, and the later is by LLVM. That is, different numbering
schemes cannot appear in a same frame. To make sure, assertions are added
in order to check this.

I've confirmed that no regression for ATF both for GCC- and LLVM-compiled
userlands.

(rin)

2021-05-31 11:57:28 UTC MAIN commitmail json YAML

PR toolchain/55837

Fix logic error in copyFloatVectorRegister() for arm; copy s0-s31 or
d0-d31, not both.

(rin)

2021-05-31 11:54:01 UTC MAIN commitmail json YAML

PR toolchain/55837

Fix pointer arithmetic when copying s0-s31 registers for arm.

(rin)

2021-05-31 11:50:43 UTC MAIN commitmail json YAML

PR toolchain/55837

Fix DWARF/internal register numbers of s31 for arm.

(rin)

2021-05-31 11:47:18 UTC MAIN commitmail json YAML

PR toolchain/55837

Fix for jumpto() armeb; use word-wise load for flags, instead of byte-wise one.

(rin)

2021-05-31 11:44:07 UTC MAIN commitmail json YAML

PR toolchain/55837

copyFloatVectorRegister(): Assert register number is valid to make sure.

(rin)

2021-05-31 11:41:22 UTC MAIN commitmail json YAML

PR toolchain/55837

Misc style fixes for clarity:

- Rename lazyVFP1() and lazyVFP3() to lazyVFPv2() and lazyVFPv3(),
  respectively. Note that VFPv1 was obsoleted and replaced by VFPv2.

- Introduce enum for flags.

- Add few comments.

No functional changes.

(rin)

2021-05-31 11:12:42 UTC MAIN commitmail json YAML

Generalize boot.cfg workaround for ISO9660; fallback to default_device
whenever efi_file_path() fails (due to broken firmware), in addition to
the case of ISO9660 (for which efi_file_path() succeeds but does not
work correctly).

(rin)

2021-05-31 10:57:02 UTC MAIN commitmail json YAML

uvm: Make uvm_extern.h (more) self-contained, needs sys/types.h.

(riastradh)

2021-05-31 10:33:04 UTC MAIN commitmail json YAML

2021-05-31 07:59:02 UTC MAIN commitmail json YAML

2021-05-31 02:10:37 UTC MAIN commitmail json YAML

MIPS n64 dynamic binaries have worked for a while now, remove -static
for these.

(simonb)

2021-05-31 00:04:15 UTC MAIN commitmail json YAML

2021-05-30 22:24:36 UTC MAIN commitmail json YAML

2021-05-30 21:48:42 UTC MAIN commitmail json YAML

Minimal change to suppress unaligned access errors on NetBSD/alpha; add
the UNALIGNED decoration to icmp6 related structures.

PR bin/56199.

(thorpej)

2021-05-30 21:16:54 UTC MAIN commitmail json YAML

make: inline str_concat4

This function is only ever used for forming strings of the form
"archive(member)".

No functional change.

(rillig)

2021-05-30 21:03:09 UTC MAIN commitmail json YAML

make: fix reported code coverage for *.h

In 'make test-coverage', the number of uncovered lines for inline
functions in headers was reported too high.  The cause for this is that
gcov reports the coverage for these functions multiple times, once per
translation unit.  If some of the translation units don't use these
inline functions, summing the lines containing '#####' quickly leads to
numbers that are obviously too high.

(rillig)

2021-05-30 21:01:43 UTC MAIN commitmail json YAML

Minimal change to suppress unaligned access errors on NetBSD/alpha; add
the UNALIGNED decoration to struct icmp.

PR bin/56199.

(thorpej)

2021-05-30 20:41:34 UTC MAIN commitmail json YAML

make: uncompress code in ApplyModifier_Unique

The algorithm is easier to understand when each line of code only
focuses on a single topic.

No change to the resulting binary, except for line numbers in assertion
messages.

(rillig)

2021-05-30 20:31:03 UTC MAIN commitmail json YAML

make: inline VarUniq into ApplyModifier_Unique

No functional change.

(rillig)

2021-05-30 20:26:42 UTC MAIN commitmail json YAML

tests/make: test whitespace normalization for modifier ':u'

(rillig)

2021-05-30 19:50:23 UTC MAIN commitmail json YAML

2021-05-30 19:46:21 UTC MAIN commitmail json YAML

Fix unused variable warning when DIAGNOSTIC is disabled.  Pointed out
by jklos.

(thorpej)

2021-05-30 19:41:59 UTC MAIN commitmail json YAML

2021-05-30 16:25:35 UTC MAIN commitmail json YAML

avoid dereferencing a constant string address as a UINT32 pointer,
KUBSAN complains about bad alignment.

Reported-by: syzbot+91187f4e33436ce83e56@syzkaller.appspotmail.com

(chs)

2021-05-30 14:06:37 UTC MAIN commitmail json YAML

When removing mappings, hang PV entries to be freed off of the
pmap_tlb_context structure, and free them back in bulk after we
release all of our locks (as we do with PT pages that are freed).

(thorpej)

2021-05-30 13:34:21 UTC MAIN commitmail json YAML

Keep track of a pmap's PV entries with a list hanging off the pmap.

(thorpej)

2021-05-30 13:20:01 UTC MAIN commitmail json YAML

synaptics(4): New sysctl knob for debug output.

Set hw.synaptics.debug=1 to re-enable it; the compile-time DIAGNOSTIC
option was inappropriate for this.

(riastradh)

2021-05-30 11:24:11 UTC MAIN commitmail json YAML

thinkpad(4): Fix evaluation of MHKA on version 2 devices.

Need to pass an argument.

(riastradh)

2021-05-30 11:24:02 UTC MAIN commitmail json YAML

ld(4): Block requests while suspended until resumed.

Otherwise nothing stops us from continuing to feed I/O to the disk
controller when it expects that the queues are quiesced as it pokes
registers to change its power states.  Fixes resume during disk
activity on my T480 with nvme.

(riastradh)

2021-05-30 10:39:41 UTC MAIN commitmail json YAML

PR port-amiga/56188

Include a prototype for __nbcompat_heapsort. The tools for amiga now
build on Darwin where one Amiga specific tool uses heapsort.

Despite being a one-liner, ./build.sh -m amiga tools was tested on
NetBSD, Darwin, FreeBSD & Linux with the change.

Discussed various options with jdc & thorpej. Perhaps in the future
we could look at using qsort instead of heapsort as qsort is
standardised and more likely to be available. We could then remove
heapsort from the compatibility library.

(cjep)

2021-05-30 09:54:56 UTC MAIN commitmail json YAML

Bump image size slightly (for gcc 10)

(martin)

2021-05-30 07:20:00 UTC MAIN commitmail json YAML

Include opt_param.h for MSGBUFSIZE ifdef _KERNEL_OPT.

(rin)

2021-05-30 07:17:01 UTC MAIN commitmail json YAML

signal.7: minor clarification. Bump date (to when I wrote the change)

(dholland)

2021-05-30 06:53:15 UTC MAIN commitmail json YAML

2021-05-30 06:46:46 UTC MAIN commitmail json YAML

2021-05-30 06:41:19 UTC MAIN commitmail json YAML

Store the modified / referenced attribute bits in the lower 2 bits of
the PV entry list pointer in struct vm_page_md.  This reduces the size
of that structure from 16 bytes to 8, and will go a fair way to making
up for increasing the size of struct pv_entry in a future commit.

(thorpej)

2021-05-30 06:05:24 UTC MAIN commitmail json YAML

Add "root" command to pass a root specification.

(mlelstv)

2021-05-30 05:59:23 UTC MAIN commitmail json YAML

2021-05-30 05:40:57 UTC MAIN commitmail json YAML

Fix conversion between aarch64 and aarch32 fpreg's; in aarch32 mode,
d0-d31 are packed into v0-v15 (== q0-q15).

This fixes crashes in VFP-optimized codes running on COMPAT_NETBSD32.

OK ryo

(rin)

2021-05-30 05:26:09 UTC MAIN commitmail json YAML

Define a macro, VM_MDPAGE_PVS(), for fetching the first pv entry
for a page.

(thorpej)

2021-05-30 04:04:27 UTC MAIN commitmail json YAML

Pages that are in-use as page table pages should never be part of a
UVM loan transaction, so use the vm_page::loan_count field as the PT
page reference count.

(thorpej)

2021-05-30 03:31:45 UTC MAIN commitmail json YAML

2021-05-30 02:58:42 UTC LLVM commitmail json YAML

src/external/apache2/llvm/dist/clang/.arcconfig deleted
src/external/apache2/llvm/dist/clang/docs/AttributeReference.rst deleted
src/external/apache2/llvm/dist/clang/docs/DiagnosticsReference.rst deleted
src/external/apache2/llvm/dist/clang/include/clang/Basic/BuiltinsLe64.def deleted
src/external/apache2/llvm/dist/clang/include/clang/Basic/FixedPoint.h deleted
src/external/apache2/llvm/dist/clang/include/clang/Basic/SanitizerBlacklist.h deleted
src/external/apache2/llvm/dist/clang/include/clang/Driver/CC1Options.td deleted
src/external/apache2/llvm/dist/clang/include/clang/Driver/CLCompatOptions.td deleted
src/external/apache2/llvm/dist/clang/include/clang/Serialization/Module.h deleted
src/external/apache2/llvm/dist/clang/include/clang/StaticAnalyzer/Core/IssueHash.h deleted
src/external/apache2/llvm/dist/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h deleted
src/external/apache2/llvm/dist/clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistration.h deleted
src/external/apache2/llvm/dist/clang/include/clang/Tooling/Core/Lookup.h deleted
src/external/apache2/llvm/dist/clang/lib/AST/Interp/Block.cpp deleted
src/external/apache2/llvm/dist/clang/lib/AST/Interp/Block.h deleted
src/external/apache2/llvm/dist/clang/lib/Basic/FixedPoint.cpp deleted
src/external/apache2/llvm/dist/clang/lib/Basic/SanitizerBlacklist.cpp deleted
src/external/apache2/llvm/dist/clang/lib/Frontend/FrontendTiming.cpp deleted
src/external/apache2/llvm/dist/clang/lib/Headers/openmp_wrappers/__clang_openmp_math.h deleted
src/external/apache2/llvm/dist/clang/lib/Headers/openmp_wrappers/__clang_openmp_math_declares.h deleted
      :
(more 525 files)
Remove files no longer used by 249b40b558955afe5ac2b549edcf2d7f859c8cc9

(joerg)

2021-05-30 02:37:42 UTC MAIN commitmail json YAML

Note that compat_60 modules on i386 and amd64 once again include the
microcode-update functionality.

(pgoyette)

2021-05-30 02:29:24 UTC MAIN commitmail json YAML

Drop a number of entries that no longer apply.

(joerg)

2021-05-30 02:28:59 UTC MAIN commitmail json YAML

Don't use V8 atomic instruction for AA32 mode.

(joerg)

2021-05-30 02:28:35 UTC MAIN commitmail json YAML

address-of-packed-member warning is no longer a problem here.

(joerg)

2021-05-30 02:26:51 UTC MAIN commitmail json YAML

Drop explicit -msecure-plt, it's the default for both clang and gcc.

(joerg)

2021-05-30 02:26:08 UTC MAIN commitmail json YAML

Don't use the return address hack with clang.

(joerg)

2021-05-30 02:24:05 UTC MAIN commitmail json YAML

Don't warn about frame pointer use for clang either.

(joerg)

2021-05-30 02:23:25 UTC MAIN commitmail json YAML

Always use C++17 string_view, the emulation is just broken.

(joerg)

2021-05-30 02:22:19 UTC MAIN commitmail json YAML

Ignore pointer sign cast issues with clang.

(joerg)

2021-05-30 02:20:09 UTC MAIN commitmail json YAML

Ignore pointer cast warnings for clang, too. Use -Wno-format more
selectively.

(joerg)

2021-05-30 01:57:00 UTC MAIN commitmail json YAML

Update LLVM build system for 249b40b558955afe5ac2b549edcf2d7f859c8cc9

This enables the use of modules for a significant build performance gain
when building with clang as host compiler or when using HAVE_LLVM=yes.
Switch libc++ to using the copy from the mono-repo.

(joerg)

2021-05-30 01:53:31 UTC MAIN commitmail json YAML

2021-05-30 01:41:45 UTC MAIN commitmail json YAML

Track the PT pages allocated to a pmap in the pmap itself.

(thorpej)

2021-05-30 01:24:19 UTC MAIN commitmail json YAML

Change pmap_physpage_alloc() to return the vm_page * so that the
callers have access to it.

(thorpej)

2021-05-30 00:34:27 UTC MAIN commitmail json YAML

Define a pmap_pagelist LIST_HEAD and use it where we used ad hoc LIST_HEADs
of vm_page structures.  Define and use a generic routine to free such a list
back to UVM.

In pmap_remove_internal(), KASSERT that no PT pages are queued up to be
freed when removing mappings from the kernel pmap.

(thorpej)

2021-05-30 00:19:09 UTC MAIN commitmail json YAML

Cast to enums via uintptr_t to avoid compiler warnings.

(joerg)

2021-05-30 00:17:20 UTC MAIN commitmail json YAML

Unindent code to match the logical structure, ignoring the commented out if.

This code should be rewritten to use BUS_DMA_WAITOK, but that's a
project of its own.

(joerg)

2021-05-30 00:12:31 UTC MAIN commitmail json YAML

2021-05-29 23:46:14 UTC MAIN commitmail json YAML

Handle recent ifconfig(8) outputs in the miniroot installation script.

- Remove netmask slash notation for IP addresses,
  which has been changed between NetBSD 7.x and 8.0:
  http://cvsweb.netbsd.org/bsdweb.cgi/src/sbin/ifconfig/af_inet.c#rev1.24
- Ignore inet6 entries, which miniroot scripts don't support

Should be pulled up to netbsd-9 and netbsd-8.

(tsutsui)

2021-05-29 23:27:22 UTC MAIN commitmail json YAML

Move the pointer to the pmap's lev1map out of the shared pmap structure
and into each CPU's pmap_percpu area.  This pointer is constant for the
life of the pmap, and moving it gives us an additional 8 bytes in the
shared pmap structure.

Because the kernel pmap does not have per-CPU data, all places where we
need the kernel pmap's lev1map now just reference kernel_lev1map directly.

(thorpej)

2021-05-29 22:52:35 UTC MAIN commitmail json YAML

Reduce diffs from GENERIC for maintainability.

No functional change intended.

(tsutsui)

2021-05-29 22:50:18 UTC MAIN commitmail json YAML

Reorder entries and reorganize comments for maintainability.

No functional change intended.

(tsutsui)

2021-05-29 22:14:09 UTC MAIN commitmail json YAML

Rather than tracking "needs I-sync on return to userspace" in a bitmap,
track it with a separate field in the pmap_percpu.  Not only does this
reduce cache line contention ever so slightly, it also frees up a field
in the shared portion of the pmap structure.

(thorpej)

2021-05-29 21:54:51 UTC MAIN commitmail json YAML

Rename pmap_asn_info to pmap_percpu, and pmap::pm_asni to pmap::pm_percpu.
No functional change.

(thorpej)

2021-05-29 21:08:44 UTC MAIN commitmail json YAML

Reduce maxusers to 8 as GENERIC.

Should be pulled up to netbsd-9 and netbsd-8.

(tsutsui)

2021-05-29 21:06:20 UTC MAIN commitmail json YAML

Add missed 'nhpib at intio' for internal HP-IB.  Found on testing HPDisk.

Also fix comments for HP-IB devices.
Should be pulled up to netbsd-8 and netbsd-9.

(tsutsui)

2021-05-29 19:03:08 UTC MAIN commitmail json YAML

Document netbsd-GENERIC.QEMU.gz

(thorpej)

2021-05-29 18:48:46 UTC MAIN commitmail json YAML

Provide a binary/kernel/netbsd-GENERIC.QEMU.gz in the Alpha release
hierarchy.  This is identical to netbsd-GENERIC, except it has been
dbsym'd so that the kernel symbols are available when running under
Qemu (which loads the kernel directly, but does not load the symbol
table).

(thorpej)

2021-05-29 17:41:51 UTC MAIN commitmail json YAML

first check, then copy

(christos)

2021-05-29 16:51:25 UTC MAIN commitmail json YAML

2021-05-29 16:49:57 UTC MAIN commitmail json YAML

2021-05-29 16:49:49 UTC MAIN commitmail json YAML

thinkpad(4): Add dtrace probe for hotkey events.

(riastradh)

2021-05-29 16:49:39 UTC MAIN commitmail json YAML

thinkpad(4): Attach at LEN0268 with v2 Thinkpad hotkeys too.

(riastradh)

2021-05-29 16:49:30 UTC MAIN commitmail json YAML

xhci(4): Wait USB_RESUME_WAIT ms, not 20 ms.

Better to use the named constant, and although the spec says 20 ms is
enough, apparently for some devices it's not.

(riastradh)

2021-05-29 13:08:08 UTC MAIN commitmail json YAML

use libera.chat-hosted kiwiirc

(maya)

2021-05-29 12:35:27 UTC MAIN commitmail json YAML

2021-05-29 12:25:08 UTC MAIN commitmail json YAML

Switch mac68k to Xorg server 1.20. Only available driver is wsfb(4) both
for 1.10 and 1.20, and there is no reason to stay with 1.10.

XXX
1.20 works fine on WSFB* kernels with genfb(4), whereas both 1.10 and
1.20 fail for GENERIC* kernels with macfb(4) as some mandatory ioctl's
are missing. It would be better to make genfb(4) default before netbsd-10
is branched.

(rin)

2021-05-29 12:15:32 UTC MAIN commitmail json YAML

Make wskbd(4) default for mac68k; no other protocol is available.

(rin)

2021-05-29 12:03:34 UTC MAIN commitmail json YAML

Put the MSGBUFSIZE option in opt_param.h so that changes of its setting
in kernel config files will be picked up automatically without needing
a "make clean".  Added to opt_param.h since ports define their default
MSGBUFSIZE settings in their <arch/include/param.h> (or equivalent).

(simonb)

2021-05-29 10:48:23 UTC MAIN commitmail json YAML

nvme(4): Move disestablishment of admin q interrupt to nvme_detach.

Nothing re-established this after suspend/resume, so attempting
suspend/resume/suspend would crash, and presumably we would miss
interrupts after resume.  This keeps the establish/disestablish more
symmetric in attach/detach.

(riastradh)

2021-05-29 09:50:04 UTC MAIN commitmail json YAML

2021-05-29 09:47:28 UTC MAIN commitmail json YAML

dwiic(4): Attribute output correctly and relegate to debug-level.

Tidy up a little while here.

(riastradh)

2021-05-29 09:11:41 UTC MAIN commitmail json YAML

aiomixer: remove workaround for libcurses bug

(nia)

2021-05-29 09:11:14 UTC MAIN commitmail json YAML

wresize: don't bound pads to the size of the screen

allows avoiding a workaround in aiomixer,

ok blymn uwe

(nia)

2021-05-29 08:46:38 UTC MAIN commitmail json YAML

2021-05-29 08:45:38 UTC MAIN commitmail json YAML

i915drmkms: Fix LOCKDEBUG panic and potential deadlock.

This path is taken with a spin lock held, and possibly even in
interrupt context, where taking vmobjlock is not kosher, but we are
guaranteed to have the queue populated and unchanging.

XXX pullup-9

(riastradh)

2021-05-29 08:45:29 UTC MAIN commitmail json YAML

tpm(4): Handle TPM 2.0 random source too, and loop on short reads.

Tested on ThinkPad T480.

(riastradh)

2021-05-29 08:45:19 UTC MAIN commitmail json YAML

ualea(4): Null suspend/resume handler.

(riastradh)

2021-05-29 06:54:20 UTC MAIN commitmail json YAML

Deal with the pmap limitation of maxproc in a more complete way and
recognise CPUs with only 8bit ASIDs.

(skrll)

2021-05-29 06:37:22 UTC MAIN commitmail json YAML

2021-05-29 02:58:38 UTC MAIN commitmail json YAML

report to the scheduler if we have different speed cpus.

(mrg)

2021-05-28 13:55:25 UTC MAIN commitmail json YAML

PR 55413: 64-bit and OK police; grammar improvements.
From Michael Siegel.

(martin)

2021-05-28 07:33:02 UTC MAIN commitmail json YAML

Add ixg* (commented out). Tested with rin@'s AlphaServer DS10.

(msaitoh)

2021-05-28 05:42:07 UTC MAIN commitmail json YAML

2021-05-28 03:55:46 UTC MAIN commitmail json YAML

I don't see any code I wrote left in here.

(dholland)

2021-05-28 03:55:08 UTC MAIN commitmail json YAML

Restore return value of main, arbitrarily thrown away in -r1.4.

(dholland)

2021-05-28 00:18:27 UTC MAIN commitmail json YAML

Update R6000 description.

(simonb)

2021-05-27 22:11:31 UTC MAIN commitmail json YAML

The Tsunami / Typhoon chipsets have a static "monster window" for DMA
that allows for up to 32GB of RAM to be direct-mapped if the PCI device
can issue a 64-bit address (the monster window lives at 0x10000000000).
Enable this window and provide this to the PCI bus as a "dmat64".

(thorpej)

2021-05-27 22:05:25 UTC MAIN commitmail json YAML

Define the arithmetic exception summary bits passed in a0 to entArith.

(thorpej)

2021-05-27 21:03:26 UTC MAIN commitmail json YAML

kre@ does not like the subshell :-)

(christos)

2021-05-27 21:02:56 UTC MAIN commitmail json YAML

mips has switched already.

(christos)

2021-05-27 20:29:24 UTC MAIN commitmail json YAML

mips64 only works with gcc-10

(christos)

2021-05-27 20:20:43 UTC MAIN commitmail json YAML

2021-05-27 20:20:22 UTC MAIN commitmail json YAML

Don't define MaxClip and junk twice, fixing build with -fno-common.

(joerg)

2021-05-27 17:41:28 UTC MAIN commitmail json YAML

switch to MACHINE_ARCH i386 to include xen (thanks mlelstv)

(christos)

2021-05-27 17:13:20 UTC MAIN commitmail json YAML

Switch "xen" to gcc 10 too, otherwise xen kernel builds fail because they
"think" we have gcc-9 where we have gcc-10 in reality (since MACHINE=xen),
and we don't add ${GCC_NO_RETURN_LOCAL_ADDR} COPTS.in_pcb.c

(christos)

2021-05-27 15:47:42 UTC MAIN commitmail json YAML

2021-05-27 15:00:02 UTC MAIN commitmail json YAML

Rename the unhelpfully named mips_emul_lwc0() and mips_emul_swc0() to
mips_emul_ll() and mips_emul_sc(); make these static to mips_emul.c.

(simonb)

2021-05-27 13:40:38 UTC MAIN commitmail json YAML

Simplify; no need to special case the small buffer zero src_len.
lla_snprintf1 never returns -1.

(christos)

2021-05-27 13:36:33 UTC MAIN commitmail json YAML

Don't use the stack, print to the buffer directly (this was one of the
biggest stack users).

(christos)

2021-05-27 13:32:54 UTC MAIN commitmail json YAML

Print the CP0 status register too in the debug trap code.

(simonb)

2021-05-27 11:24:58 UTC MAIN commitmail json YAML

remove dup line (thanks rillig)

(christos)

2021-05-27 11:09:15 UTC MAIN commitmail json YAML

Fix error handling botch in 1.138. Thanks to jmcneill@ for spotting it.

(skrll)

2021-05-27 10:44:29 UTC MAIN commitmail json YAML

Honour USBMALLOC_ZERO when reusing blocks from the freelist.

From sc.dying on tech-kern

(jmcneill)

2021-05-27 08:58:29 UTC MAIN commitmail json YAML

Remove nfs_putpages() prototype; it's not defined anywhere.

(simonb)

2021-05-27 08:43:02 UTC MAIN commitmail json YAML

Switch arm64.img to big-endian for aarch64eb, as libsa/efiboot support
bi-endian FFS/disklabel now.

Many thanks to mrg@ for working on this!!

(rin)

2021-05-27 08:41:35 UTC MAIN commitmail json YAML

If we are building date earlier, we need to use an uninstalled copy
of host-mkdep and libnbcompat otherwise the build process looks for
tools that might not be there yet (e.g. fresh build).
Reviewed by martin.

(cjep)

2021-05-27 07:23:04 UTC MAIN commitmail json YAML

sparc raid boot was 2006 (i had it right originally.)  noted by jdc.

(mrg)

2021-05-27 07:05:26 UTC MAIN commitmail json YAML

Use \(em. Remove superfluous Pp.

(wiz)

2021-05-27 07:03:27 UTC MAIN commitmail json YAML

Avoid using Pq.

In this case, the parentheses were wrong when a line was extended.

(wiz)

2021-05-27 07:01:23 UTC MAIN commitmail json YAML

updated latest date for GCC.

(mrg)

2021-05-27 06:59:39 UTC MAIN commitmail json YAML

note recent raid and GCC updates.

(mrg)

2021-05-27 06:58:27 UTC MAIN commitmail json YAML

switch mips* and i386 to GCC 10.

arm32 (significant issues remaining), m68k (seems fine, but x68k
needs to reduce support in loadbsd), and sh3 remaining.

(mrg)

2021-05-27 06:54:45 UTC MAIN commitmail json YAML

add bi-endian support to the libsa ufs reader and enable it in efiboot.

ffs frontends to "ufs.c" now also define ufs_dinode_swap, ufs_indp_swap,
and FS_MAGIC (moved from ufs.c #if segments.)  these are used to call
the right (32/64 bit) ffsv1/v2 version.

ufs.c 'struct file' gains f_swapped member.  accessors for d_magic,
d_reclen, and d_ino are introduced (they need to be swapped.)  sfter
reading an inode from disk, read_inode() may call ufs_dinode_swap().
indirect block number and caches may be swapped.

error handling in ffs_find_superblock() is cleaned up.  (size is slightly
reduced on some ports with this part.)

defaults for new defines added to ufs.c.  (XXX: we build ufs.c but i think
all the consumers don't use it, and we can stop building it.)

LFS support is not included.

add a cut-down copy of ffs_bswap.c from the kernel.

also enable bi-endian disklabel support in efiboot.

most ports build and sizes compared for platforms that don't enable this
code and all but one saw reduced code size.  booted several platforms with
new boot code.

(mrg)

2021-05-27 06:53:37 UTC MAIN commitmail json YAML

move the basic history i wrote from raidctl(8) to raid(4), and
fix the x86 (thanks simonb) and sparc bootable dates, a couple
of spelling errors.

(mrg)

2021-05-27 06:19:38 UTC MAIN commitmail json YAML

In gcc10, -msign-return-address is no longer supported.
Instead, (LLVM-compatible) -mbranch-protection option is supported.

(ryo)

2021-05-27 06:11:35 UTC MAIN commitmail json YAML

Do no_jmbuf++ when ixgbe_getjcl() failed in ixgbe_setup_receive_ring(), too.

(msaitoh)

2021-05-27 06:11:20 UTC MAIN commitmail json YAML

2021-05-27 04:55:34 UTC MAIN commitmail json YAML

Restore the pnozz Xorg driver, now that it has EXA support.

(jdc)

2021-05-27 04:54:21 UTC MAIN commitmail json YAML

Restore the build of the pnozz driver on sparc, now that it has EXA support.

(jdc)

2021-05-27 04:53:44 UTC MAIN commitmail json YAML

Update the pnozz files list for EXA support.

(jdc)

2021-05-27 04:48:10 UTC MAIN commitmail json YAML

2021-05-27 03:23:29 UTC MAIN commitmail json YAML

Move the send queue checking to a new function, and also call this
in the rx interrupt path.  Measureable improvement on a NFS "create
small files" test.

(simonb)

2021-05-27 01:43:32 UTC MAIN commitmail json YAML

Schedule the send cleanup function for next tick in cnmac_start().  In
the send cleanup function, schedule for the next tick instead of waiting
for HZ ticks if there are still send requests outstanding.  Greatly
increases NFS throughput, perhaps other types of network traffic.

Use callout_setfunc() after callout_init() instead of callout_reset().

(simonb)

2021-05-26 22:54:45 UTC MAIN commitmail json YAML

2021-05-26 22:52:32 UTC MAIN commitmail json YAML

2021-05-26 22:37:21 UTC MAIN commitmail json YAML

xhci: Fix logic in waiting for command queue access.

_Either_ an existing command in progress, _or_ an existing suspend in
progress that is not done by us, should block us; the logic I wrote
previously erroneously blocked only if both conditions happened at
the same time.

Should fix issue reported by Andrius V in the PR kern/56050 followup
discussion.

(riastradh)

2021-05-26 22:26:16 UTC MAIN commitmail json YAML

suggest libera.chat instead

(maya)

2021-05-26 21:58:58 UTC MAIN commitmail json YAML

handle different flavors of date(1)

(christos)

2021-05-26 20:22:28 UTC MAIN commitmail json YAML

use the date tool

(christos)

2021-05-26 20:21:52 UTC MAIN commitmail json YAML

Use the date tool

(christos)

2021-05-26 20:21:25 UTC MAIN commitmail json YAML

2021-05-26 20:19:51 UTC MAIN commitmail json YAML

2021-05-26 20:19:15 UTC MAIN commitmail json YAML

2021-05-26 14:48:02 UTC MAIN commitmail json YAML

Fix ip_nat memory leak and use-after-free, wrong element freed (Cy Schubert)
https://cgit.freebsd.org/src/commit/?id=323a4e2c4e285e6f8eee8db3fe2cb74

(christos)

2021-05-26 09:42:36 UTC MAIN commitmail json YAML

add basic raidframe support to efiboot.

if raid disklabel or gpt is found, add this partition with
the offset/size adjusted by RF_PROTECTED_SECTORS.  note

don't le32toh() the disklabel.  if it was wrong-endian, then
getdisklabel() will have swapped it.

ok jmcneill thorpej.

(mrg)

2021-05-26 08:23:18 UTC MAIN commitmail json YAML

update the list of platforms supporting loading kernels from raid.
expand the HISTORY section to include notable RF moments in netbsd.
bump date.

(mrg)

2021-05-26 07:57:05 UTC MAIN commitmail json YAML

correct indentation. spotted by Roland.

(cjep)

2021-05-26 06:11:50 UTC MAIN commitmail json YAML

support different endian raidframe component label.

there are two on-disk formats in use in raidframe:
- the component label
- the parity map

the parity map is a bitmap implemented as bytes, so it has no
endian issue.  the component label is the problem, as most of
the fields are 32 bit.  this change only supports version 2 of
raidframe (active since the year 2000.)

as component labels are read and used before a raidPtr for the
raid set has been created, there is no obvious storage for the
swapped indicator, so the in-core version remains the on-disk
version, while the rest of in-core label is swapped.

in raidread_component_label() and raidwrite_component_label(),
check if the swapped version, and if so, call new rf_swap_label()
and ensure that the in-core label is native-byte order.  for the
write method, an on-stack copy is modified before writing, so
that the in-core version remains valid.  (this stack usage is
below other stack usage in similar functions here.)

adjust the label ioctls RAIDFRAME_GET_COMPONENT_LABEL and
RAIDFRAME_GET_COMPONENT_LABEL80 to return the byte-swapped
version so that eg, raidctl -s reports the right version.

when performing final configuration of a raidset, report if a
label swapped, and also complain if there are differently swapped
versions on the other components.

tested on arm64, sparc64 and amd64
ok @oster

(mrg)

2021-05-26 04:28:15 UTC MAIN commitmail json YAML

in getdisklabel() swap the other-endian disklabel, #ifdef LIBSA_DISKLABEL_EI

(mrg)

2021-05-25 19:22:18 UTC MAIN commitmail json YAML

tests/lint: make test d_gcc_extension platform-independent

That test was intended to test the keywords '__extension__' and
'__typeof'.  The GCC builtin functions were just a side-effect.

These built-in functions generated error messages on platforms such as
amd64 where sizeof(long double) != sizeof(double), but not on others
such as sparc.

The current infrastructure for the lint tests cannot handle tests with
platform-dependent outcome.

(rillig)

2021-05-25 19:04:07 UTC MAIN commitmail json YAML

tests/lint: make test 130 platform-independent

On 32-bit platforms such as i386 and sparc, sizeof(int) == sizeof(long),
which produced an additional unintended lint error message:

msg_130.c(78): error: duplicate case in switch: 4 [199]

(rillig)

2021-05-25 16:50:49 UTC MAIN commitmail json YAML

PR port-xen/53130 was fixed and closed some time ago, so now we can
belatedly re-enable inclusion of the compat_60 x86 microcode code in
the loadable module.  (It was already being included in the built-in
version of the module.)

(pgoyette)

2021-05-25 11:55:42 UTC MAIN commitmail json YAML

The long lines test is now expected to pass

(cjep)

2021-05-25 11:55:40 UTC MAIN commitmail json YAML

While we do not yet have any 64bit kernels, do not build
floppy or CD images for installation.

(martin)

2021-05-25 11:25:59 UTC MAIN commitmail json YAML

As per OpenBSD, use malloc for the line buffer. Fixes the known issue
with long lines and makes our ATF test suite pass fully.
Closes PR bin/54620 from coypu who suggested the approach.
Reviewed by christos.

(cjep)

2021-05-25 10:58:41 UTC MAIN commitmail json YAML

Provide support to build 32bit crunched ramdisks and use that for
macppc64. With help from rin.

(martin)

2021-05-25 09:19:28 UTC MAIN commitmail json YAML

2021-05-25 00:38:30 UTC MAIN commitmail json YAML

Added missing cleanup option

Fixes PR/56206

(yamaguchi)

2021-05-25 00:14:41 UTC MAIN commitmail json YAML

POSIX sez:
    The longjmp() function shall not cause setjmp() to return 0; if val
    is 0, setjmp() shall return 1.

Fixes the _longjmp_zero and longjmp_zero test cases in the t_setjmp
test on alpha.

(thorpej)

2021-05-24 23:59:59 UTC MAIN commitmail json YAML

Clarify what happens when you longjmp(..., 0).

Derived from C99 7.13.2.1 `The longjmp function'.

(riastradh)

2021-05-24 23:07:41 UTC MAIN commitmail json YAML

Fix typo in pathname in a comment.

(uwe)

2021-05-24 22:40:44 UTC MAIN commitmail json YAML

PR/56207: Jan-Benedict Glaw: Handle error from find when removing CVS
directories on a git repo.

(christos)

2021-05-24 21:34:07 UTC MAIN commitmail json YAML

refuse should exit(3). Noted by joerg@

(christos)

2021-05-24 21:00:12 UTC MAIN commitmail json YAML

Add _UC_SETSTACK / _UC_CLRSTACK handling.  Fixes the t_sigaltstack test
on alpha.

(thorpej)

2021-05-24 13:43:21 UTC MAIN commitmail json YAML

Remove leading blank line.

(thorpej)

2021-05-24 13:42:58 UTC MAIN commitmail json YAML

Move __KERNEL_RCSID() to the traditional location.

(thorpej)

2021-05-24 11:13:44 UTC MAIN commitmail json YAML

2021-05-24 10:44:06 UTC MAIN commitmail json YAML

On mips, avoid deliberately executing an illegal instruction for now
because it causes GXemul to exit rather than generating a trap.  A bug
report has been sent to the GXemul author.

(gson)

2021-05-24 07:43:15 UTC MAIN commitmail json YAML

make various things static, and minor KNF clean up.
ignore spiflash as a raid device.

(mrg)

2021-05-24 07:27:39 UTC MAIN commitmail json YAML

Whitespace alignment nit.

(simonb)

2021-05-24 06:24:20 UTC MAIN commitmail json YAML

Added missing copyright and license notice

pointed out by thorpej@n.o., Thanks.

(yamaguchi)

2021-05-24 06:08:29 UTC MAIN commitmail json YAML

Added missing copyright and license notice

pointed out by thorpej@n.o., Thanks.

(yamaguchi)

2021-05-24 05:58:42 UTC MAIN commitmail json YAML

Bail out of axpreg_attach if axpreg_get_voltage returns an error.

uvol isn't updated and shouldn't be used.

(skrll)

2021-05-24 03:43:24 UTC MAIN commitmail json YAML

pmap_tlb_shootdown_all_user() can be called in the PV scenario as well
as the forward scenario, for example if a pmap_page_protect() to remove
all mappings results in the freeing of a PT page.  It therefore needs
to do the same reference counting dance as pmap_tlb_shootdown_pv().

Also fix a use-after-free error in pmap_page_protect().

Add / tweak some assertions, and shrink the pmap::pm_count field from
long to unsigned int (which gave me a spare unsigned int field for
debugging purposes).

PR port-alpha/56201.

(thorpej)

2021-05-23 23:24:45 UTC MAIN commitmail json YAML

fix "uname -p" on mips n32.

this has been returning "mipsn64eb" on my edgerouter4 with the
32 bit uname binary.

introduce o32, n32, and n64 versions of MACHINE_ARCH, and use
them appropriately in PROC_MACHINE_ARCH32().  now o32, n32 and
n64 "uname -p" all return different values.

(mrg)

2021-05-23 23:22:55 UTC MAIN commitmail json YAML

Improve ddb disassembly for mips (and riscv, cribbed from mips).

- use db_read_bytes to get instructions
- move the address check logic previously attached only to fetching
  instructions for disassembly to db_read_bytes (and db_write_bytes)

Motivated by related x86 changes this afternoon.

Note that the address check logic is not as sophisticated as what the
x86 code does, but it's what we had before. (Except that riscv will
now also try to fetch usermode instructions instead of just failing.)

(dholland)

2021-05-23 21:12:29 UTC MAIN commitmail json YAML

xhci(4): Block commands and issue Stop Endpoint on suspend.

(riastradh)

2021-05-23 19:13:27 UTC MAIN commitmail json YAML

Fix a bug in pmap_tlb_shootdown_all_user(), where it was not
stashing away the pointer to the pmap in the TLB context structure
like pmap_tlb_shootdown() was doing.  This would result in the
following failure scenario:

- Page fault handler calls pmap_enter() to map a page.  Mapping
  is the first one for that L2 PT L3 PT, meaning that an L2 PT
  and an L3 PT must be allocated.
- L2 PT allocation succeeds.
- L3 PT allocation fails under memory pressure.
- pmap_enter() goes to drop the reference on the L2 PT, which, because
  it was the first of its mappings, frees the L2 PT.  Becuse PALcode
  may have already tried to service a TLB miss though that L2 PT, we
  must issue an all-user-VA shootdown, and call pmap_tlb_shootdown_all_user()
  to do so.
- pmap_tlb_shootnow() is called and an assert fires because the TLB
  context structure does not point to a pmap.

This did not fail in the pmap_remove() scenario because the TLB context
would have already had at least one call to pmap_tlb_shootdown(), which
was initializing the pmap pointer properly.

PR port-alpha/56200

(thorpej)

2021-05-23 11:56:28 UTC MAIN commitmail json YAML

ddb/i386: Don't go out of the way to detect invalid addresses.

db_read_bytes already does this better (but didn't at the time this
check was originally added back in 1998).  Not sure if this code had
the same mistake as the amd64 code causing it to trip over its own
shoelaces, but there should be no need for it here.

(riastradh)

2021-05-23 11:49:45 UTC MAIN commitmail json YAML

xhci(4): Draft suspend/resume.

Work almost entirely done and tested by maya@ based on xhci 1.2 spec;
tidied up and tweaked by me.

Not sure about issuing Stop Endpoint commands or ensuring the Command
Ring is in the Stopped or Idle state, but this seems to work as is,
so it's already an improvement over what we had before which was no
xhci suspend/resume at all.

In particular, it's not clear to us:

- if we don't have any pending USB activity whether we need to issue
  the Stop Endpoints or quiesce the command ring; but

- if we do have any pending USB activity whether issuing Stop
  Endpoint is enough or whether we also need to do anything to
  synchronize with other software logic to quiesce it too.

(riastradh)

2021-05-23 08:59:08 UTC MAIN commitmail json YAML

ddb/amd64: Don't go out of the way to detect invalid addresses.

db_disasm had logic to detect invalid addresses before trying to
disassemble them.  But when disassembling a null instruction address,
the logic to detect invalid addresses itself tried to dereference an
invalid address.

db_get_value can already handle this situation gracefully, so there is
no need for this faulty fault-avoidance logic.

Fixes double-fault in ddb on calling null function pointers.  With
any luck, this should make diagnosing such bugs easier in the future!

(riastradh)

2021-05-23 08:42:47 UTC MAIN commitmail json YAML

umass(4): Assert that we got a cb up front.

Avoids jump to zero waaaaaaay down the line where we've forgotten why
we wanted to jump into oblivion.

(riastradh)

2021-05-23 08:42:32 UTC MAIN commitmail json YAML

umass(4): Use an empty function callback, not null pointer.

This stupid bug, with an `XXX Broken!' comment right above, has been
preventing NetBSD from suspend/resume with a USB drive plugged in for
longer than I want to even think about admitting.  *sigh*

(riastradh)

2021-05-23 07:17:51 UTC MAIN commitmail json YAML

Make sure the output packet buffer and the control message buffer
are aligned.

Fixes bin/56198.

(thorpej)

2021-05-23 01:34:18 UTC MAIN commitmail json YAML

Add a GENERIC.QEMU kernel config.  This just includes QEMU and then
sets some options specifically to make the Qemu experience a little
batter.

Currently, this just sets COPY_SYMTAB=1 (Qemu loads the kernel directly,
and does not load the symbol table).

(thorpej)

2021-05-23 01:00:53 UTC MAIN commitmail json YAML

Fix an error introduced in rev 1.130 where the previous pcb_onfault
handler was not restored properly in the kcopyerr case.  Also add a
comment explaining why it's save for these routines to be wrappers
around memcpy().

Fixes port-alpha/56197.

(thorpej)

2021-05-23 00:36:37 UTC MAIN commitmail json YAML

avoid taking locks that aren't initialised.

fixes panic when typing 'reboot' at the askroot prompt.

(mrg)

2021-05-22 17:20:01 UTC MAIN commitmail json YAML

ossaudio too I guess

(nia)