largely taken from openbsd and linux 4.13 trees (which
have this code identical), with mimimal porting to netbsd.
i have not installed (and thus tested) the newer referenced
firmware files.
only real local change is to fix IS_BROXTON() macro to check
the things valid in this era of drm. previous match would
attach on KBL, and then a loop would never exit.
tested on kabylake P630. needs mesa 11.x or newer for GL
to work.
ok @riastradh.
minimal lockdebug checks in place, even without LOCKDEBUG.
adjust lockdebug_abort() to ignore problems after ld_panic is set
so that there's a chance of this working.
this fixes ddb 'reboot' on softiron od1000.
Make test(1) always use the POSIX "number of args" evaluation rules
when they apply.
Only fall back to the old expression evaluation when there are more
than 4 args, or when the args given cannot work as a test expression
using the POSIX rules. That is when the result is unspecified.
Also fix old bug where a string of whitespace is considered to be a
valid number (at least one digit is needed amongst it somewhere...)
XXX pullup -8
- Fill in sc->sk_bsize upon pci_mapreg_map() so that we'll correctly
bus_space_unmap() on detach.
- Clear sc->sk_intrhand after interrupt disestablish, to prevent
disestablishing unestablished interrupt.
returned EFBIG. When m_defrag() is called, txqNNdefrag event counter is
incremented. If the 2nd try of bus_dmamap_load_mbuf() failed, txqNNtoomanyseg
event counter is incremented.
- Reduce the max number of DMA segemts from 256 to 64 (it's the same valuse
as other BSD's (EM_MAX_SCATTER) and more than before if_wm.c rev. 1.75's
value (40)) because we do m_defrag() now.
suggested by riastradh@.
fixes hdaudio on thinkpad P51 where the registers are mapped
over 4GB range. probably fixes intel X10-based systems that
map hdaudio high as well, but i was able to work around that
in the BIOS. not so for the P51.
XXX: pullup-7, pullup-8.
transfers. This is slightly inconsistent, as directories are still
shared - but this allows us to default to cdn/nycdn for http (which don't
support ftp).
When printf is running builtin in a sh, global vars aren't reset to
0 between invocations. This affects "rval" which remembers state
from a previous %b \c and thereafter always exits after the first
format conversion, until we get a conversion that generates an
error (which resets the flag almost by accident)
printf %b abc\\c
abc (no \n)
printf %s%s hello world
hello (no \n, of course, no world ...)
printf %s%s hello world
hello
printf %s%s hello world
hello
printf %d hello
printf: hello: expected numeric value
0 (no \n)
printf %s%s hello world
helloworld (no \n, and we are back!)
This affects both /bin/sh and /bin/csh (and has for a very long time).
XXX pullup -8
* arm_cpu_hatch_arg is a bad idea. avoid serializing CPU startup, and eliminate arm_cpu_hatch_arg.
in mpstart, resolve own cpu index using array of cpu_mpidr[] (aarch64)
* add support fdt enable-method "spin-table"
* add support fdt enable-method "brcm,bcm2836-smp" (for 32bit RaspberryPi)
* use arm_fdt_cpu_bootstrap() instead of psci_fdt_bootstrap()
* rename "arm/fdt/psci_fdt.h" to "arm/fdt/psci_fdtvar.h" because of conflict of include file for needs-flag
* add devmap for cpu spin-table of raspberrypi3/aarch64
* no need to force hatch APs for raspberrypi3/arm32 ifndef MULTIPROCESSOR.
* fix to work pmap_extract(kerneltext/data/bss) even if before calling pmap_bootstrap
idea to use cpu_mpidr[] by jmcneill@. reviewd by skrll@. thanks.
outside of the x86 interrupt and xen events framework.
This allows us to finally unify the interrupt path for both Xen
and x86 as changes 'internal' to the subsystem.
This change has been kindly tested on real hardware by gson@
The change is not cosmetic and may thus affect users on various
hardware configurations - especially involving legacy hardware.
I look forward to bug reports.
as a handle for internal use explicit.
This allows us to pass up the handle as "legacy" irq while
establishing interrupt handlers for xen.
No functional change.
ie; We don't need to simultaneously pass back the irq in the
range 0 < irq < 16 (which are sometimes described as "legacy"
in src
This was non-obvious, until the semantics of "legacy" were
used in inconsistent ways in Xen (to also mean interrupts in
the 0 < irq < 256 range) which causes problems with attempting
to unify the sys/arch/x86/isa/isa_machdep.c:isa_intr_establish_xname()
function between XEN and !XEN
This commit should not affect current functionality on any
either native or Xen. It is needed for future code reorg, and
published now as a preview.