Age | Commit message (Collapse) | Author |
|
block that takes data from apldma(4), serializes it and sends it out on
the i2s ports. The aplaudio(4) driver ties together aplmca(4) and various
codecs to present an audio(4) interface to the system.
This is still WIP, but good enough to play back audio on the speaker in the
M1 mini.
ok patrick@
|
|
ok patrick@
|
|
to pf_lb.c was not complete. We must add a test to determine number of
addresses defined by pool, so we don't treat pool definition
172.16.0.0/16 as a single IP address in pool. If pool is defined as
172.16.0.0/16, then we don't want to fall back to PF_POOL_NONE. Missing
this measure in pf_map_addr() may cause pf_get_sport() to enter infinite
loop when source ports translation become depleted for the first address
found in pool (like 172.16.0.1), because the bug prevents pf_map_addr()
to move to next address in pool (like 172.16.0.2).
while investigating issue I've also noticed an oddity for small random
pools such as 192.168.1.32/28. One would expect the addresses for nat
will be randomly picked from range .32 - .47 in this case. however the
random selection yield significantly more (like 20%) addresses ending by .32
In order to fix it we make random pool to use arc4random_uniform(~mask + 1)
instead of current arc4random().
feedback by claudio@
tested by hrvoje@
|
|
https://frame.work/blog/solving-for-silicon-shortages
|
|
From Imre Deak
59207e63801fbcd39ca68df6e2ba5ae90f76c0c3 in mainline linux
|
|
These must be handled as write faults rather than read faults, since xmem
performs both a read and a write, and unlike on 88100, we don't have an easy
bit to check.
This solves libcrypto spinning on its locks on 88110.
|
|
PMAP_PREFER is checked to prevent cache aliasing issues when the physical
page is mapped at different virtual addresses.
This speeds up file-based mmap faults.
ok kettenis@
|
|
to the padded syscalls going away.
|
|
|
|
|
|
from:
12th Generation Intel Core Processors
Datasheet, Volume 1 of 2, Doc. No.: 655258, Rev.: 008
Intel 600 Series Chipset Family On-Package Platform Controller Hub
Datasheet, Volume 1 of 2, Doc. No.: 691222, Rev.: 002
and SanDisk SN850 while here
|
|
it.
ok patrick@
|
|
|
|
From Hayden Goodfellow
c6e4817ab622f526d6afe9e02c6d85b177b3e846 in linux 5.15.y/5.15.58
655c167edc8c260b6df08bdcfaca8afde0efbeb6 in mainline linux
|
|
From Dan Carpenter
ec9ec3bc08b18c5b1b2feafd306ea7c348013898 in linux 5.15.y/5.15.58
a35faec3db0e13aac8ea720bc1a3503081dd5a3d in mainline linux
|
|
From Jose Exposito
f85a6046f7718f11c6ad015a0ba25d897194b1ac in linux 5.15.y/5.15.58
978ffac878fd64039f95798b15b430032d2d89d5 in mainline linux
|
|
From Nicholas Kazlauskas
760fe32034931a8c97c773edef2f1b7c7346f43a in linux 5.15.y/5.15.58
d82b3266ef88dc10fe0e7031b2bd8ba7eedb7e59 in mainline linux
|
|
From Nicholas Kazlauskas
c2b484d784c8dfc3eb62fd4f9ff11515b6e78e19 in linux 5.15.y/5.15.58
62e5a7e2333a9f5395f6a9db766b7b06c949fe7a in mainline linux
|
|
From Nicholas Kazlauskas
9581511948582a0ed8da03fb91d2ab658087283d in linux 5.15.y/5.15.58
34316c1e561db0b24e341029f04a5a5bead9a7bc in mainline linux
|
|
From Nicholas Kazlauskas
b3f16976b9ed7afafa2caf12ef5539fafc34d48d in linux 5.15.y/5.15.58
791255ca9fbe38042cfd55df5deb116dc11fef18 in mainline linux
|
|
From Fangzhi Zuo
c7720f23bb93628f30f16d033eaefbe2540f1b5e in linux 5.15.y/5.15.58
acea108fa067d140bd155161a79b1fcd967f4137 in mainline linux
|
|
From Alex Deucher
8bae037b0fb429466fed1585440f337396d72efa in linux 5.15.y/5.15.58
3ce51649cdf23ab463494df2bd6d1e9529ebdc6a in mainline linux
|
|
From Wayne Lin
e980e1d978e0eb4c0399cff37f175779237db53b in linux 5.15.y/5.15.58
8e794421bc981586d0af4e959ec76d668c793a55 in mainline linux
|
|
From Wayne Lin
54740bc4b182c2522c6570c3fb0b96a912982bf3 in linux 5.15.y/5.15.58
410ad92d7fecd30de7456c19e326e272c2153ff2 in mainline linux
|
|
From Jude Shih
734d5ce02cb069cccedc993d8f1dc0ea41cfa3dd in linux 5.15.y/5.15.58
e27c41d5b0681c597ac1894f4e02cf626e062250 in mainline linux
|
|
|
|
to the padded syscalls going away.
|
|
No change in behavior.
ok kn@, semarie@, kettenis@
|
|
|
|
KNOTE() is safe to use at IPL_AUDIO. Remove the now-unnecessary
deferring that uses soft interrupts.
Remove selwakeup() calls from audio_detach() because klist_invalidate()
wakes up any remaining kevent/poll/select waiters.
OK mpi@
|
|
.data. dt_blob is a basic device tree that is populated from ACPI tables
when booting with ACPI instead of DT. Since we're modifying its content we
need to put it somewhere writeable.
Found and proposed by mlarkin@
ok kettenis@ mlarkin@
|
|
but it appears to be too fragile and now that we are using a 48-bit VA space
for the EFI runtime we no longer need to call SetVirtualAddressMap() to
make address fit into our pmap. Unbreaks the x13s.
ok mlarkin@, patrick@
|
|
Pull inteldrm_refcnt out of NINTAGP > 0, otherwise it remains undefined but
still used in inteldrm_attachhook().
OK jsg
|
|
characteristics field in the COFF header. Makes our bootloader work in the
x13s. With help from mlarkin@.
ok mlarkin@
|
|
It makes uvm_swap_free() faster: extents have a cost of O(n*n) which doesn't
really scale with gigabytes of swap.
Based on initial work from mpi@
The blist implementation comes from DragonFlyBSD.
The diff adds also a ddb(4) 'show swap' command to show the blist and help
debugging, and fix some off-by-one in size printed during hibernate.
ok mpi@
|
|
Allocate the index of a new network interface early so that the index
is available when the interface's queues are set up. This avoids
unintended concentration on net_tq(0).
Replace the kernel lock with an rwlock to serialize index map updates.
The kernel lock is not reliable here because the memory allocation
can sleep.
Also, correct the "too many interfaces" condition because the valid
index range is from 1 to USHRT_MAX.
OK bluhm@
|
|
accessible from ddb. Implement "show all routes" to print routing
tables, and "show route 0xfffffd807e9b0000" for a single route
entry. Note that the rtable id is not part of a route entry, so
it makes no sense to print it there.
OK deraadt@
|
|
the mutex for the fragment list. Move this code before the critical
section. Use ISSET() to make clear which flags are checked.
OK mvs@
|
|
Removed in 2015 and 2002, respectively.
OK claudio
|
|
Added in 2002 r1.48 "sync with latest KAME [...]" along the attribute,
but nd6_free() became a global void function in 2017 r1.212.
Afaik static kernel functions are avoided to aid ddb'ugging and I
presume the "significant changes in the kernel" bits of the comment stem
from something 20 years ago no longer holding true today.
Afterall, this change has been safe for five years.
OK claudio
|
|
OK sashan, bluhm
|
|
ok hastings@
|
|
attaches. This prevents us from having to map the various EFI memory regions
early on. These early mappings use 1G blocks. On Apple M1 systems, these
blocks may overlap memory that isn't accessable. The CPU may speculatively
access this inaccessable memory which will result in SError exceptions.
ok deraadt@
|
|
to support the device tree binding for the "apple,admac" controller.
ok visa@, patrick@
|
|
Initialize the burst size register such that DMA channels that haven't
been initialized by Apple's bootloader also work.
ok patrick@
|
|
With softraid, OBP's boot-file variable aka. bootline may contain the
sofraid volume name and kernel file name delimited by a double colon, e.g.
"sr0", "sr0a", "sr0:", "sr0a:", "sr0:/bsd" or "sr0a:/bsd".
ofwboot parses this string, may fill in optional partition number ("a")
and/or optional kernel file name ("/bsd") and always prints the fully
qualified string reconstructed from parts as "Booting <bootline>":
{0} ok boot my-devalias sr0
[...]
Boot device: /virtual-devices@100/channel-devices@200/disk@0 File and args: sr0
[...]
Booting sr0:a/bsd
[...]
{0} ok boot my-devalias sr0a:/bsd
[...]
Boot device: /virtual-devices@100/channel-devices@200/disk@0 File and args: sr0a:/bsd
[...]
Booting sr0:a/bsd
[...]
Swap partition and delimiter to fix the reconstructed string, making it
suitable for copy/paste:
Booting sr0a:/bsd
This has not been an issue since the reconstructed string is only printed
and not (re)used anywhere.
OK kettenis
|
|
this path is called when running the intel xorg driver on broadwell
|
|
enabling more of __notify_execute_cb() and running the intel xorg driver
on broadwell would fault in __notify_execute_cb() on
movq 0x38(%rsi),%r12
offsetof(struct execute_cb, work.node.llist) 0x38
llist_entry(NULL must not return NULL, it needs to wrap around
and return NULL minus the offset
the iterators stop when the offset added back to the result of
llist_entry() is NULL
they test that the first node is not NULL or that the next pointer
stored in a previous iteration of the loop is not NULL
|
|
ok stsp@, jmatthew@, kevlo@
|
|
The Rise mp6 was an x86 compatible CPU that was available for about
a year from 1998 to 1999. Only the Kirin core was ever available
while the Lynx core did not make it to market. Shortly after this
CPU was released, SiS acquired Rise's technology and integrated it
into their SiS55x SoC which used a different vendor string.
Given how uncommon Rise CPUs are and given that we don't do anything
if we detect such a CPU, remove the small amount of code used to
identify them. OpenBSD should continue to run on these CPUs, they
just won't be recognized as Rise CPUs explicitly.
It is suspected that in the current code, a Rise CPU would not show
CX8 in the dmesg despite supporting the CMPXCHG8B instruction. The
Rise datasheet says that this cpuid feature bit is set to 0 to
"circumvent a reported bug in Windows NT". This is only a cosmetic
issue though as our kernel does not use CMPXCHG8B and our toolchain
assumes it exists (we default to -march=i586).
An interesting writeup on this topic is available here:
https://www.geoffchappell.com/studies/windows/km/cpu/cx8.htm
ok mlarkin@, deraadt@, jsg@
|