Now
MAIN commitmail json YAML
Restore call to pserialize_init.
We need it after all for psz_lock on the event counter.
We need it after all for psz_lock on the event counter.
MAIN commitmail json YAML
src/etc/defaults/security.conf@1.27
/
diff
/
nxr@1.27
src/etc/security@1.126 / diff / nxr@1.126
src/share/man/man5/security.conf.5@1.41 / diff / nxr@1.41
src/etc/security@1.126 / diff / nxr@1.126
src/share/man/man5/security.conf.5@1.41 / diff / nxr@1.41
Save the entropy seed daily in /etc/security.
MAIN commitmail json YAML
src/sbin/rndctl/Makefile@1.4
/
diff
/
nxr@1.4
src/sbin/rndctl/namespace.h@1.1 / diff / nxr@1.1
src/sbin/rndctl/rndctl.8@1.23 / diff / nxr@1.23
src/sbin/rndctl/rndctl.c@1.31 / diff / nxr@1.31
src/sbin/rndctl/namespace.h@1.1 / diff / nxr@1.1
src/sbin/rndctl/rndctl.8@1.23 / diff / nxr@1.23
src/sbin/rndctl/rndctl.c@1.31 / diff / nxr@1.31
Teach `rndctl -L' to update the seed file, not just delete it.
The seed file is updated by entering the old seed into the system and
then hashing the old seed together with data from /dev/urandom, and
writing it atomically with write-to-temporary/rename-to-permanent.
This way, interruption by crash or power loss does not obliterate
your persistent entropy (unless it causes file system corruption).
The seed file is updated by entering the old seed into the system and
then hashing the old seed together with data from /dev/urandom, and
writing it atomically with write-to-temporary/rename-to-permanent.
This way, interruption by crash or power loss does not obliterate
your persistent entropy (unless it causes file system corruption).
MAIN commitmail json YAML
Restore historical $Hdr$ tag after git cvsexportcommit nixed it.
MAIN commitmail json YAML
Fix reference count leak in cons(4).
Don't forget to vrele after you're done, folks!
XXX pullup-9
XXX pullup-8
XXX pullup-7
XXX pullup-6... 5... 4 might not have had this bug!
Don't forget to vrele after you're done, folks!
XXX pullup-9
XXX pullup-8
XXX pullup-7
XXX pullup-6... 5... 4 might not have had this bug!
MAIN commitmail json YAML
#ifdef notyet ---> never
MAIN commitmail json YAML
Only need one ci_onproc member.
MAIN commitmail json YAML
Missed a spot in the crypto/arc4 deletion.
MAIN commitmail json YAML
src/sys/conf/files@1.1245
/
diff
/
nxr@1.1245
src/sys/crypto/arc4/arc4.c deleted
src/sys/crypto/arc4/arc4.h deleted
src/sys/crypto/arc4/files.arc4 deleted
src/sys/crypto/arc4/arc4.c deleted
src/sys/crypto/arc4/arc4.h deleted
src/sys/crypto/arc4/files.arc4 deleted
Nuke crypto/arc4. Has not been used since 2003. Will not be missed.
MAIN commitmail json YAML
Avoid redefining uint_t &c. if compat_defs.h already defines them.
MAIN commitmail json YAML
Switch psz_ev_excl to static evcnt.
MAIN commitmail json YAML
Restore psz_lock just for the event count.
Cost of mutex_enter/exit is negligible compared to the xcall we just
did, so this is not going to meaningfully affect performance.
Cost of mutex_enter/exit is negligible compared to the xcall we just
did, so this is not going to meaningfully affect performance.
MAIN commitmail json YAML
Allow equality in this assertion.
This can happen if we lose the race mentioned in percpu_cpu_swap.
This can happen if we lose the race mentioned in percpu_cpu_swap.
MAIN commitmail json YAML
Disable rngtest on output of cprng_strong.
We already do a self-test for correctenss of Hash_DRBG output;
applying rngtest to it does nothing but give everyone warning fatigue
about spurious rngtest failures.
We already do a self-test for correctenss of Hash_DRBG output;
applying rngtest to it does nothing but give everyone warning fatigue
about spurious rngtest failures.
MAIN commitmail json YAML
Fix rump definition of cpu_number().
MAIN commitmail json YAML
Update rnd(9) man page to reflect reality since netbsd-7.
- Note rndsource_setcb, RND_FLAG_HASCB, and rnd_add_data_sync.
- Note user's obligation to serialize access to each rndsource.
- Note rndsource_setcb, RND_FLAG_HASCB, and rnd_add_data_sync.
- Note user's obligation to serialize access to each rndsource.
MAIN commitmail json YAML
src/sys/arch/arm/arm/arm_machdep.c@1.58
/
diff
/
nxr@1.58
src/sys/arch/mips/mips/cpu_subr.c@1.40 / diff / nxr@1.40
src/sys/arch/sparc/sparc/intr.c@1.123 / diff / nxr@1.123
src/sys/arch/sparc64/sparc64/machdep.c@1.295 / diff / nxr@1.295
src/sys/arch/usermode/dev/cpu.c@1.83 / diff / nxr@1.83
src/sys/arch/x86/x86/pmap.c@1.342 / diff / nxr@1.342
src/sys/arch/x86/x86/x86_machdep.c@1.133 / diff / nxr@1.133
src/sys/kern/kern_lock.c@1.164 / diff / nxr@1.164
src/sys/kern/subr_pool.c@1.263 / diff / nxr@1.263
src/sys/arch/mips/mips/cpu_subr.c@1.40 / diff / nxr@1.40
src/sys/arch/sparc/sparc/intr.c@1.123 / diff / nxr@1.123
src/sys/arch/sparc64/sparc64/machdep.c@1.295 / diff / nxr@1.295
src/sys/arch/usermode/dev/cpu.c@1.83 / diff / nxr@1.83
src/sys/arch/x86/x86/pmap.c@1.342 / diff / nxr@1.342
src/sys/arch/x86/x86/x86_machdep.c@1.133 / diff / nxr@1.133
src/sys/kern/kern_lock.c@1.164 / diff / nxr@1.164
src/sys/kern/subr_pool.c@1.263 / diff / nxr@1.263
Use __insn_barrier to enforce ordering in l_ncsw loops.
(Only need ordering observable by interruption, not by other CPUs.)
(Only need ordering observable by interruption, not by other CPUs.)
MAIN commitmail json YAML
src/sys/arch/mips/rmi/rmixl_cpu.c@1.11
/
diff
/
nxr@1.11
src/sys/kern/kern_lwp.c@1.216 / diff / nxr@1.216
src/sys/kern/kern_softint.c@1.53 / diff / nxr@1.53
src/sys/kern/kern_synch.c@1.328 / diff / nxr@1.328
src/sys/kern/subr_pserialize.c@1.14 / diff / nxr@1.14
src/sys/rump/librump/rumpkern/rump.c@1.336 / diff / nxr@1.336
src/sys/sys/cpu_data.h@1.42 / diff / nxr@1.42
src/sys/sys/pserialize.h@1.3 / diff / nxr@1.3
src/sys/kern/kern_lwp.c@1.216 / diff / nxr@1.216
src/sys/kern/kern_softint.c@1.53 / diff / nxr@1.53
src/sys/kern/kern_synch.c@1.328 / diff / nxr@1.328
src/sys/kern/subr_pserialize.c@1.14 / diff / nxr@1.14
src/sys/rump/librump/rumpkern/rump.c@1.336 / diff / nxr@1.336
src/sys/sys/cpu_data.h@1.42 / diff / nxr@1.42
src/sys/sys/pserialize.h@1.3 / diff / nxr@1.3
Rip out pserialize(9) logic now that the RCU patent has expired.
pserialize_perform() is now basically just xc_barrier(XC_HIGHPRI).
No more tentacles throughout the scheduler. Simplify the psz read
count for diagnostic assertions by putting it unconditionally into
cpu_info.
From rmind@, tidied up by me.
pserialize_perform() is now basically just xc_barrier(XC_HIGHPRI).
No more tentacles throughout the scheduler. Simplify the psz read
count for diagnostic assertions by putting it unconditionally into
cpu_info.
From rmind@, tidied up by me.
MAIN commitmail json YAML
Fix inequality for refcnt drain: -1 here means all refs gone.
MAIN commitmail json YAML
Fix order of nulling un->un_pri->unp_ec.ec_mii.
Can't null it until after if_detach prevents further use.
While here, fix conditionals in usbnet_tick_task to use the unp_dying
flag, not the nullness of mii (or of ifp, which never null because
it's an embedded member).
Can't null it until after if_detach prevents further use.
While here, fix conditionals in usbnet_tick_task to use the unp_dying
flag, not the nullness of mii (or of ifp, which never null because
it's an embedded member).
MAIN commitmail json YAML
Omit obsolete comment and needless __diagused marker.
MAIN commitmail json YAML
Fix brain fart in alignment criterion.
MAIN commitmail json YAML
Skip fences in bus_space_barrier on I/O space.
I/O operations are issued in program order. Not that I/O operations
are usually a performance bottleneck anyway, but maybe it is slightly
cheaper to avoid stalling on store buffers or pending loads, and
there's very little cost to the skipping criterion here.
I/O operations are issued in program order. Not that I/O operations
are usually a performance bottleneck anyway, but maybe it is slightly
cheaper to avoid stalling on store buffers or pending loads, and
there's very little cost to the skipping criterion here.
MAIN commitmail json YAML
Leave it entirely up to the driver whether to map prefetchable.
We have only a few drivers that pass BUS_SPACE_MAP_PREFETCHABLE to
pci_mapreg_map -- dev/pci/if_hme_pci.c, dev/pci/igma.c,
dev/pci/radeonfb.c, dev/pci/wcfb.c -- and they all do it for ROM or
framebuffers.
Based on a subthread from macallan@ in the earlier discussion:
https://mail-index.NetBSD.org/tech-kern/2017/03/23/msg021685.html
The thrust is that:
- a driver not asking for prefetchable mappings shouldn't get it
- some devices are correctly used with prefetchable mappings, but for
some reason fail to set the prefetchable bit in the BAR
- nobody could identify any classes of device for which
(a) the driver asks for prefetchable mappings, but
(b) certain matching devices can't actually be used with
prefetchable mappings
This brings pci_mapreg_map in line with what the documentation says;
the documentation never advertised that the prefetchable bit in the
BAR could cause the bus_space mapping to be prefetchable.
We have only a few drivers that pass BUS_SPACE_MAP_PREFETCHABLE to
pci_mapreg_map -- dev/pci/if_hme_pci.c, dev/pci/igma.c,
dev/pci/radeonfb.c, dev/pci/wcfb.c -- and they all do it for ROM or
framebuffers.
Based on a subthread from macallan@ in the earlier discussion:
https://mail-index.NetBSD.org/tech-kern/2017/03/23/msg021685.html
The thrust is that:
- a driver not asking for prefetchable mappings shouldn't get it
- some devices are correctly used with prefetchable mappings, but for
some reason fail to set the prefetchable bit in the BAR
- nobody could identify any classes of device for which
(a) the driver asks for prefetchable mappings, but
(b) certain matching devices can't actually be used with
prefetchable mappings
This brings pci_mapreg_map in line with what the documentation says;
the documentation never advertised that the prefetchable bit in the
BAR could cause the bus_space mapping to be prefetchable.
MAIN commitmail json YAML
Use LFENCE/SFENCE/MFENCE in x86 bus_space_barrier.
These are needed for BUS_SPACE_MAP_PREFETCHABLE mappings. On x86,
these are WC-type memory regions, which means -- unlike normal
WB-type memory regions -- loads can be reordered with loads,
requiring LFENCE, and stores can be reordered with stores, requiring
SFENCE.
Reference: AMD64 Architecture Programmer's Manual, Volume 2: System
Programming, Sec. 7.4.1 `Memory Barrier Interaction with Memory
Types', Table 7-3 `Memory Access Ordering Rules'.
These are needed for BUS_SPACE_MAP_PREFETCHABLE mappings. On x86,
these are WC-type memory regions, which means -- unlike normal
WB-type memory regions -- loads can be reordered with loads,
requiring LFENCE, and stores can be reordered with stores, requiring
SFENCE.
Reference: AMD64 Architecture Programmer's Manual, Volume 2: System
Programming, Sec. 7.4.1 `Memory Barrier Interaction with Memory
Types', Table 7-3 `Memory Access Ordering Rules'.
MAIN commitmail json YAML
Use BUS_SPACE_MAP_PREFETCHABLE only if BAR and driver agree on it.
- A driver that expects prefetchable memory and knows to issue the
needed bus_space_barrier calls can pass BUS_SPACE_MAP_PREFETCHABLE
to indicate a desire to map the memory prefetchable if the BAR
allows it.
(A driver that _really wants_ BUS_SPACE_MAP_PREFETCHABLE even if
the BAR claims _not_ to be prefetchable can use pci_mapreg_info and
bus_space_map explicitly -- this is not different from what we have
today.)
- For a driver that _does not_ expect prefetchable memory, the
appearance of the prefetchable bit in the BAR shouldn't cause it to
use BUS_SPACE_MAP_PREFETCHABLE, because the driver will not issue
the needed bus_space_barrier calls to get sensible results.
Note: `Prefetchable' here, sometimes called `write-combining', means
reads have no side effects, and writes are idempotent, so it is safe
to issue reads out of order and safe to combine writes.
Mappings with BUS_SPACE_MAP_PREFETCHABLE are often more weakly
ordered than normal memory -- e.g., on x86, in WC-type memory
regions, loads can be reordered with loads, stores can be reordered
with stores, which is not possible with any other type of memory
regions.
Discussed on tech-kern a while ago:
https://mail-index.NetBSD.org/tech-kern/2017/03/22/msg021678.html
This is option A, which received the most support. This should help
unconfuse drivers that do not expect prefetchable mappings, like
Yamaguchi-san tripped over recently:
https://mail-index.NetBSD.org/tech-kern/2019/12/02/msg025785.html
- A driver that expects prefetchable memory and knows to issue the
needed bus_space_barrier calls can pass BUS_SPACE_MAP_PREFETCHABLE
to indicate a desire to map the memory prefetchable if the BAR
allows it.
(A driver that _really wants_ BUS_SPACE_MAP_PREFETCHABLE even if
the BAR claims _not_ to be prefetchable can use pci_mapreg_info and
bus_space_map explicitly -- this is not different from what we have
today.)
- For a driver that _does not_ expect prefetchable memory, the
appearance of the prefetchable bit in the BAR shouldn't cause it to
use BUS_SPACE_MAP_PREFETCHABLE, because the driver will not issue
the needed bus_space_barrier calls to get sensible results.
Note: `Prefetchable' here, sometimes called `write-combining', means
reads have no side effects, and writes are idempotent, so it is safe
to issue reads out of order and safe to combine writes.
Mappings with BUS_SPACE_MAP_PREFETCHABLE are often more weakly
ordered than normal memory -- e.g., on x86, in WC-type memory
regions, loads can be reordered with loads, stores can be reordered
with stores, which is not possible with any other type of memory
regions.
Discussed on tech-kern a while ago:
https://mail-index.NetBSD.org/tech-kern/2017/03/22/msg021678.html
This is option A, which received the most support. This should help
unconfuse drivers that do not expect prefetchable mappings, like
Yamaguchi-san tripped over recently:
https://mail-index.NetBSD.org/tech-kern/2019/12/02/msg025785.html
MAIN commitmail json YAML
Restore xcall(9) fast path using atomic_load/store_*.
While here, fix a bug that was formerly in xcall(9): a missing
acquire operation in the xc_wait fast path so that all memory
operations in the xcall on remote CPUs will happen before any memory
operations on the issuing CPU after xc_wait returns.
All stores of xc->xc_donep are done with atomic_store_release so that
we can safely use atomic_load_acquire to read it outside the lock.
However, this fast path only works on platforms with cheap 64-bit
atomic load/store, so conditionalize it on __HAVE_ATOMIC64_LOADSTORE.
(Under the lock, no need for atomic loads since nobody else will be
issuing stores.)
For review, here's the relevant diff from the old version of the fast
path, from before it was removed and some other things changed in the
file:
diff --git a/sys/kern/subr_xcall.c b/sys/kern/subr_xcall.c
index 45a877aa90e0..b6bfb6455291 100644
--- a/sys/kern/subr_xcall.c
+++ b/sys/kern/subr_xcall.c
@@ -84,6 +84,7 @@ __KERNEL_RCSID(0, "$NetBSD: subr_xcall.c,v 1.27 2019/10/06 15:11:17 uwe Exp $");
#include <sys/evcnt.h>
#include <sys/kthread.h>
#include <sys/cpu.h>
+#include <sys/atomic.h>
#ifdef _RUMPKERNEL
#include "rump_private.h"
@@ -334,10 +353,12 @@ xc_wait(uint64_t where)
xc = &xc_low_pri;
}
+#ifdef __HAVE_ATOMIC64_LOADSTORE
/* Fast path, if already done. */
- if (xc->xc_donep >= where) {
+ if (atomic_load_acquire(&xc->xc_donep) >= where) {
return;
}
+#endif
/* Slow path: block until awoken. */
mutex_enter(&xc->xc_lock);
@@ -422,7 +443,11 @@ xc_thread(void *cookie)
(*func)(arg1, arg2);
mutex_enter(&xc->xc_lock);
+#ifdef __HAVE_ATOMIC64_LOADSTORE
+ atomic_store_release(&xc->xc_donep, xc->xc_donep + 1);
+#else
xc->xc_donep++;
+#endif
}
/* NOTREACHED */
}
@@ -462,7 +487,6 @@ xc__highpri_intr(void *dummy)
* Lock-less fetch of function and its arguments.
* Safe since it cannot change at this point.
*/
- KASSERT(xc->xc_donep < xc->xc_headp);
func = xc->xc_func;
arg1 = xc->xc_arg1;
arg2 = xc->xc_arg2;
@@ -475,7 +499,13 @@ xc__highpri_intr(void *dummy)
* cross-call has been processed - notify waiters, if any.
*/
mutex_enter(&xc->xc_lock);
- if (++xc->xc_donep == xc->xc_headp) {
+ KASSERT(xc->xc_donep < xc->xc_headp);
+#ifdef __HAVE_ATOMIC64_LOADSTORE
+ atomic_store_release(&xc->xc_donep, xc->xc_donep + 1);
+#else
+ xc->xc_donep++;
+#endif
+ if (xc->xc_donep == xc->xc_headp) {
cv_broadcast(&xc->xc_busy);
}
mutex_exit(&xc->xc_lock);
While here, fix a bug that was formerly in xcall(9): a missing
acquire operation in the xc_wait fast path so that all memory
operations in the xcall on remote CPUs will happen before any memory
operations on the issuing CPU after xc_wait returns.
All stores of xc->xc_donep are done with atomic_store_release so that
we can safely use atomic_load_acquire to read it outside the lock.
However, this fast path only works on platforms with cheap 64-bit
atomic load/store, so conditionalize it on __HAVE_ATOMIC64_LOADSTORE.
(Under the lock, no need for atomic loads since nobody else will be
issuing stores.)
For review, here's the relevant diff from the old version of the fast
path, from before it was removed and some other things changed in the
file:
diff --git a/sys/kern/subr_xcall.c b/sys/kern/subr_xcall.c
index 45a877aa90e0..b6bfb6455291 100644
--- a/sys/kern/subr_xcall.c
+++ b/sys/kern/subr_xcall.c
@@ -84,6 +84,7 @@ __KERNEL_RCSID(0, "$NetBSD: subr_xcall.c,v 1.27 2019/10/06 15:11:17 uwe Exp $");
#include <sys/evcnt.h>
#include <sys/kthread.h>
#include <sys/cpu.h>
+#include <sys/atomic.h>
#ifdef _RUMPKERNEL
#include "rump_private.h"
@@ -334,10 +353,12 @@ xc_wait(uint64_t where)
xc = &xc_low_pri;
}
+#ifdef __HAVE_ATOMIC64_LOADSTORE
/* Fast path, if already done. */
- if (xc->xc_donep >= where) {
+ if (atomic_load_acquire(&xc->xc_donep) >= where) {
return;
}
+#endif
/* Slow path: block until awoken. */
mutex_enter(&xc->xc_lock);
@@ -422,7 +443,11 @@ xc_thread(void *cookie)
(*func)(arg1, arg2);
mutex_enter(&xc->xc_lock);
+#ifdef __HAVE_ATOMIC64_LOADSTORE
+ atomic_store_release(&xc->xc_donep, xc->xc_donep + 1);
+#else
xc->xc_donep++;
+#endif
}
/* NOTREACHED */
}
@@ -462,7 +487,6 @@ xc__highpri_intr(void *dummy)
* Lock-less fetch of function and its arguments.
* Safe since it cannot change at this point.
*/
- KASSERT(xc->xc_donep < xc->xc_headp);
func = xc->xc_func;
arg1 = xc->xc_arg1;
arg2 = xc->xc_arg2;
@@ -475,7 +499,13 @@ xc__highpri_intr(void *dummy)
* cross-call has been processed - notify waiters, if any.
*/
mutex_enter(&xc->xc_lock);
- if (++xc->xc_donep == xc->xc_headp) {
+ KASSERT(xc->xc_donep < xc->xc_headp);
+#ifdef __HAVE_ATOMIC64_LOADSTORE
+ atomic_store_release(&xc->xc_donep, xc->xc_donep + 1);
+#else
+ xc->xc_donep++;
+#endif
+ if (xc->xc_donep == xc->xc_headp) {
cv_broadcast(&xc->xc_busy);
}
mutex_exit(&xc->xc_lock);
MAIN commitmail json YAML
Mark unreachable branch with __unreachable() to fix i386/ALL build.
MAIN commitmail json YAML
Adapt <sys/pslist.h> to use atomic_load/store_*.
Changes:
- membar_producer();
*p = v;
=>
atomic_store_release(p, v);
(Effectively like using membar_exit instead of membar_producer,
which is what we should have been doing all along so that stores by
the `reader' can't affect earlier loads by the writer, such as
KASSERT(p->refcnt == 0) in the writer and atomic_inc(&p->refcnt) in
the reader.)
- p = *pp;
if (p != NULL) membar_datadep_consumer();
=>
p = atomic_load_consume(pp);
(Only makes a difference on DEC Alpha. As long as lists generally
have at least one element, this is not likely to make a big
difference, and keeps the code simpler and clearer.)
No other functional change intended. While here, annotate each
synchronizing load and store with its counterpart in a comment.
Changes:
- membar_producer();
*p = v;
=>
atomic_store_release(p, v);
(Effectively like using membar_exit instead of membar_producer,
which is what we should have been doing all along so that stores by
the `reader' can't affect earlier loads by the writer, such as
KASSERT(p->refcnt == 0) in the writer and atomic_inc(&p->refcnt) in
the reader.)
- p = *pp;
if (p != NULL) membar_datadep_consumer();
=>
p = atomic_load_consume(pp);
(Only makes a difference on DEC Alpha. As long as lists generally
have at least one element, this is not likely to make a big
difference, and keeps the code simpler and clearer.)
No other functional change intended. While here, annotate each
synchronizing load and store with its counterpart in a comment.
MAIN commitmail json YAML
Rework modified atomic_load/store_* to work on const pointers.
MAIN commitmail json YAML
Need <sys/atomic.h> for atomic_inc_64.
Emptying out <machine/rwlock.h> had the side effect of removing an
implied #include <sys/atomic.h>.
Emptying out <machine/rwlock.h> had the side effect of removing an
implied #include <sys/atomic.h>.
MAIN commitmail json YAML
Nix vestigial references to MUTEX_GIVE and MUTEX_RECEIVE in comments.
MAIN commitmail json YAML
src/share/man/man9/atomic_loadstore.9@1.3
/
diff
/
nxr@1.3
src/share/man/man9/uvm_hotplug.9@1.5 / diff / nxr@1.5
src/usr.sbin/i2cscan/i2cscan.8@1.7 / diff / nxr@1.7
src/usr.sbin/pcictl/pcictl.8@1.20 / diff / nxr@1.20
src/share/man/man9/uvm_hotplug.9@1.5 / diff / nxr@1.5
src/usr.sbin/i2cscan/i2cscan.8@1.7 / diff / nxr@1.7
src/usr.sbin/pcictl/pcictl.8@1.20 / diff / nxr@1.20
Use .Sy, not .Em, for bold-faced WARNING of impending doom.
Underline and, worse, italic aren't as good at catching the eye.
Underline and, worse, italic aren't as good at catching the eye.
MAIN commitmail json YAML
Document relation to atomic_ops(3) and membar_ops(3).
MAIN commitmail json YAML
Document xc_barrier.
MAIN commitmail json YAML
Missed another spot.
Marked mb.9 obsolete but forgot to mark mb_memory.9 &c. too.
Marked mb.9 obsolete but forgot to mark mb_memory.9 &c. too.
MAIN commitmail json YAML
src/sys/arch/alpha/include/mutex.h@1.6
/
diff
/
nxr@1.6
src/sys/arch/arm/include/mutex.h@1.21 / diff / nxr@1.21
src/sys/arch/ia64/include/mutex.h@1.5 / diff / nxr@1.5
src/sys/arch/m68k/include/mutex.h@1.9 / diff / nxr@1.9
src/sys/arch/mips/include/mutex.h@1.8 / diff / nxr@1.8
src/sys/arch/or1k/include/mutex.h@1.2 / diff / nxr@1.2
src/sys/arch/powerpc/include/mutex.h@1.6 / diff / nxr@1.6
src/sys/arch/riscv/include/mutex.h@1.3 / diff / nxr@1.3
src/sys/arch/sh3/include/mutex.h@1.10 / diff / nxr@1.10
src/sys/arch/sparc/include/mutex.h@1.11 / diff / nxr@1.11
src/sys/arch/sparc64/include/mutex.h@1.6 / diff / nxr@1.6
src/sys/arch/usermode/include/mutex.h@1.4 / diff / nxr@1.4
src/sys/arch/vax/include/mutex.h@1.15 / diff / nxr@1.15
src/sys/arch/x86/include/mutex.h@1.7 / diff / nxr@1.7
src/sys/arch/arm/include/mutex.h@1.21 / diff / nxr@1.21
src/sys/arch/ia64/include/mutex.h@1.5 / diff / nxr@1.5
src/sys/arch/m68k/include/mutex.h@1.9 / diff / nxr@1.9
src/sys/arch/mips/include/mutex.h@1.8 / diff / nxr@1.8
src/sys/arch/or1k/include/mutex.h@1.2 / diff / nxr@1.2
src/sys/arch/powerpc/include/mutex.h@1.6 / diff / nxr@1.6
src/sys/arch/riscv/include/mutex.h@1.3 / diff / nxr@1.3
src/sys/arch/sh3/include/mutex.h@1.10 / diff / nxr@1.10
src/sys/arch/sparc/include/mutex.h@1.11 / diff / nxr@1.11
src/sys/arch/sparc64/include/mutex.h@1.6 / diff / nxr@1.6
src/sys/arch/usermode/include/mutex.h@1.4 / diff / nxr@1.4
src/sys/arch/vax/include/mutex.h@1.15 / diff / nxr@1.15
src/sys/arch/x86/include/mutex.h@1.7 / diff / nxr@1.7
Nix now-unused definitions of MUTEX_GIVE/MUTEX_RECEIVE.
MAIN commitmail json YAML
Missed a spot: delete mb.9 from MLINKS too.
MAIN commitmail json YAML
src/distrib/sets/lists/comp/mi@1.2294
/
diff
/
nxr@1.2294
src/share/man/man9/Makefile@1.443 / diff / nxr@1.443
src/share/man/man9/atomic_loadstore.9@1.1 / diff / nxr@1.1
src/sys/sys/atomic.h@1.18 / diff / nxr@1.18
src/share/man/man9/Makefile@1.443 / diff / nxr@1.443
src/share/man/man9/atomic_loadstore.9@1.1 / diff / nxr@1.1
src/sys/sys/atomic.h@1.18 / diff / nxr@1.18
New atomic load/store operations for the kernel.
Guarantee no fusing and no tearing, and can optionally impose
ordering relative to other memory operations.
Unordered:
- atomic_load_relaxed
- atomic_store_relaxed
Ordered:
- atomic_load_acquire
- atomic_load_consume
- atomic_store_release
These are intended to match C11 semantics, and can be defined in
terms of the C11 atomic API when ready.
Guarantee no fusing and no tearing, and can optionally impose
ordering relative to other memory operations.
Unordered:
- atomic_load_relaxed
- atomic_store_relaxed
Ordered:
- atomic_load_acquire
- atomic_load_consume
- atomic_store_release
These are intended to match C11 semantics, and can be defined in
terms of the C11 atomic API when ready.
MAIN commitmail json YAML
src/distrib/sets/lists/comp/mi@1.2293
/
diff
/
nxr@1.2293
src/share/man/man9/Makefile@1.442 / diff / nxr@1.442
src/share/man/man9/mb.9 deleted
src/share/man/man9/Makefile@1.442 / diff / nxr@1.442
src/share/man/man9/mb.9 deleted
Nix obsolete mb(9) man page.
MAIN commitmail json YAML
Nix mb_* on vax.
MAIN commitmail json YAML
src/sys/arch/sparc/include/lock.h@1.33
/
diff
/
nxr@1.33
src/sys/arch/sparc64/include/mutex.h@1.5 / diff / nxr@1.5
src/sys/arch/sparc64/include/mutex.h@1.5 / diff / nxr@1.5
Nix mb_* on sparc and sparc64.
MAIN commitmail json YAML
Nix mb_* on sh3.
MAIN commitmail json YAML
src/sys/arch/powerpc/include/lock.h@1.14
/
diff
/
nxr@1.14
src/sys/arch/powerpc/include/mutex.h@1.5 / diff / nxr@1.5
src/sys/arch/powerpc/include/mutex.h@1.5 / diff / nxr@1.5
Nix mb_* on powerpc.
MAIN commitmail json YAML
src/sys/arch/m68k/include/lock.h@1.16
/
diff
/
nxr@1.16
src/sys/arch/m68k/include/mutex.h@1.8 / diff / nxr@1.8
src/sys/arch/m68k/include/mutex.h@1.8 / diff / nxr@1.8
Nix mb_* on m68k.
MAIN commitmail json YAML
Nix mb_* on ia64.
MAIN commitmail json YAML
src/sys/arch/hppa/include/lock.h@1.22
/
diff
/
nxr@1.22
src/sys/arch/hppa/include/mutex.h@1.14 / diff / nxr@1.14
src/sys/arch/hppa/include/mutex.h@1.14 / diff / nxr@1.14
Nix mb_* on hppa.
MAIN commitmail json YAML
Nix mb_* on arm.
MAIN commitmail json YAML
src/sys/arch/alpha/include/lock.h@1.30
/
diff
/
nxr@1.30
src/sys/arch/alpha/include/mutex.h@1.5 / diff / nxr@1.5
src/sys/arch/alpha/include/mutex.h@1.5 / diff / nxr@1.5
Nix mb_* on alpha.
MAIN commitmail json YAML
src/sys/arch/alpha/include/rwlock.h@1.5
/
diff
/
nxr@1.5
src/sys/arch/arm/include/rwlock.h@1.10 / diff / nxr@1.10
src/sys/arch/hppa/include/rwlock.h@1.6 / diff / nxr@1.6
src/sys/arch/ia64/include/rwlock.h@1.4 / diff / nxr@1.4
src/sys/arch/m68k/include/rwlock.h@1.6 / diff / nxr@1.6
src/sys/arch/mips/include/rwlock.h@1.9 / diff / nxr@1.9
src/sys/arch/or1k/include/rwlock.h@1.2 / diff / nxr@1.2
src/sys/arch/powerpc/include/rwlock.h@1.5 / diff / nxr@1.5
src/sys/arch/riscv/include/rwlock.h@1.2 / diff / nxr@1.2
src/sys/arch/sh3/include/rwlock.h@1.6 / diff / nxr@1.6
src/sys/arch/sparc/include/rwlock.h@1.6 / diff / nxr@1.6
src/sys/arch/sparc64/include/rwlock.h@1.6 / diff / nxr@1.6
src/sys/arch/usermode/include/rwlock.h@1.4 / diff / nxr@1.4
src/sys/arch/vax/include/rwlock.h@1.7 / diff / nxr@1.7
src/sys/arch/x86/include/rwlock.h@1.6 / diff / nxr@1.6
src/sys/kern/kern_rwlock.c@1.56 / diff / nxr@1.56
src/sys/sys/rwlock.h@1.11 / diff / nxr@1.11
src/sys/arch/arm/include/rwlock.h@1.10 / diff / nxr@1.10
src/sys/arch/hppa/include/rwlock.h@1.6 / diff / nxr@1.6
src/sys/arch/ia64/include/rwlock.h@1.4 / diff / nxr@1.4
src/sys/arch/m68k/include/rwlock.h@1.6 / diff / nxr@1.6
src/sys/arch/mips/include/rwlock.h@1.9 / diff / nxr@1.9
src/sys/arch/or1k/include/rwlock.h@1.2 / diff / nxr@1.2
src/sys/arch/powerpc/include/rwlock.h@1.5 / diff / nxr@1.5
src/sys/arch/riscv/include/rwlock.h@1.2 / diff / nxr@1.2
src/sys/arch/sh3/include/rwlock.h@1.6 / diff / nxr@1.6
src/sys/arch/sparc/include/rwlock.h@1.6 / diff / nxr@1.6
src/sys/arch/sparc64/include/rwlock.h@1.6 / diff / nxr@1.6
src/sys/arch/usermode/include/rwlock.h@1.4 / diff / nxr@1.4
src/sys/arch/vax/include/rwlock.h@1.7 / diff / nxr@1.7
src/sys/arch/x86/include/rwlock.h@1.6 / diff / nxr@1.6
src/sys/kern/kern_rwlock.c@1.56 / diff / nxr@1.56
src/sys/sys/rwlock.h@1.11 / diff / nxr@1.11
Largely eliminate the MD rwlock.h header file.
This was full of definitions that have been obsolete for over a
decade. The file still remains for __HAVE_RW_STUBS but that's all.
Used only internally in kern_rwlock.c now, not by <sys/rwlock.h>.
This was full of definitions that have been obsolete for over a
decade. The file still remains for __HAVE_RW_STUBS but that's all.
Used only internally in kern_rwlock.c now, not by <sys/rwlock.h>.
MAIN commitmail json YAML
Use cprng_strong, not cprng_fast, for sysctl kern.arnd.
MAIN commitmail json YAML
Use an explicit run-time assertion where compile-time doesn't work.
MAIN commitmail json YAML
Use CTASSERT where possible, run-time assertion where not.
Should fix negative-length variable-length array found by kamil.
Should fix negative-length variable-length array found by kamil.
MAIN commitmail json YAML
Update NIST SP800-90A reference.
MAIN commitmail json YAML
Replace slightly wrong rant by shorter and slightly less long rant.
(If X and Y in Z/2Z are independent, then so are X and X+Y. What was
I thinking.)
(If X and Y in Z/2Z are independent, then so are X and X+Y. What was
I thinking.)
MAIN commitmail json YAML
Update man page to reflect switch from CTR_DRBG to Hash_DRBG.
MAIN commitmail json YAML
Add UPDATING note about radeon firmware image mistake.
MAIN commitmail json YAML
src/distrib/sets/lists/base/mi@1.1214
/
diff
/
nxr@1.1214
src/sys/dev/microcode/radeon/Makefile@1.6 / diff / nxr@1.6
src/sys/dev/microcode/radeon/bonaire_ce.bin deleted
src/sys/dev/microcode/radeon/bonaire_mc.bin deleted
src/sys/dev/microcode/radeon/bonaire_me.bin deleted
src/sys/dev/microcode/radeon/bonaire_mec.bin deleted
src/sys/dev/microcode/radeon/bonaire_pfp.bin deleted
src/sys/dev/microcode/radeon/bonaire_rlc.bin deleted
src/sys/dev/microcode/radeon/bonaire_sdma.bin deleted
src/sys/dev/microcode/radeon/bonaire_smc.bin deleted
src/sys/dev/microcode/radeon/bonaire_uvd.bin deleted
src/sys/dev/microcode/radeon/hainan_ce.bin deleted
src/sys/dev/microcode/radeon/hainan_mc.bin deleted
src/sys/dev/microcode/radeon/hainan_me.bin deleted
src/sys/dev/microcode/radeon/hainan_pfp.bin deleted
src/sys/dev/microcode/radeon/hainan_rlc.bin deleted
src/sys/dev/microcode/radeon/hainan_smc.bin deleted
src/sys/dev/microcode/radeon/hawaii_ce.bin deleted
src/sys/dev/microcode/radeon/hawaii_mc.bin deleted
src/sys/dev/microcode/radeon/hawaii_me.bin deleted
:
(more 48 files)
src/sys/dev/microcode/radeon/Makefile@1.6 / diff / nxr@1.6
src/sys/dev/microcode/radeon/bonaire_ce.bin deleted
src/sys/dev/microcode/radeon/bonaire_mc.bin deleted
src/sys/dev/microcode/radeon/bonaire_me.bin deleted
src/sys/dev/microcode/radeon/bonaire_mec.bin deleted
src/sys/dev/microcode/radeon/bonaire_pfp.bin deleted
src/sys/dev/microcode/radeon/bonaire_rlc.bin deleted
src/sys/dev/microcode/radeon/bonaire_sdma.bin deleted
src/sys/dev/microcode/radeon/bonaire_smc.bin deleted
src/sys/dev/microcode/radeon/bonaire_uvd.bin deleted
src/sys/dev/microcode/radeon/hainan_ce.bin deleted
src/sys/dev/microcode/radeon/hainan_mc.bin deleted
src/sys/dev/microcode/radeon/hainan_me.bin deleted
src/sys/dev/microcode/radeon/hainan_pfp.bin deleted
src/sys/dev/microcode/radeon/hainan_rlc.bin deleted
src/sys/dev/microcode/radeon/hainan_smc.bin deleted
src/sys/dev/microcode/radeon/hawaii_ce.bin deleted
src/sys/dev/microcode/radeon/hawaii_mc.bin deleted
src/sys/dev/microcode/radeon/hawaii_me.bin deleted
:
(more 48 files)
Revert "Add more missing firmwares."
This reverts
https://mail-index.NetBSD.org/source-changes/2019/08/27/msg108499.html
which broke the tree on case-insensitive file systems.
See discussion at
https://mail-index.NetBSD.org/source-changes-d/2019/08/27/msg011590.html
for alternatives considered.
This does _not_ simply mark the new files as `obsolete' in the set
lists, because if we marked foo.bin obsolete then on a case-
insensitive file system, then it would try to delete the FOO.bin that
we still want installed. We'll require a manual change announced in
UPDATING and on current-users.
ok msaitoh
This reverts
https://mail-index.NetBSD.org/source-changes/2019/08/27/msg108499.html
which broke the tree on case-insensitive file systems.
See discussion at
https://mail-index.NetBSD.org/source-changes-d/2019/08/27/msg011590.html
for alternatives considered.
This does _not_ simply mark the new files as `obsolete' in the set
lists, because if we marked foo.bin obsolete then on a case-
insensitive file system, then it would try to delete the FOO.bin that
we still want installed. We'll require a manual change announced in
UPDATING and on current-users.
ok msaitoh
MAIN commitmail json YAML
src/sys/conf/files@1.1238
/
diff
/
nxr@1.1238
src/sys/crypto/nist_ctr_drbg/files.nist_ctr_drbg deleted
src/sys/crypto/nist_ctr_drbg/nist_ctr_aes_rijndael.h deleted
src/sys/crypto/nist_ctr_drbg/nist_ctr_drbg.c deleted
src/sys/crypto/nist_ctr_drbg/nist_ctr_drbg.h deleted
src/sys/crypto/nist_ctr_drbg/nist_ctr_drbg_aes128.h deleted
src/sys/crypto/nist_ctr_drbg/nist_ctr_drbg_aes256.h deleted
src/sys/crypto/nist_ctr_drbg/nist_ctr_drbg_config.h deleted
src/sys/crypto/nist_hash_drbg/files.nist_hash_drbg@1.1 / diff / nxr@1.1
src/sys/crypto/nist_hash_drbg/nist_hash_drbg.c@1.1 / diff / nxr@1.1
src/sys/crypto/nist_hash_drbg/nist_hash_drbg.h@1.1 / diff / nxr@1.1
src/sys/dev/rndpseudo.c@1.38 / diff / nxr@1.38
src/sys/kern/subr_cprng.c@1.31 / diff / nxr@1.31
src/sys/rump/kern/lib/libcrypto/Makefile@1.5 / diff / nxr@1.5
src/sys/rump/librump/rumpkern/Makefile.rumpkern@1.176 / diff / nxr@1.176
src/sys/sys/cprng.h@1.15 / diff / nxr@1.15
src/sys/crypto/nist_ctr_drbg/files.nist_ctr_drbg deleted
src/sys/crypto/nist_ctr_drbg/nist_ctr_aes_rijndael.h deleted
src/sys/crypto/nist_ctr_drbg/nist_ctr_drbg.c deleted
src/sys/crypto/nist_ctr_drbg/nist_ctr_drbg.h deleted
src/sys/crypto/nist_ctr_drbg/nist_ctr_drbg_aes128.h deleted
src/sys/crypto/nist_ctr_drbg/nist_ctr_drbg_aes256.h deleted
src/sys/crypto/nist_ctr_drbg/nist_ctr_drbg_config.h deleted
src/sys/crypto/nist_hash_drbg/files.nist_hash_drbg@1.1 / diff / nxr@1.1
src/sys/crypto/nist_hash_drbg/nist_hash_drbg.c@1.1 / diff / nxr@1.1
src/sys/crypto/nist_hash_drbg/nist_hash_drbg.h@1.1 / diff / nxr@1.1
src/sys/dev/rndpseudo.c@1.38 / diff / nxr@1.38
src/sys/kern/subr_cprng.c@1.31 / diff / nxr@1.31
src/sys/rump/kern/lib/libcrypto/Makefile@1.5 / diff / nxr@1.5
src/sys/rump/librump/rumpkern/Makefile.rumpkern@1.176 / diff / nxr@1.176
src/sys/sys/cprng.h@1.15 / diff / nxr@1.15
Switch from NIST CTR_DRBG with AES to NIST Hash_DRBG with SHA-256.
Benefits:
- larger seeds -- a 128-bit key alone is not enough for `128-bit security'
- better resistance to timing side channels than AES
- a better-understood security story (https://eprint.iacr.org/2018/349)
- no loss in compliance with US government standards that nobody ever
got fired for choosing, at least in the US-dominated western world
- no dirty endianness tricks
- self-tests
Drawbacks:
- performance hit: throughput is reduced to about 1/3 in naive measurements
=> possible to mitigate by using hardware SHA-256 instructions
=> all you really need is 32 bytes to seed a userland PRNG anyway
=> if we just used ChaCha this would go away...
XXX pullup-7
XXX pullup-8
XXX pullup-9
Benefits:
- larger seeds -- a 128-bit key alone is not enough for `128-bit security'
- better resistance to timing side channels than AES
- a better-understood security story (https://eprint.iacr.org/2018/349)
- no loss in compliance with US government standards that nobody ever
got fired for choosing, at least in the US-dominated western world
- no dirty endianness tricks
- self-tests
Drawbacks:
- performance hit: throughput is reduced to about 1/3 in naive measurements
=> possible to mitigate by using hardware SHA-256 instructions
=> all you really need is 32 bytes to seed a userland PRNG anyway
=> if we just used ChaCha this would go away...
XXX pullup-7
XXX pullup-8
XXX pullup-9
MAIN commitmail json YAML
Delete dead-as-a-doornail-in-a-dead-horse branch.
If dev_priv is null here, you're hosed to begin with, so the apparent
null pointer dereference in this branch is moot; also this is the old
drm code that we should maybe just delete altogether...
Potential null pointer dereference reported by Dr Silvio Cesare of
InfoSect.
If dev_priv is null here, you're hosed to begin with, so the apparent
null pointer dereference in this branch is moot; also this is the old
drm code that we should maybe just delete altogether...
Potential null pointer dereference reported by Dr Silvio Cesare of
InfoSect.
MAIN commitmail json YAML
Delete dead null test after malloc(M_WAITOK).
Reported as a possible null pointer dereference by Dr Silvio Cesare
of InfoSect, but the branch is dead code anyway.
Reported as a possible null pointer dereference by Dr Silvio Cesare
of InfoSect, but the branch is dead code anyway.
MAIN commitmail json YAML
Don't dereference pointer when we're about to panic because it's null.
Reported by Dr Silvio Cesare of InfoSect.
Reported by Dr Silvio Cesare of InfoSect.
MAIN commitmail json YAML
Fix feraiseexcept.
- Don't touch the trap flags (though on all ARMv8 I know they have no
effect anyway).
- Don't clear any existing raised exception flags; just add to them.
XXX atf test
XXX pullup-9
- Don't touch the trap flags (though on all ARMv8 I know they have no
effect anyway).
- Don't clear any existing raised exception flags; just add to them.
XXX atf test
XXX pullup-9
MAIN commitmail json YAML
Fix fesetenv and feupdateenv.
- fesetenv is supposed to set the stored rounding mode (and stored trap
settings, but they have no effect on any ARMv8 I know).
- feupdateenv is supposed to re-raise the exceptions that were raised
in the environment when it was called.
XXX atf test
XXX pullup-9
- fesetenv is supposed to set the stored rounding mode (and stored trap
settings, but they have no effect on any ARMv8 I know).
- feupdateenv is supposed to re-raise the exceptions that were raised
in the environment when it was called.
XXX atf test
XXX pullup-9
MAIN commitmail json YAML
Fix byte order bug in murmurhash and pacify sanitizers.
MAIN commitmail json YAML
src/sys/arch/amd64/include/param.h@1.31
/
diff
/
nxr@1.31
src/sys/arch/i386/include/param.h@1.85 / diff / nxr@1.85
src/sys/sys/param.h@1.610 / diff / nxr@1.610
src/sys/arch/i386/include/param.h@1.85 / diff / nxr@1.85
src/sys/sys/param.h@1.610 / diff / nxr@1.610
New macro ALIGNED_POINTER_LOAD.
To be used with ALIGNED_POINTER(p,t) instead of writing *(const t *)p
directly. This way, on machines without strict alignment, we can use
memcpy to pacify sanitizers, while getting the same compiled code in
the end with a single (say) MOV instruction.
To be used with ALIGNED_POINTER(p,t) instead of writing *(const t *)p
directly. This way, on machines without strict alignment, we can use
memcpy to pacify sanitizers, while getting the same compiled code in
the end with a single (say) MOV instruction.
MAIN commitmail json YAML
Mark the libc fegetround weak reference unused.
Not all .c files that include gdtoaimp.h use it, which makes clang
unhappy.
Not all .c files that include gdtoaimp.h use it, which makes clang
unhappy.
MAIN commitmail json YAML
src/sys/netinet/tcp_input.c@1.415
/
diff
/
nxr@1.415
src/sys/netinet/tcp_subr.c@1.283 / diff / nxr@1.283
src/sys/netinet/tcp_timer.h@1.30 / diff / nxr@1.30
src/sys/netinet/tcp_usrreq.c@1.225 / diff / nxr@1.225
src/sys/netinet/tcp_subr.c@1.283 / diff / nxr@1.283
src/sys/netinet/tcp_timer.h@1.30 / diff / nxr@1.30
src/sys/netinet/tcp_usrreq.c@1.225 / diff / nxr@1.225
Clamp tcp timer quantities to reasonable ranges.
Reported-by: syzbot+259675123340bf46a6de@syzkaller.appspotmail.com
Reported-by: syzbot+259675123340bf46a6de@syzkaller.appspotmail.com
MAIN commitmail json YAML
Acquire shmseg uobj reference while we hold shm_lock.
Otherwise nothing prevents it from being detached under our feet when
we drop shm_lock.
Reported-by: syzbot+a76c618a6808a0fda475@syzkaller.appspotmail.com
Otherwise nothing prevents it from being detached under our feet when
we drop shm_lock.
Reported-by: syzbot+a76c618a6808a0fda475@syzkaller.appspotmail.com
MAIN commitmail json YAML
Fix race in timer destruction.
Anything we confirmed about the world before callout_halt may cease
to be true afterward, so make sure to start over in that case.
Add some comments explaining what's going on.
Reported-by: syzbot+d58da99969f58c1a024a@syzkaller.appspotmail.com
Anything we confirmed about the world before callout_halt may cease
to be true afterward, so make sure to start over in that case.
Add some comments explaining what's going on.
Reported-by: syzbot+d58da99969f58c1a024a@syzkaller.appspotmail.com
MAIN commitmail json YAML
Remove last trace of never-used map_attrib.
MAIN commitmail json YAML
src/lib/libc/gdtoa/g_Qfmt.c@1.5
/
diff
/
nxr@1.5
src/lib/libc/gdtoa/g_dfmt.c@1.4 / diff / nxr@1.4
src/lib/libc/gdtoa/g_ffmt.c@1.4 / diff / nxr@1.4
src/lib/libc/gdtoa/g_xLfmt.c@1.5 / diff / nxr@1.5
src/lib/libc/gdtoa/g_xfmt.c@1.5 / diff / nxr@1.5
src/lib/libc/gdtoa/gdtoa.c@1.7 / diff / nxr@1.7
src/lib/libc/gdtoa/gdtoa.h@1.11 / diff / nxr@1.11
src/lib/libc/gdtoa/gdtoaimp.h@1.16 / diff / nxr@1.16
src/lib/libc/gdtoa/ldtoa.c@1.6 / diff / nxr@1.6
src/lib/libc/gdtoa/strtoIQ.c@1.3 / diff / nxr@1.3
src/lib/libc/gdtoa/strtoId.c@1.3 / diff / nxr@1.3
src/lib/libc/gdtoa/strtoIdd.c@1.3 / diff / nxr@1.3
src/lib/libc/gdtoa/strtoIf.c@1.3 / diff / nxr@1.3
src/lib/libc/gdtoa/strtoIg.c@1.4 / diff / nxr@1.4
src/lib/libc/gdtoa/strtoIx.c@1.3 / diff / nxr@1.3
src/lib/libc/gdtoa/strtoIxL.c@1.3 / diff / nxr@1.3
src/lib/libc/gdtoa/strtod.c@1.15 / diff / nxr@1.15
src/lib/libc/gdtoa/strtodI.c@1.4 / diff / nxr@1.4
src/lib/libc/gdtoa/strtopd.c@1.4 / diff / nxr@1.4
src/lib/libc/gdtoa/strtopdd.c@1.4 / diff / nxr@1.4
:
(more 2 files)
src/lib/libc/gdtoa/g_dfmt.c@1.4 / diff / nxr@1.4
src/lib/libc/gdtoa/g_ffmt.c@1.4 / diff / nxr@1.4
src/lib/libc/gdtoa/g_xLfmt.c@1.5 / diff / nxr@1.5
src/lib/libc/gdtoa/g_xfmt.c@1.5 / diff / nxr@1.5
src/lib/libc/gdtoa/gdtoa.c@1.7 / diff / nxr@1.7
src/lib/libc/gdtoa/gdtoa.h@1.11 / diff / nxr@1.11
src/lib/libc/gdtoa/gdtoaimp.h@1.16 / diff / nxr@1.16
src/lib/libc/gdtoa/ldtoa.c@1.6 / diff / nxr@1.6
src/lib/libc/gdtoa/strtoIQ.c@1.3 / diff / nxr@1.3
src/lib/libc/gdtoa/strtoId.c@1.3 / diff / nxr@1.3
src/lib/libc/gdtoa/strtoIdd.c@1.3 / diff / nxr@1.3
src/lib/libc/gdtoa/strtoIf.c@1.3 / diff / nxr@1.3
src/lib/libc/gdtoa/strtoIg.c@1.4 / diff / nxr@1.4
src/lib/libc/gdtoa/strtoIx.c@1.3 / diff / nxr@1.3
src/lib/libc/gdtoa/strtoIxL.c@1.3 / diff / nxr@1.3
src/lib/libc/gdtoa/strtod.c@1.15 / diff / nxr@1.15
src/lib/libc/gdtoa/strtodI.c@1.4 / diff / nxr@1.4
src/lib/libc/gdtoa/strtopd.c@1.4 / diff / nxr@1.4
src/lib/libc/gdtoa/strtopdd.c@1.4 / diff / nxr@1.4
:
(more 2 files)
Sprinkle some more const in.
MAIN commitmail json YAML
src/lib/libc/gdtoa/Makefile.inc@1.11
/
diff
/
nxr@1.11
src/lib/libc/gdtoa/gdtoa_fltrnds.h@1.2 / diff / nxr@1.2
src/lib/libc/gdtoa/gdtoaimp.h@1.15 / diff / nxr@1.15
src/lib/libc/gdtoa/gdtoa_fltrnds.h@1.2 / diff / nxr@1.2
src/lib/libc/gdtoa/gdtoaimp.h@1.15 / diff / nxr@1.15
Honour the floating-point rounding mode in floating-point formatting.
C99, Sec. 7.19.6.1 `The fprintf function', paragraph 13, p. 281:
(Recommended practice)
For e, E, f, F, g, and G conversions, if the number of significant
decimal digits is at most DECIMAL_DIG, then the result should be
correctly rounded. If the number of significant decimal digits is
more than DECIMAL_DIG but the source value is exactly
representable with DECIMAL_DIG digits, then the result should be
an exact representation with trailing zeros. Otherwise, the
source value is bounded by two adjacent decimal strings L < U,
both having DECIMAL_DIG significant idgits; the value of the
resultant decimal string D should satisfy L <= D <= U, _with the
extra stipulation that the error should have a correct sign for
the current rounding direction_. [emphasis added]
The gdtoa code base already supports respecting the floating-point
rounding mode, as long as we compile it with Honor_FLT_ROUNDS
defined. However, for this to work, fegetround must be available in
libc, which it is not currently -- the fenv logic is in libm.
Fortunately, we don't have to move all of fenv from libm to libc --
programs that do not link against libm don't have fesetround, so the
rounding mode is always the default (barring asm shenanigans that
bypass the API -- tough). So use a weak reference to fegetround; by
default, assume FE_TONEAREST if it is not defined.
C99, Sec. 7.19.6.1 `The fprintf function', paragraph 13, p. 281:
(Recommended practice)
For e, E, f, F, g, and G conversions, if the number of significant
decimal digits is at most DECIMAL_DIG, then the result should be
correctly rounded. If the number of significant decimal digits is
more than DECIMAL_DIG but the source value is exactly
representable with DECIMAL_DIG digits, then the result should be
an exact representation with trailing zeros. Otherwise, the
source value is bounded by two adjacent decimal strings L < U,
both having DECIMAL_DIG significant idgits; the value of the
resultant decimal string D should satisfy L <= D <= U, _with the
extra stipulation that the error should have a correct sign for
the current rounding direction_. [emphasis added]
The gdtoa code base already supports respecting the floating-point
rounding mode, as long as we compile it with Honor_FLT_ROUNDS
defined. However, for this to work, fegetround must be available in
libc, which it is not currently -- the fenv logic is in libm.
Fortunately, we don't have to move all of fenv from libm to libc --
programs that do not link against libm don't have fesetround, so the
rounding mode is always the default (barring asm shenanigans that
bypass the API -- tough). So use a weak reference to fegetround; by
default, assume FE_TONEAREST if it is not defined.
MAIN commitmail json YAML
Update uuidgen(2) man page to reflect reality as of five years ago.
MAIN commitmail json YAML
Use the same variable for the locale example.
MAIN commitmail json YAML
Expand on correct and incorrect usage, and on compiler warnings.
Give an example program with the warning, and some example nonsense
outputs. Also note why glibc's approach doesn't solve the problem.
Give an example program with the warning, and some example nonsense
outputs. Also note why glibc's approach doesn't solve the problem.
MAIN commitmail json YAML
Load curlwp into a0 to call fpu_save(curlwp), not fpu_save(garbage).
The lwp argument to fpu_save was added by chuq in revision 1.14 of
mips_fpu.c, but this call was not updated to pass it. This is the
correct lwp to pass because we are in the middle of executing a
kernel-emulated fp instruction, so curlwp must own the fpu state, and
we are trying to write the fp registers to memory so we can adjust
them there when ctc1 would fail.
Fixes PR port-cobalt/53090, PR port-sgimips/53791.
The lwp argument to fpu_save was added by chuq in revision 1.14 of
mips_fpu.c, but this call was not updated to pass it. This is the
correct lwp to pass because we are in the middle of executing a
kernel-emulated fp instruction, so curlwp must own the fpu state, and
we are trying to write the fp registers to memory so we can adjust
them there when ctc1 would fail.
Fixes PR port-cobalt/53090, PR port-sgimips/53791.
MAIN commitmail json YAML
No need to write any initializer here, casted or otherwise.
(Sorry about the build breakage; thanks, kre!)
(Sorry about the build breakage; thanks, kre!)
MAIN commitmail json YAML
Don't try to interpret the second half of a 64-bit BAR as another one.
From msaitoh@.
From msaitoh@.
MAIN commitmail json YAML
Use callout_halt, not callout_stop, for FreeBSD callout_drain shim.
Callers expect callout_drain will wait for it to complete if it has
fired.
Callers expect callout_drain will wait for it to complete if it has
fired.
MAIN commitmail json YAML
cbrtl_powl is xfail only if long double has more bits than double.
MAIN commitmail json YAML
src/sys/arch/amd64/amd64/machdep.c@1.322
/
diff
/
nxr@1.322
src/sys/arch/amd64/include/types.h@1.58 / diff / nxr@1.58
src/sys/arch/x86/x86/efi.c@1.16 / diff / nxr@1.16
src/sys/rump/librump/rumpkern/arch/generic/Makefile.inc@1.3 / diff / nxr@1.3
src/sys/rump/librump/rumpkern/arch/generic/rump_generic_directmap.c@1.1 / diff / nxr@1.1
src/sys/rump/librump/rumpkern/arch/x86_64/Makefile.inc@1.9 / diff / nxr@1.9
src/sys/arch/amd64/include/types.h@1.58 / diff / nxr@1.58
src/sys/arch/x86/x86/efi.c@1.16 / diff / nxr@1.16
src/sys/rump/librump/rumpkern/arch/generic/Makefile.inc@1.3 / diff / nxr@1.3
src/sys/rump/librump/rumpkern/arch/generic/rump_generic_directmap.c@1.1 / diff / nxr@1.1
src/sys/rump/librump/rumpkern/arch/x86_64/Makefile.inc@1.9 / diff / nxr@1.9
Make the direct-map API always available, but fail if KASAN or rump.
(Only for architectures that support it at all; on others,
__HAVE_MM_MD_DIRECT_MAPPED_PHYS/IO are still undefined and the
functions unimplemented.)
This gives modules like zfs an opportunity to use it.
While here, fix the one caller of mm_md_direct_mapped_phys that
ignored the return value (and make sure to call pmap_kremove/update
before uvm_km_free).
(Only for architectures that support it at all; on others,
__HAVE_MM_MD_DIRECT_MAPPED_PHYS/IO are still undefined and the
functions unimplemented.)
This gives modules like zfs an opportunity to use it.
While here, fix the one caller of mm_md_direct_mapped_phys that
ignored the return value (and make sure to call pmap_kremove/update
before uvm_km_free).
MAIN commitmail json YAML
Include <bsd.own.mk> before using ACTIVE_CC. Fixes make errors.
MAIN commitmail json YAML
Respect the __HIDE_DELAY kludge like on other ports.
MAIN commitmail json YAML
Need <dev/mm.h> for mm_md_direct_mapped_phys.
It turns out this code always sees __HAVE_MM_MD_DIRECT_MAPPED_PHYS as
disabled on amd64, for reasons that I shall address forthwith, but it
is enabled on aarch64 and so the MKZFS=yes build breaks.
It turns out this code always sees __HAVE_MM_MD_DIRECT_MAPPED_PHYS as
disabled on amd64, for reasons that I shall address forthwith, but it
is enabled on aarch64 and so the MKZFS=yes build breaks.
MAIN commitmail json YAML
src/external/cddl/osnet/dist/uts/common/fs/zfs/spa_misc.c@1.4
/
diff
/
nxr@1.4
src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/spa_impl.h@1.3 / diff / nxr@1.3
src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/spa_impl.h@1.3 / diff / nxr@1.3
Be consistent about _KERNEL vs _HARDKERNEL in zfs.
As it happens, on x86 both _HARDKERNEL and _KERNEL get defined; see
the conditional in sys/rump/Makefile.rump that _refrains_ from
defining _RUMPKERNEL on x86.
So the only version of this code that has been tested is the one with
all of it included. But on, e.g., aarch64, we do not get _HARDKERNEL
here, and the code fails to build because some things use the field
struct spa::spa_deadman_cycid under _KERNEL when it is declared only
under _HARDKERNEL.
If there's a reason _not_ to use this in rump -- and it's not obvious
to me why -- then all access to the field needs to agree to use
_HARDKERNEL.
As it happens, on x86 both _HARDKERNEL and _KERNEL get defined; see
the conditional in sys/rump/Makefile.rump that _refrains_ from
defining _RUMPKERNEL on x86.
So the only version of this code that has been tested is the one with
all of it included. But on, e.g., aarch64, we do not get _HARDKERNEL
here, and the code fails to build because some things use the field
struct spa::spa_deadman_cycid under _KERNEL when it is declared only
under _HARDKERNEL.
If there's a reason _not_ to use this in rump -- and it's not obvious
to me why -- then all access to the field needs to agree to use
_HARDKERNEL.
MAIN commitmail json YAML
Omit unused definition with broken cpp conditional.
MAIN commitmail json YAML
Omit conflicting definition that breaks build on aarch64.
MAIN commitmail json YAML
"PRIu64", not llu, to print uint64_t.
MAIN commitmail json YAML
Define _LP64 or _ILP32 for all architectures.
Rather than write out a table for each architecture, rely on the C
compiler to define _LP64 for 64-bit ones, on the assumption that
anything not LP64 is ILP32, and on CTASSERTs to verify this
assumption so that if it's wrong it'll fail safely with a noisy build
failure.
Gives zfs half a chance of building on, e.g., powerpc.
Rather than write out a table for each architecture, rely on the C
compiler to define _LP64 for 64-bit ones, on the assumption that
anything not LP64 is ILP32, and on CTASSERTs to verify this
assumption so that if it's wrong it'll fail safely with a noisy build
failure.
Gives zfs half a chance of building on, e.g., powerpc.
MAIN commitmail json YAML
Make fenv.h optional for this test to unbreak the vax build.
MAIN commitmail json YAML
Use feenableexcept to trap fp exceptions, and trigger one, for SIGFPE.
Not every CPU traps integer division by zero -- aarch64, powerpc,
&c., just return zero.
Not every CPU traps integer division by zero -- aarch64, powerpc,
&c., just return zero.
MAIN commitmail json YAML
Sort #includes.
MAIN commitmail json YAML
Print the input to cosf on failure too.
MAIN commitmail json YAML
src/lib/libc/arch/vax/gen/Makefile.inc@1.18
/
diff
/
nxr@1.18
src/lib/libc/arch/vax/gen/fabsf.S@1.1 / diff / nxr@1.1
src/lib/libc/arch/vax/gen/fabsf.S@1.1 / diff / nxr@1.1
Attempt to implement fabsf by copying fabs and s/d/f/g.
Vax wizards, please vaxinate if I flubbed this!
Vax wizards, please vaxinate if I flubbed this!
MAIN commitmail json YAML
Use the generic C fabs/fabsl on ia64 for now to unbreak the build.
MAIN commitmail json YAML
powerpc64 needs fabsl too. (Apparently no __HAVE_LONG_DOUBLE?)
MAIN commitmail json YAML
Try speling it rite, riasthradhdadhaa or whatever your name is.
MAIN commitmail json YAML
src/lib/libc/arch/alpha/gen/fabs.S@1.4
/
diff
/
nxr@1.4
src/lib/libc/arch/hppa/gen/fabs.c@1.5 / diff / nxr@1.5
src/lib/libc/arch/m68k/gen/fabs.S@1.12 / diff / nxr@1.12
src/lib/libc/arch/mips/gen/fabs.S@1.9 / diff / nxr@1.9
src/lib/libc/arch/powerpc/gen/fabs_ieee754.S@1.2 / diff / nxr@1.2
src/lib/libc/arch/sparc/gen/fabs.S@1.5 / diff / nxr@1.5
src/lib/libc/arch/vax/gen/fabs.S@1.5 / diff / nxr@1.5
src/lib/libc/arch/hppa/gen/fabs.c@1.5 / diff / nxr@1.5
src/lib/libc/arch/m68k/gen/fabs.S@1.12 / diff / nxr@1.12
src/lib/libc/arch/mips/gen/fabs.S@1.9 / diff / nxr@1.9
src/lib/libc/arch/powerpc/gen/fabs_ieee754.S@1.2 / diff / nxr@1.2
src/lib/libc/arch/sparc/gen/fabs.S@1.5 / diff / nxr@1.5
src/lib/libc/arch/vax/gen/fabs.S@1.5 / diff / nxr@1.5
On ports without __HAVE_LONG_DOUBLE, make fabsl alias fabs.
For some reason, fabs lives in libc, not in libm, and our tests now
detect when fabs or fabsl is missing from libm. For those ports that
sometimes have long double and sometimes don't, make it conditional.
Still missing: fabs _and_ fabsl on ia64. Need help from an itanium
wizard! Other portmasters: Please take a look and see if I missed
any ports that might have long double where this alias will not work.
For some reason, fabs lives in libc, not in libm, and our tests now
detect when fabs or fabsl is missing from libm. For those ports that
sometimes have long double and sometimes don't, make it conditional.
Still missing: fabs _and_ fabsl on ia64. Need help from an itanium
wizard! Other portmasters: Please take a look and see if I missed
any ports that might have long double where this alias will not work.
MAIN commitmail json YAML
src/lib/libm/arch/aarch64/fenv.c@1.4
/
diff
/
nxr@1.4
src/sys/arch/aarch64/aarch64/fpu.c@1.3 / diff / nxr@1.3
src/sys/arch/aarch64/include/armreg.h@1.20 / diff / nxr@1.20
src/sys/arch/aarch64/aarch64/fpu.c@1.3 / diff / nxr@1.3
src/sys/arch/aarch64/include/armreg.h@1.20 / diff / nxr@1.20
When hardware subnormal support is available, disable flush-to-zero.
Similarly, when hardware NaN propagation is available, disable
default-NaN substitution.
This enables IEEE 754 semantics on any hardware that supports it by
default. Programs that want flush-to-zero or default-NaN substitution
can enable them explicitly.
ok ryo@
Similarly, when hardware NaN propagation is available, disable
default-NaN substitution.
This enables IEEE 754 semantics on any hardware that supports it by
default. Programs that want flush-to-zero or default-NaN substitution
can enable them explicitly.
ok ryo@
MAIN commitmail json YAML
src/lib/libm/Makefile@1.205
/
diff
/
nxr@1.205
src/tests/lib/libm/t_cos.c@1.6 / diff / nxr@1.6
src/tests/lib/libm/t_sin.c@1.6 / diff / nxr@1.6
src/tests/lib/libm/t_tan.c@1.7 / diff / nxr@1.7
src/tests/lib/libm/t_cos.c@1.6 / diff / nxr@1.6
src/tests/lib/libm/t_sin.c@1.6 / diff / nxr@1.6
src/tests/lib/libm/t_tan.c@1.7 / diff / nxr@1.7
Disable x87 implementations of sin, cos, tan.
The x87 hardware uses a bad approximation to pi for argument
reduction, and consequently yields bad answers for inputs near pi or
pi/2.
Tweak one tanf test whose doubly rounded output is a little too far
from the correct answer on the doubly rounded input.
The x87 hardware uses a bad approximation to pi for argument
reduction, and consequently yields bad answers for inputs near pi or
pi/2.
Tweak one tanf test whose doubly rounded output is a little too far
from the correct answer on the doubly rounded input.
MAIN commitmail json YAML
src/tests/lib/libm/t_acos.c@1.11
/
diff
/
nxr@1.11
src/tests/lib/libm/t_asin.c@1.4 / diff / nxr@1.4
src/tests/lib/libm/t_cbrt.c@1.4 / diff / nxr@1.4
src/tests/lib/libm/t_cos.c@1.5 / diff / nxr@1.5
src/tests/lib/libm/t_cosh.c@1.7 / diff / nxr@1.7
src/tests/lib/libm/t_exp.c@1.9 / diff / nxr@1.9
src/tests/lib/libm/t_ldexp.c@1.17 / diff / nxr@1.17
src/tests/lib/libm/t_libm.h@1.7 / diff / nxr@1.7
src/tests/lib/libm/t_log.c@1.14 / diff / nxr@1.14
src/tests/lib/libm/t_scalbn.c@1.16 / diff / nxr@1.16
src/tests/lib/libm/t_sin.c@1.5 / diff / nxr@1.5
src/tests/lib/libm/t_sinh.c@1.7 / diff / nxr@1.7
src/tests/lib/libm/t_sqrt.c@1.8 / diff / nxr@1.8
src/tests/lib/libm/t_tan.c@1.6 / diff / nxr@1.6
src/tests/lib/libm/t_asin.c@1.4 / diff / nxr@1.4
src/tests/lib/libm/t_cbrt.c@1.4 / diff / nxr@1.4
src/tests/lib/libm/t_cos.c@1.5 / diff / nxr@1.5
src/tests/lib/libm/t_cosh.c@1.7 / diff / nxr@1.7
src/tests/lib/libm/t_exp.c@1.9 / diff / nxr@1.9
src/tests/lib/libm/t_ldexp.c@1.17 / diff / nxr@1.17
src/tests/lib/libm/t_libm.h@1.7 / diff / nxr@1.7
src/tests/lib/libm/t_log.c@1.14 / diff / nxr@1.14
src/tests/lib/libm/t_scalbn.c@1.16 / diff / nxr@1.16
src/tests/lib/libm/t_sin.c@1.5 / diff / nxr@1.5
src/tests/lib/libm/t_sinh.c@1.7 / diff / nxr@1.7
src/tests/lib/libm/t_sqrt.c@1.8 / diff / nxr@1.8
src/tests/lib/libm/t_tan.c@1.6 / diff / nxr@1.6
Fix up libm tests.
- Fix up last few digits of a lot of known-answer tests.
Confirmed with GNU mpfr to 200 bits of precision and cross-checked
with whatever libm Ubuntu ships with.
- Test relative error, not absolute error.
- Set bounds in terms of *_EPSILON, not magic numbers.
*_EPSILON is twice the largest relative error of a correctly
rounded operation, and equal to the largest relative error of an
operation with up to 1ulp error.
Most of the operations we're testing are not correctly rounded, but
they ought to be no more than 1ulp away. For the few cases where
that's not a priori clear (like comparing cbrt and pow(x, 1/3)),
use twice *_EPSILON to allow some leeway.
- Write the success condition positively as error <= eps.
This comes out false if the result is a NaN, meaning failure. In
contrast, if we write error > eps for the _failure_ condition, then
if the result is a NaN, it will also come out false, but meaning
success, which is not what we want.
- Fix the trigonometric test cases near bad spots.
sin(pi - d) for nonzero d is not zero; it is d + O(d^3). pi is not
a floating-point number, so these results should be approximately
the nonzero error of our approximation to pi. Likewise with
cos(pi/2 - d) and tan(pi + d).
(Yes, I know the sin _function_ is ill-conditioned near pi so you
shouldn't pass approximate inputs near there, but that's separate
from whether a sin _implementation_ gives an answer that is wrong
by quintillions of ulps.)
Since on x86 (i386 and amd64 alike) we currently use x87 hardware
trigonometric instructions, which are bad, these are marked xfail
on x86 for now until we switch to software implementations (coming
soon to a repository near you).
- Use %.8g, %.17g, %.35g to print float, double, long double in failures.
This should be enough to identify the problematic outputs and/or
reproduce the computation, even if long double is binary128 with
115 bits of precision.
If there are any new libm test failures after this, tell me what
architecture you're on and send me the atf output and I'll try to
figure it out.
- Fix up last few digits of a lot of known-answer tests.
Confirmed with GNU mpfr to 200 bits of precision and cross-checked
with whatever libm Ubuntu ships with.
- Test relative error, not absolute error.
- Set bounds in terms of *_EPSILON, not magic numbers.
*_EPSILON is twice the largest relative error of a correctly
rounded operation, and equal to the largest relative error of an
operation with up to 1ulp error.
Most of the operations we're testing are not correctly rounded, but
they ought to be no more than 1ulp away. For the few cases where
that's not a priori clear (like comparing cbrt and pow(x, 1/3)),
use twice *_EPSILON to allow some leeway.
- Write the success condition positively as error <= eps.
This comes out false if the result is a NaN, meaning failure. In
contrast, if we write error > eps for the _failure_ condition, then
if the result is a NaN, it will also come out false, but meaning
success, which is not what we want.
- Fix the trigonometric test cases near bad spots.
sin(pi - d) for nonzero d is not zero; it is d + O(d^3). pi is not
a floating-point number, so these results should be approximately
the nonzero error of our approximation to pi. Likewise with
cos(pi/2 - d) and tan(pi + d).
(Yes, I know the sin _function_ is ill-conditioned near pi so you
shouldn't pass approximate inputs near there, but that's separate
from whether a sin _implementation_ gives an answer that is wrong
by quintillions of ulps.)
Since on x86 (i386 and amd64 alike) we currently use x87 hardware
trigonometric instructions, which are bad, these are marked xfail
on x86 for now until we switch to software implementations (coming
soon to a repository near you).
- Use %.8g, %.17g, %.35g to print float, double, long double in failures.
This should be enough to identify the problematic outputs and/or
reproduce the computation, even if long double is binary128 with
115 bits of precision.
If there are any new libm test failures after this, tell me what
architecture you're on and send me the atf output and I'll try to
figure it out.
MAIN commitmail json YAML
Build libm tests with -fno-builtin.
This way they test libm, not whatever the compiler does.
We should _also_ have automatic integration tests for what the
compiler does, as a separate thing.
This way they test libm, not whatever the compiler does.
We should _also_ have automatic integration tests for what the
compiler does, as a separate thing.
MAIN commitmail json YAML
src/sys/compat/common/kern_time_30.c@1.6
/
diff
/
nxr@1.6
src/sys/compat/netbsd32/netbsd32_time.c@1.50 / diff / nxr@1.50
src/sys/compat/netbsd32/netbsd32_time.c@1.50 / diff / nxr@1.50
Paranoia: zero COMPAT_30 ntptimeval and 32-bit ntptimeval too.
These structs don't have padding but safer to keep the code
structured the same way between the various ntp_gettimes in case
anyone makes more copypasta of it for future updates.
These structs don't have padding but safer to keep the code
structured the same way between the various ntp_gettimes in case
anyone makes more copypasta of it for future updates.
MAIN commitmail json YAML
Zero ntptimeval50 too to prevent 4-byte kernel stack disclosure.
From Thomas Barabosch of Fraunhofer FKIE.
XXX pullup-7, pullup-8 (along with rev. 1.60 of kern_ntptime.c)
From Thomas Barabosch of Fraunhofer FKIE.
XXX pullup-7, pullup-8 (along with rev. 1.60 of kern_ntptime.c)
MAIN commitmail json YAML
Tidy up a bit.
- Quote the opening paragraph from netbsd.org.
- Set the suggested commands in teletype.
- Give pointers in a more active voice.
- Omit trailing whitespace.
- Mention the relation of the Git mirror to the main CVS repository.
- Use a list rather than juxtaposition for the final links.
- Quote the opening paragraph from netbsd.org.
- Set the suggested commands in teletype.
- Give pointers in a more active voice.
- Omit trailing whitespace.
- Mention the relation of the Git mirror to the main CVS repository.
- Use a list rather than juxtaposition for the final links.
MAIN commitmail json YAML
Clamp timeout to INT_MAX to avoid the bad kind of integer truncation.
XXX pullup-7
XXX pullup-8
XXX pullup-7
XXX pullup-8
MAIN commitmail json YAML
DELAY takes microseconds, not ticks.
XXX pullup-7
XXX pullup-8
XXX pullup-7
XXX pullup-8
MAIN commitmail json YAML
Limit warning suppression to nouveau files.
Make this match what I have in my drmkms update.
Please don't touch files under sys/external/bsd/drm2 without
consulting me while I'm updating drmkms!
Make this match what I have in my drmkms update.
Please don't touch files under sys/external/bsd/drm2 without
consulting me while I'm updating drmkms!
MAIN commitmail json YAML
Don't make setversion failure fatal -- only master can set it.
PR pkg/51795
PR kern/51786
XXX pullup-7
XXX pullup-8
PR pkg/51795
PR kern/51786
XXX pullup-7
XXX pullup-8
MAIN commitmail json YAML
Implement drmParsePciBusInfo and drmParsePciDeviceInfo.
Uses drmGetBusid for bus info, and pciN with libpci for device info.
Aims to address PR pkg/51795 without needing the kernel changes
suggested in PR kern/51786. Compile-tested only sofar -- should
confirm before closing any PRs.
(Sorry it took so long for me to find a round tuit!)
XXX pullup-7
XXX pullup-8
...along with src/external/mit/xorg/lib/libdrm/Makefile r1.16 for
libpci.
Uses drmGetBusid for bus info, and pciN with libpci for device info.
Aims to address PR pkg/51795 without needing the kernel changes
suggested in PR kern/51786. Compile-tested only sofar -- should
confirm before closing any PRs.
(Sorry it took so long for me to find a round tuit!)
XXX pullup-7
XXX pullup-8
...along with src/external/mit/xorg/lib/libdrm/Makefile r1.16 for
libpci.
MAIN commitmail json YAML
libdrm needs libpci for bus info stuff.
MAIN commitmail json YAML
One more min->uimin straggler confirmed by 201809042300Z autobuild.
MAIN commitmail json YAML
src/sys/arch/cobalt/stand/boot/lcd.c@1.3
/
diff
/
nxr@1.3
src/sys/arch/ews4800mips/stand/common/lance.c@1.7 / diff / nxr@1.7
src/sys/arch/hp300/stand/inst/inst.c@1.23 / diff / nxr@1.23
src/sys/arch/hppa/stand/common/lif.c@1.2 / diff / nxr@1.2
src/sys/arch/ia64/stand/common/interp_parse.c@1.6 / diff / nxr@1.6
src/sys/arch/luna68k/stand/boot/lance.c@1.4 / diff / nxr@1.4
src/sys/arch/next68k/next68k/disksubr.c@1.29 / diff / nxr@1.29
src/sys/stand/efiboot/efinet.c@1.2 / diff / nxr@1.2
src/sys/arch/ews4800mips/stand/common/lance.c@1.7 / diff / nxr@1.7
src/sys/arch/hp300/stand/inst/inst.c@1.23 / diff / nxr@1.23
src/sys/arch/hppa/stand/common/lif.c@1.2 / diff / nxr@1.2
src/sys/arch/ia64/stand/common/interp_parse.c@1.6 / diff / nxr@1.6
src/sys/arch/luna68k/stand/boot/lance.c@1.4 / diff / nxr@1.4
src/sys/arch/next68k/next68k/disksubr.c@1.29 / diff / nxr@1.29
src/sys/stand/efiboot/efinet.c@1.2 / diff / nxr@1.2
Fix some min/max -> uimin/uimax stragglers.
Confirmed by the 2018-09-04T04:40Z autobuild.
Confirmed by the 2018-09-04T04:40Z autobuild.
MAIN commitmail json YAML
C99 initializers for intr_timecounter.
No functional change.
No functional change.
MAIN commitmail json YAML
We have popcount; no need to reimplement it.
MAIN commitmail json YAML
Simplify amlogic rng.
Compile-tested only, but this is basically the same as a bunch of
other RNG driver simplifications I made a while back.
Compile-tested only, but this is basically the same as a bunch of
other RNG driver simplifications I made a while back.
MAIN commitmail json YAML
Preserve signedness to return failure from fence_wait_timeout.
From mrg@.
From mrg@.
MAIN commitmail json YAML
Welcome to 8.99.25, courtesy of min/max ---> uimin/uimax.
MAIN commitmail json YAML
src/sys/lib/libkern/Makefile.libkern@1.43
/
diff
/
nxr@1.43
src/sys/lib/libkern/arch/mips/Makefile.inc@1.24 / diff / nxr@1.24
src/sys/lib/libkern/arch/usermode/Makefile.inc@1.4 / diff / nxr@1.4
src/sys/lib/libkern/arch/vax/Makefile.inc@1.25 / diff / nxr@1.25
src/sys/lib/libkern/max.c deleted
src/sys/lib/libkern/min.c deleted
src/sys/lib/libkern/uimax.c@1.1 / diff / nxr@1.1
src/sys/lib/libkern/uimin.c@1.1 / diff / nxr@1.1
src/sys/lib/libkern/arch/mips/Makefile.inc@1.24 / diff / nxr@1.24
src/sys/lib/libkern/arch/usermode/Makefile.inc@1.4 / diff / nxr@1.4
src/sys/lib/libkern/arch/vax/Makefile.inc@1.25 / diff / nxr@1.25
src/sys/lib/libkern/max.c deleted
src/sys/lib/libkern/min.c deleted
src/sys/lib/libkern/uimax.c@1.1 / diff / nxr@1.1
src/sys/lib/libkern/uimin.c@1.1 / diff / nxr@1.1
Rename min.c -> uimin.c, max.c -> uimax.c in libkern.
MAIN commitmail json YAML
src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_disk.c@1.8
/
diff
/
nxr@1.8
src/sys/arch/acorn32/mainbus/fd.c@1.59 / diff / nxr@1.59
src/sys/arch/alpha/alpha/autoconf.c@1.54 / diff / nxr@1.54
src/sys/arch/alpha/alpha/machdep.c@1.351 / diff / nxr@1.351
src/sys/arch/alpha/alpha/prom.c@1.50 / diff / nxr@1.50
src/sys/arch/alpha/stand/common/prom.c@1.16 / diff / nxr@1.16
src/sys/arch/alpha/stand/netboot/if_prom.c@1.21 / diff / nxr@1.21
src/sys/arch/amiga/amiga/amiga_init.c@1.130 / diff / nxr@1.130
src/sys/arch/amiga/amiga/disksubr.c@1.69 / diff / nxr@1.69
src/sys/arch/amiga/dev/amidisplaycc.c@1.32 / diff / nxr@1.32
src/sys/arch/amiga/dev/bzivsc.c@1.32 / diff / nxr@1.32
src/sys/arch/amiga/dev/bzsc.c@1.49 / diff / nxr@1.49
src/sys/arch/amiga/dev/bztzsc.c@1.37 / diff / nxr@1.37
src/sys/arch/amiga/dev/cbiisc.c@1.33 / diff / nxr@1.33
src/sys/arch/amiga/dev/cbsc.c@1.34 / diff / nxr@1.34
src/sys/arch/amiga/dev/fd.c@1.97 / diff / nxr@1.97
src/sys/arch/amiga/dev/flsc.c@1.46 / diff / nxr@1.46
src/sys/arch/amiga/dev/if_es.c@1.60 / diff / nxr@1.60
src/sys/arch/amiga/dev/ite.c@1.99 / diff / nxr@1.99
src/sys/arch/amiga/dev/ite_cc.c@1.40 / diff / nxr@1.40
:
(more 442 files)
src/sys/arch/acorn32/mainbus/fd.c@1.59 / diff / nxr@1.59
src/sys/arch/alpha/alpha/autoconf.c@1.54 / diff / nxr@1.54
src/sys/arch/alpha/alpha/machdep.c@1.351 / diff / nxr@1.351
src/sys/arch/alpha/alpha/prom.c@1.50 / diff / nxr@1.50
src/sys/arch/alpha/stand/common/prom.c@1.16 / diff / nxr@1.16
src/sys/arch/alpha/stand/netboot/if_prom.c@1.21 / diff / nxr@1.21
src/sys/arch/amiga/amiga/amiga_init.c@1.130 / diff / nxr@1.130
src/sys/arch/amiga/amiga/disksubr.c@1.69 / diff / nxr@1.69
src/sys/arch/amiga/dev/amidisplaycc.c@1.32 / diff / nxr@1.32
src/sys/arch/amiga/dev/bzivsc.c@1.32 / diff / nxr@1.32
src/sys/arch/amiga/dev/bzsc.c@1.49 / diff / nxr@1.49
src/sys/arch/amiga/dev/bztzsc.c@1.37 / diff / nxr@1.37
src/sys/arch/amiga/dev/cbiisc.c@1.33 / diff / nxr@1.33
src/sys/arch/amiga/dev/cbsc.c@1.34 / diff / nxr@1.34
src/sys/arch/amiga/dev/fd.c@1.97 / diff / nxr@1.97
src/sys/arch/amiga/dev/flsc.c@1.46 / diff / nxr@1.46
src/sys/arch/amiga/dev/if_es.c@1.60 / diff / nxr@1.60
src/sys/arch/amiga/dev/ite.c@1.99 / diff / nxr@1.99
src/sys/arch/amiga/dev/ite_cc.c@1.40 / diff / nxr@1.40
:
(more 442 files)
Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.
To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.
To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
MAIN commitmail json YAML
src/sys/external/bsd/drm2/dist/drm/i915/intel_display.c@1.22
/
diff
/
nxr@1.22
src/sys/external/bsd/drm2/dist/drm/i915/intel_dp.c@1.18 / diff / nxr@1.18
src/sys/external/bsd/drm2/dist/drm/i915/intel_dp.c@1.18 / diff / nxr@1.18
Initialize and destroy dev_priv->drrs.mutex only once.
Not once per connector!
Candidate fix for:
https://mail-index.netbsd.org/current-users/2018/08/30/msg034155.html
Not once per connector!
Candidate fix for:
https://mail-index.netbsd.org/current-users/2018/08/30/msg034155.html
MAIN commitmail json YAML
Allow fence_get(NULL).
This is kind of silly: if the caller has exclusive access to the
fence, they should be able to guarantee it's there, so this could
serve to suppress legitimate bugs. But better to preserve Linux
semantics here than to be picky about API design.
Bug by me, fix from Tobias Ulmer in PR kern/53565.
This is kind of silly: if the caller has exclusive access to the
fence, they should be able to guarantee it's there, so this could
serve to suppress legitimate bugs. But better to preserve Linux
semantics here than to be picky about API design.
Bug by me, fix from Tobias Ulmer in PR kern/53565.
MAIN commitmail json YAML
src/sys/dev/ic/bwfm.c@1.13
/
diff
/
nxr@1.13
src/sys/dev/ic/bwfmvar.h@1.3 / diff / nxr@1.3
src/sys/dev/pci/if_bwfm_pci.c@1.2 / diff / nxr@1.2
src/sys/dev/usb/if_bwfm_usb.c@1.8 / diff / nxr@1.8
src/sys/dev/ic/bwfmvar.h@1.3 / diff / nxr@1.3
src/sys/dev/pci/if_bwfm_pci.c@1.2 / diff / nxr@1.2
src/sys/dev/usb/if_bwfm_usb.c@1.8 / diff / nxr@1.8
bwfm has only one tx descriptor; limit mbuf chains to one segment.
PR kern/53287
Can't use m_defrag because it always yields two segments.
Discussion on tech-net:
https://mail-index.netbsd.org/tech-net/2018/09/01/msg007031.html
Diagnosed and tested by maya.
PR kern/53287
Can't use m_defrag because it always yields two segments.
Discussion on tech-net:
https://mail-index.netbsd.org/tech-net/2018/09/01/msg007031.html
Diagnosed and tested by maya.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_base.c@1.4
/
diff
/
nxr@1.4
Destroy mutex before freeing memory.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_gk20a.c deleted
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_ctxgk20a.c deleted
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_gk20a.c deleted
src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_gk20a.c deleted
src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramgk20a.c deleted
src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/ibus/nouveau_subdev_ibus_gk20a.c deleted
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_ctxgk20a.c deleted
src/sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_gk20a.c deleted
src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_gk20a.c deleted
src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramgk20a.c deleted
src/sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/ibus/nouveau_subdev_ibus_gk20a.c deleted
Delete backported files that were renamed upstream.
Not sure how these didn't get nixed in the import.
Not sure how these didn't get nixed in the import.
MAIN commitmail json YAML
This is not merely `not for NetBSD'; upstream it's #if 0 altogether.
Always has been.
Always has been.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_nv40.c@1.7
/
diff
/
nxr@1.7
No, this cannot be bar 0 -- it is bar 2 or bar 3, as shown above.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_nv40.c@1.6
/
diff
/
nxr@1.6
Let's try not to use uninitialized memory as a bus size, shall we?
From rjs@.
From rjs@.
MAIN commitmail json YAML
Return timeout left, not error, if fence is already signaled.
fence_add_callback returns -ENOENT if fence is already signaled;
radeon_fence_default_wait is supposed to wait until fence is
signaled; this means its job is done.
Should fix spurious ENOENT in DRM_IOCTL_RADEON_GEM_WAIT_IDLE (or
_IOW('d',0x64,0x8) for you ktracers out there).
fence_add_callback returns -ENOENT if fence is already signaled;
radeon_fence_default_wait is supposed to wait until fence is
signaled; this means its job is done.
Should fix spurious ENOENT in DRM_IOCTL_RADEON_GEM_WAIT_IDLE (or
_IOW('d',0x64,0x8) for you ktracers out there).
MAIN commitmail json YAML
For module build assume multiprocessor.
MAIN commitmail json YAML
Issue __insn_barrier after loading hardclock_ticks.
For some reason this isn't volatile...
For some reason this isn't volatile...
MAIN commitmail json YAML
Assert EWOULDBLOCK happens only with timeout.
MAIN commitmail json YAML
With no timeout, fence_default_wait must return 1 on success, never 0.
MAIN commitmail json YAML
src/sys/modules/drmkms_pci/Makefile@1.8
/
diff
/
nxr@1.8
src/sys/modules/i915drmkms/Makefile@1.11 / diff / nxr@1.11
src/sys/modules/i915drmkms/Makefile@1.11 / diff / nxr@1.11
Remove some superfluous vestigial `-I.'.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/dist/drm/ast/ast_drv.c@1.3
/
diff
/
nxr@1.3
src/sys/external/bsd/drm2/dist/drm/drm_agpsupport.c@1.10 / diff / nxr@1.10
src/sys/external/bsd/drm2/dist/drm/drm_internal.h@1.5 / diff / nxr@1.5
src/sys/external/bsd/drm2/dist/drm/drm_ioctl.c@1.10 / diff / nxr@1.10
src/sys/external/bsd/drm2/dist/drm/i810/i810_drv.c@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/dist/drm/i915/i915_dma.c@1.25 / diff / nxr@1.25
src/sys/external/bsd/drm2/dist/drm/mga/mga_drv.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/agp.h@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/dist/drm/qxl/qxl_drv.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/dist/drm/r128/r128_drv.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_drv.c@1.9 / diff / nxr@1.9
src/sys/external/bsd/drm2/dist/drm/savage/savage_drv.c@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/dist/drm/sis/sis_drv.c@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/dist/drm/tdfx/tdfx_drv.c@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/dist/drm/via/via_drv.c@1.7 / diff / nxr@1.7
src/sys/external/bsd/drm2/dist/include/drm/drmP.h@1.34 / diff / nxr@1.34
src/sys/external/bsd/drm2/dist/include/drm/drm_agpsupport.h@1.8 / diff / nxr@1.8
src/sys/external/bsd/drm2/drm/drm_agp_hook.c@1.1 / diff / nxr@1.1
src/sys/external/bsd/drm2/drm/drm_cdevsw.c@1.12 / diff / nxr@1.12
src/sys/external/bsd/drm2/drm/drm_module.c@1.15 / diff / nxr@1.15
:
(more 15 files)
src/sys/external/bsd/drm2/dist/drm/drm_agpsupport.c@1.10 / diff / nxr@1.10
src/sys/external/bsd/drm2/dist/drm/drm_internal.h@1.5 / diff / nxr@1.5
src/sys/external/bsd/drm2/dist/drm/drm_ioctl.c@1.10 / diff / nxr@1.10
src/sys/external/bsd/drm2/dist/drm/i810/i810_drv.c@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/dist/drm/i915/i915_dma.c@1.25 / diff / nxr@1.25
src/sys/external/bsd/drm2/dist/drm/mga/mga_drv.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/agp.h@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/dist/drm/qxl/qxl_drv.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/dist/drm/r128/r128_drv.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_drv.c@1.9 / diff / nxr@1.9
src/sys/external/bsd/drm2/dist/drm/savage/savage_drv.c@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/dist/drm/sis/sis_drv.c@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/dist/drm/tdfx/tdfx_drv.c@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/dist/drm/via/via_drv.c@1.7 / diff / nxr@1.7
src/sys/external/bsd/drm2/dist/include/drm/drmP.h@1.34 / diff / nxr@1.34
src/sys/external/bsd/drm2/dist/include/drm/drm_agpsupport.h@1.8 / diff / nxr@1.8
src/sys/external/bsd/drm2/drm/drm_agp_hook.c@1.1 / diff / nxr@1.1
src/sys/external/bsd/drm2/drm/drm_cdevsw.c@1.12 / diff / nxr@1.12
src/sys/external/bsd/drm2/drm/drm_module.c@1.15 / diff / nxr@1.15
:
(more 15 files)
Rework PCI and AGP conditionalization.
- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.
- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/amdgpu/amdgpu_module.c@1.4
/
diff
/
nxr@1.4
src/sys/external/bsd/drm2/dist/include/drm/drmP.h@1.33 / diff / nxr@1.33
src/sys/external/bsd/drm2/drm/drm_cdevsw.c@1.11 / diff / nxr@1.11
src/sys/external/bsd/drm2/drm/drm_module.c@1.14 / diff / nxr@1.14
src/sys/external/bsd/drm2/i915drm/i915_module.c@1.8 / diff / nxr@1.8
src/sys/external/bsd/drm2/radeon/radeon_module.c@1.5 / diff / nxr@1.5
src/sys/external/bsd/drm2/via/via_module.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/dist/include/drm/drmP.h@1.33 / diff / nxr@1.33
src/sys/external/bsd/drm2/drm/drm_cdevsw.c@1.11 / diff / nxr@1.11
src/sys/external/bsd/drm2/drm/drm_module.c@1.14 / diff / nxr@1.14
src/sys/external/bsd/drm2/i915drm/i915_module.c@1.8 / diff / nxr@1.8
src/sys/external/bsd/drm2/radeon/radeon_module.c@1.5 / diff / nxr@1.5
src/sys/external/bsd/drm2/via/via_module.c@1.4 / diff / nxr@1.4
Move decl of drm_guarantee_initialized to drmP.h.
MAIN commitmail json YAML
Return the node we found. From tnn@.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/amdgpu/amdgpu_module.c@1.3
/
diff
/
nxr@1.3
src/sys/external/bsd/drm2/i915drm/i915_module.c@1.7 / diff / nxr@1.7
src/sys/external/bsd/drm2/pci/drm_pci.c@1.30 / diff / nxr@1.30
src/sys/external/bsd/drm2/radeon/radeon_module.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/via/via_module.c@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/i915drm/i915_module.c@1.7 / diff / nxr@1.7
src/sys/external/bsd/drm2/pci/drm_pci.c@1.30 / diff / nxr@1.30
src/sys/external/bsd/drm2/radeon/radeon_module.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/via/via_module.c@1.3 / diff / nxr@1.3
Eliminate drm_pci_init/exit. Empty for a while, no need.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/nouveau/nouveau_module.c@1.9
/
diff
/
nxr@1.9
src/sys/external/bsd/drm2/nouveau/nouveau_pci.c@1.21 / diff / nxr@1.21
src/sys/external/bsd/drm2/nouveau/nouveau_pci.c@1.21 / diff / nxr@1.21
Move nouveau pci initialization to nouveau_pci where it belongs.
Somehow I forgot this was a separate module.
Somehow I forgot this was a separate module.
MAIN commitmail json YAML
Use AGP_PAGE_SIZE, not PAGE_SIZE.
MAIN commitmail json YAML
src/sys/external/bsd/dwc2/dist/dwc2_hcd.c@1.22
/
diff
/
nxr@1.22
src/sys/external/bsd/dwc2/dwc2.h@1.10 / diff / nxr@1.10
src/sys/external/bsd/dwc2/dwc2.h@1.10 / diff / nxr@1.10
Fix fallout from linux/gfp.h -> common.
MAIN commitmail json YAML
Add amdgpu to amd64/ALL.
MAIN commitmail json YAML
Add amdgpu to i386/ALL.
MAIN commitmail json YAML
Ifdef out pnpbios for now. Presumably needs to use bus_space_alloc.
MAIN commitmail json YAML
Expand to __nothing, not to empty.
MAIN commitmail json YAML
Include some needful header files and forward declarations.
MAIN commitmail json YAML
Use offsetof, not undefined behaviour.
MAIN commitmail json YAML
Simulate bus_space_read_8 with two bus_space_read_4 on 32-bit x86.
MAIN commitmail json YAML
Convert to uintmax_t if we're going to use %jx.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/i915drm/intel_gtt.c@1.10
/
diff
/
nxr@1.10
src/sys/external/bsd/drm2/include/drm/intel-gtt.h@1.7 / diff / nxr@1.7
src/sys/external/bsd/drm2/include/drm/intel-gtt.h@1.7 / diff / nxr@1.7
Linux uses uint64 for these parameters now, so follow suit.
MAIN commitmail json YAML
Omit print with wrong format -- vestige of merge.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/amdgpu/files.amdgpu@1.7
/
diff
/
nxr@1.7
src/sys/external/bsd/drm2/i915drm/files.i915drmkms@1.32 / diff / nxr@1.32
src/sys/external/bsd/drm2/nouveau/files.nouveau@1.21 / diff / nxr@1.21
src/sys/external/bsd/drm2/radeon/files.radeon@1.21 / diff / nxr@1.21
src/sys/external/bsd/drm2/i915drm/files.i915drmkms@1.32 / diff / nxr@1.32
src/sys/external/bsd/drm2/nouveau/files.nouveau@1.21 / diff / nxr@1.21
src/sys/external/bsd/drm2/radeon/files.radeon@1.21 / diff / nxr@1.21
Tag files.* with newer config version where needed.
MAIN commitmail json YAML
Bump config(5) version for OPT.foo.c variables.
MAIN commitmail json YAML
Tag with nouveau, not just nouveau_pci, to get CWARNFLAGS.nouveau.
MAIN commitmail json YAML
src/sys/external/bsd/common/include/linux/gfp.h@1.1
/
diff
/
nxr@1.1
src/sys/external/bsd/common/include/linux/slab.h@1.1 / diff / nxr@1.1
src/sys/external/bsd/drm2/include/linux/gfp.h deleted
src/sys/external/bsd/drm2/include/linux/slab.h deleted
src/sys/external/bsd/common/include/linux/slab.h@1.1 / diff / nxr@1.1
src/sys/external/bsd/drm2/include/linux/gfp.h deleted
src/sys/external/bsd/drm2/include/linux/slab.h deleted
gfp.h and slab.h are now used in kernel.h, so move to common.
MAIN commitmail json YAML
Make sure to create and destroy the lock too...
MAIN commitmail json YAML
src/sys/external/bsd/drm2/dist/drm/drm_prime.c@1.7
/
diff
/
nxr@1.7
src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c@1.14 / diff / nxr@1.14
src/sys/external/bsd/drm2/dist/include/drm/drmP.h@1.32 / diff / nxr@1.32
src/sys/external/bsd/drm2/include/drm/bus_dma_hacks.h@1.17 / diff / nxr@1.17
src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c@1.14 / diff / nxr@1.14
src/sys/external/bsd/drm2/dist/include/drm/drmP.h@1.32 / diff / nxr@1.32
src/sys/external/bsd/drm2/include/drm/bus_dma_hacks.h@1.17 / diff / nxr@1.17
Check for DMA-safe addresses before allowing DRM prime import.
MAIN commitmail json YAML
Implement BUS_DMA_TO_PHYS/PHYS_TO_BUS_DMA on arm respecting ranges.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/dist/include/drm/drmP.h@1.31
/
diff
/
nxr@1.31
src/sys/external/bsd/drm2/drm/drm_memory.c@1.13 / diff / nxr@1.13
src/sys/external/bsd/drm2/pci/drm_pci.c@1.29 / diff / nxr@1.29
src/sys/external/bsd/drm2/drm/drm_memory.c@1.13 / diff / nxr@1.13
src/sys/external/bsd/drm2/pci/drm_pci.c@1.29 / diff / nxr@1.29
Tread carefully around DMA subregions.
Not all platforms support it.
- If we want to limit to 32-bit DMA, just use a known 32-bit DMA tag.
- If we want to limit to >32-bit DMA, but the host only has a known
32-bit DMA tag, then just use that anyway.
- If we want to limit to >32-bit DMA, but the host doesn't support
bus_dmatag_subregion, then just use the 32-bit DMA tag anyway.
Gives powerpc, sparc a chance of working.
Not all platforms support it.
- If we want to limit to 32-bit DMA, just use a known 32-bit DMA tag.
- If we want to limit to >32-bit DMA, but the host only has a known
32-bit DMA tag, then just use that anyway.
- If we want to limit to >32-bit DMA, but the host doesn't support
bus_dmatag_subregion, then just use the 32-bit DMA tag anyway.
Gives powerpc, sparc a chance of working.
MAIN commitmail json YAML
src/sys/arch/arm/nvidia/tegra_drm.c@1.10
/
diff
/
nxr@1.10
src/sys/arch/arm/nvidia/tegra_drm.h@1.9 / diff / nxr@1.9
src/sys/arch/arm/nvidia/tegra_drm_mode.c@1.17 / diff / nxr@1.17
src/sys/arch/arm/nvidia/tegra_nouveau.c@1.11 / diff / nxr@1.11
src/sys/arch/arm/nvidia/tegra_drm.h@1.9 / diff / nxr@1.9
src/sys/arch/arm/nvidia/tegra_drm_mode.c@1.17 / diff / nxr@1.17
src/sys/arch/arm/nvidia/tegra_nouveau.c@1.11 / diff / nxr@1.11
Update tegra drm and nouveau to compile with new drmkms.
Compile-tested only.
Compile-tested only.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/dist/drm/drm_internal.h@1.4
/
diff
/
nxr@1.4
src/sys/external/bsd/drm2/drm/drm_module.c@1.12 / diff / nxr@1.12
src/sys/external/bsd/drm2/nouveau/files.nouveau@1.19 / diff / nxr@1.19
src/sys/external/bsd/drm2/nouveau/nouveau_module.c@1.8 / diff / nxr@1.8
src/sys/external/bsd/drm2/pci/drm_pci.c@1.28 / diff / nxr@1.28
src/sys/external/bsd/drm2/pci/drm_pci_module.c@1.6 / diff / nxr@1.6
src/sys/external/bsd/drm2/pci/files.drmkms_pci@1.12 / diff / nxr@1.12
src/sys/external/bsd/drm2/drm/drm_module.c@1.12 / diff / nxr@1.12
src/sys/external/bsd/drm2/nouveau/files.nouveau@1.19 / diff / nxr@1.19
src/sys/external/bsd/drm2/nouveau/nouveau_module.c@1.8 / diff / nxr@1.8
src/sys/external/bsd/drm2/pci/drm_pci.c@1.28 / diff / nxr@1.28
src/sys/external/bsd/drm2/pci/drm_pci_module.c@1.6 / diff / nxr@1.6
src/sys/external/bsd/drm2/pci/files.drmkms_pci@1.12 / diff / nxr@1.12
Make drmkms build without drmkms_pci.
MAIN commitmail json YAML
Make this compile.
MAIN commitmail json YAML
Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/dist/drm/drm_prime.c@1.6
/
diff
/
nxr@1.6
src/sys/external/bsd/drm2/include/drm/bus_dma_hacks.h@1.15 / diff / nxr@1.15
src/sys/external/bsd/drm2/include/drm/bus_dma_hacks.h@1.15 / diff / nxr@1.15
At chuq's suggestion, use paddr_t rather than struct vm_page *.
Doesn't make much of a substantive difference.
Doesn't make much of a substantive difference.
MAIN commitmail json YAML
Draft sparc cache flushing.
MAIN commitmail json YAML
sparc seems to treat bus/phys addrs in bus dmamem the same.
This is just about bus dmamem -- not about bus dmamap, which rightly
uses an iommu to remap things and which we don't interfere with.
This is just about bus dmamem -- not about bus dmamap, which rightly
uses an iommu to remap things and which we don't interfere with.
MAIN commitmail json YAML
Ifdef out label used only by !__HAVE_MM_MD_DIRECT_MAPPED_PHYS.
MAIN commitmail json YAML
Work around broken null bus_dmatag_destroy expansion.
MAIN commitmail json YAML
Expand docstring for reservation_object_poll.
MAIN commitmail json YAML
Let's try not to step on each others' toes, shall we?
MAIN commitmail json YAML
Clarify what bus_dmat and dmat are.
MAIN commitmail json YAML
Use dmat, not bus_dmat, to respect drm_limit_dma_space.
MAIN commitmail json YAML
Eliminate now-unused bus_dmamap_load_pgarray.
MAIN commitmail json YAML
drm_gem_cma_create_internal can fail.
MAIN commitmail json YAML
Include amdgpu_prime.c now that it will compile.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/dist/drm/drm_prime.c@1.5
/
diff
/
nxr@1.5
src/sys/external/bsd/drm2/dist/include/drm/drmP.h@1.29 / diff / nxr@1.29
src/sys/external/bsd/drm2/drm/drm_gem_cma_helper.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/include/drm/bus_dma_hacks.h@1.12 / diff / nxr@1.12
src/sys/external/bsd/drm2/dist/include/drm/drmP.h@1.29 / diff / nxr@1.29
src/sys/external/bsd/drm2/drm/drm_gem_cma_helper.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/include/drm/bus_dma_hacks.h@1.12 / diff / nxr@1.12
Rework drm prime guts.
- Our faux struct sg_table is now just an array of _pages_, not of
bus dma segments.
- We handle bus dma segments only in the presence of an adult bus dma
tag.
- All bus dma hacks are once again confined to bus_dma_hacks.h, and
more neatly organized:
. bus_dmamem_export_pages translates bus dma segs to vm_page array
. bus_dmamem_import_pages translates vm_page array to bus dma segs
- Our faux struct sg_table is now just an array of _pages_, not of
bus dma segments.
- We handle bus dma segments only in the presence of an adult bus dma
tag.
- All bus dma hacks are once again confined to bus_dma_hacks.h, and
more neatly organized:
. bus_dmamem_export_pages translates bus dma segs to vm_page array
. bus_dmamem_import_pages translates vm_page array to bus dma segs
MAIN commitmail json YAML
Not drm prime; just unused.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/dist/include/drm/drm_gem_cma_helper.h@1.5
/
diff
/
nxr@1.5
src/sys/external/bsd/drm2/drm/drm_gem_cma_helper.c@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/drm/drm_gem_cma_helper.c@1.3 / diff / nxr@1.3
Implement remainder of drm_gem_cma_helper API.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/dist/drm/drm_prime.c@1.4
/
diff
/
nxr@1.4
src/sys/external/bsd/drm2/dist/include/drm/drmP.h@1.28 / diff / nxr@1.28
src/sys/external/bsd/drm2/dist/include/drm/drmP.h@1.28 / diff / nxr@1.28
Fill out drm_prime_* API a little more for NetBSD.
Add comment explaining our use of struct sg_table.
Add comment explaining our use of struct sg_table.
MAIN commitmail json YAML
Workqueue lock must be at IPL_VM for use in interrupts, duh.
MAIN commitmail json YAML
Work around broken SDT_PROBE* in !KDTRACE_HOOKS until we merge HEAD.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/include/linux/dma-buf.h@1.4
/
diff
/
nxr@1.4
src/sys/external/bsd/drm2/include/linux/reservation.h@1.8 / diff / nxr@1.8
src/sys/external/bsd/drm2/linux/linux_dma_buf.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/linux/linux_reservation.c@1.8 / diff / nxr@1.8
src/sys/external/bsd/drm2/include/linux/reservation.h@1.8 / diff / nxr@1.8
src/sys/external/bsd/drm2/linux/linux_dma_buf.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/linux/linux_reservation.c@1.8 / diff / nxr@1.8
Implement poll for reservations and dma bufs.
MAIN commitmail json YAML
sdt probe naming style.
MAIN commitmail json YAML
Simplify. Destroy the mutex too.
MAIN commitmail json YAML
Factor mfence out. Simplify a little.
MAIN commitmail json YAML
Return the fd we just allocated.
MAIN commitmail json YAML
Need sync after a series of dcbf's on powerpc.
MAIN commitmail json YAML
Forgot to commit drm_trace_netbsd.h. Too late to force an update...
MAIN commitmail json YAML
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_display.c@1.4
/
diff
/
nxr@1.4
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_drv.c@1.5 / diff / nxr@1.5
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gem.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ttm.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/dist/drm/drm_gem.c@1.10 / diff / nxr@1.10
src/sys/external/bsd/drm2/dist/drm/drm_internal.h@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/dist/drm/drm_ioctl.c@1.9 / diff / nxr@1.9
src/sys/external/bsd/drm2/dist/drm/drm_prime.c@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.c@1.15 / diff / nxr@1.15
src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h@1.27 / diff / nxr@1.27
src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c@1.54 / diff / nxr@1.54
src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_dmabuf.c@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.c@1.12 / diff / nxr@1.12
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drm.c@1.15 / diff / nxr@1.15
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c@1.8 / diff / nxr@1.8
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_display.c@1.9 / diff / nxr@1.9
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_drv.c@1.8 / diff / nxr@1.8
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_gem.c@1.6 / diff / nxr@1.6
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c@1.15 / diff / nxr@1.15
src/sys/external/bsd/drm2/dist/include/drm/drmP.h@1.27 / diff / nxr@1.27
:
(more 11 files)
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_drv.c@1.5 / diff / nxr@1.5
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gem.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ttm.c@1.4 / diff / nxr@1.4
src/sys/external/bsd/drm2/dist/drm/drm_gem.c@1.10 / diff / nxr@1.10
src/sys/external/bsd/drm2/dist/drm/drm_internal.h@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/dist/drm/drm_ioctl.c@1.9 / diff / nxr@1.9
src/sys/external/bsd/drm2/dist/drm/drm_prime.c@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.c@1.15 / diff / nxr@1.15
src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h@1.27 / diff / nxr@1.27
src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c@1.54 / diff / nxr@1.54
src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_dmabuf.c@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.c@1.12 / diff / nxr@1.12
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drm.c@1.15 / diff / nxr@1.15
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c@1.8 / diff / nxr@1.8
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_display.c@1.9 / diff / nxr@1.9
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_drv.c@1.8 / diff / nxr@1.8
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_gem.c@1.6 / diff / nxr@1.6
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c@1.15 / diff / nxr@1.15
src/sys/external/bsd/drm2/dist/include/drm/drmP.h@1.27 / diff / nxr@1.27
:
(more 11 files)
Draft support for drm prime.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/include/linux/highmem.h@1.5
/
diff
/
nxr@1.5
src/sys/external/bsd/drm2/linux/linux_kmap.c@1.15 / diff / nxr@1.15
src/sys/external/bsd/drm2/linux/linux_kmap.c@1.15 / diff / nxr@1.15
Work around `kmap' namespace clash another way.
MAIN commitmail json YAML
Omit vestigial diff from radeon_mode.h.
MAIN commitmail json YAML
Convert to long for format expedience.
MAIN commitmail json YAML
Try agp_i810_borrow only if CONFIG_AGP is enabled.
MAIN commitmail json YAML
opt_mtrr.h is x86-only.
MAIN commitmail json YAML
Use PHYS_TO_BUS_MEM in generic bus_dmamap_load_pglist code.
For arm and x86, this is a noop. For powerpc, it is defined by some
relevant header file.
For arm and x86, this is a noop. For powerpc, it is defined by some
relevant header file.
MAIN commitmail json YAML
Implement drm_md_clflush_* for powerpc with dcbf.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/include/linux/ww_mutex.h@1.13
/
diff
/
nxr@1.13
src/sys/external/bsd/drm2/linux/linux_ww_mutex.c@1.5 / diff / nxr@1.5
src/sys/external/bsd/drm2/linux/linux_ww_mutex.c@1.5 / diff / nxr@1.5
Use Linux atomic64 for ww mutex class.
This way we can take advantage of the hash-locked atomic64 on
platforms that lack native atomic_inc_64_nv.
This way we can take advantage of the hash-locked atomic64 on
platforms that lack native atomic_inc_64_nv.
MAIN commitmail json YAML
src/sys/external/bsd/drm2/include/linux/atomic.h@1.19
/
diff
/
nxr@1.19
src/sys/external/bsd/drm2/linux/linux_atomic64.c@1.3 / diff / nxr@1.3
src/sys/external/bsd/drm2/linux/linux_atomic64.c@1.3 / diff / nxr@1.3
Implement atomic64_add_return and atomic64_inc_return.