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


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




switch to index mode

recent branches: MAIN (6h)  netbsd-10 (7d)  netbsd-9 (7d)  netbsd-8 (12d) 

2024-05-24 04:54:32 UTC Now

2019-12-07 14:55:58 UTC MAIN commitmail json YAML

Restore call to pserialize_init.

We need it after all for psz_lock on the event counter.

(riastradh)

2019-12-06 14:43:30 UTC MAIN commitmail json YAML

2019-12-06 14:43:18 UTC MAIN commitmail json YAML

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).

(riastradh)

2019-12-06 04:15:38 UTC MAIN commitmail json YAML

Restore historical $Hdr$ tag after git cvsexportcommit nixed it.

(riastradh)

2019-12-06 03:45:33 UTC 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!

(riastradh)

2019-12-05 04:17:13 UTC MAIN commitmail json YAML

#ifdef notyet ---> never

(riastradh)

2019-12-05 03:59:39 UTC MAIN commitmail json YAML

Only need one ci_onproc member.

(riastradh)

2019-12-05 03:57:55 UTC MAIN commitmail json YAML

Missed a spot in the crypto/arc4 deletion.

(riastradh)

2019-12-05 03:22:03 UTC MAIN commitmail json YAML

Nuke crypto/arc4.  Has not been used since 2003.  Will not be missed.

(riastradh)

2019-12-05 03:21:42 UTC MAIN commitmail json YAML

Avoid redefining uint_t &c. if compat_defs.h already defines them.

(riastradh)

2019-12-05 03:21:29 UTC MAIN commitmail json YAML

Switch psz_ev_excl to static evcnt.

(riastradh)

2019-12-05 03:21:17 UTC 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.

(riastradh)

2019-12-05 03:21:08 UTC MAIN commitmail json YAML

Allow equality in this assertion.

This can happen if we lose the race mentioned in percpu_cpu_swap.

(riastradh)

2019-12-04 05:36:35 UTC 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.

(riastradh)

2019-12-04 03:04:52 UTC MAIN commitmail json YAML

Fix rump definition of cpu_number().

(riastradh)

2019-12-04 03:04:43 UTC 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.

(riastradh)

2019-12-03 15:21:00 UTC MAIN commitmail json YAML

2019-12-03 05:07:49 UTC MAIN commitmail json YAML

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.

(riastradh)

2019-12-03 05:01:58 UTC MAIN commitmail json YAML

Fix inequality for refcnt drain: -1 here means all refs gone.

(riastradh)

2019-12-03 05:01:45 UTC 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).

(riastradh)

2019-12-03 04:59:05 UTC MAIN commitmail json YAML

Omit obsolete comment and needless __diagused marker.

(riastradh)

2019-12-03 04:57:38 UTC MAIN commitmail json YAML

Fix brain fart in alignment criterion.

(riastradh)

2019-12-03 04:57:25 UTC 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.

(riastradh)

2019-12-02 17:13:13 UTC 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.

(riastradh)

2019-12-02 08:33:52 UTC 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'.

(riastradh)

2019-12-02 08:33:42 UTC 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

(riastradh)

2019-12-01 20:56:40 UTC 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);

(riastradh)

2019-12-01 16:22:10 UTC MAIN commitmail json YAML

Mark unreachable branch with __unreachable() to fix i386/ALL build.

(riastradh)

2019-12-01 15:28:20 UTC 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.

(riastradh)

2019-12-01 15:28:02 UTC MAIN commitmail json YAML

Rework modified atomic_load/store_* to work on const pointers.

(riastradh)

2019-11-30 16:23:46 UTC 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>.

(riastradh)

2019-11-30 15:34:07 UTC MAIN commitmail json YAML

Nix vestigial references to MUTEX_GIVE and MUTEX_RECEIVE in comments.

(riastradh)

2019-11-30 02:47:14 UTC MAIN commitmail json YAML

Use .Sy, not .Em, for bold-faced WARNING of impending doom.

Underline and, worse, italic aren't as good at catching the eye.

(riastradh)

2019-11-30 02:38:44 UTC MAIN commitmail json YAML

Document relation to atomic_ops(3) and membar_ops(3).

(riastradh)

2019-11-30 02:22:23 UTC MAIN commitmail json YAML

Document xc_barrier.

(riastradh)

2019-11-30 00:02:15 UTC MAIN commitmail json YAML

Missed another spot.

Marked mb.9 obsolete but forgot to mark mb_memory.9 &c. too.

(riastradh)

2019-11-29 22:55:34 UTC MAIN commitmail json YAML

2019-11-29 22:38:28 UTC MAIN commitmail json YAML

Missed a spot: delete mb.9 from MLINKS too.

(riastradh)

2019-11-29 22:17:24 UTC MAIN commitmail json YAML

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.

(riastradh)

2019-11-29 20:31:35 UTC MAIN commitmail json YAML

2019-11-29 20:06:44 UTC MAIN commitmail json YAML

2019-11-29 20:06:34 UTC MAIN commitmail json YAML

2019-11-29 20:06:08 UTC MAIN commitmail json YAML

2019-11-29 20:05:59 UTC MAIN commitmail json YAML

2019-11-29 20:05:49 UTC MAIN commitmail json YAML

2019-11-29 20:05:38 UTC MAIN commitmail json YAML

2019-11-29 20:05:29 UTC MAIN commitmail json YAML

2019-11-29 20:05:19 UTC MAIN commitmail json YAML

2019-11-29 20:05:08 UTC MAIN commitmail json YAML

2019-11-29 20:04:54 UTC MAIN commitmail json YAML

2019-11-25 15:19:54 UTC MAIN commitmail json YAML

Use cprng_strong, not cprng_fast, for sysctl kern.arnd.

(riastradh)

2019-09-19 18:29:55 UTC MAIN commitmail json YAML

Use an explicit run-time assertion where compile-time doesn't work.

(riastradh)

2019-09-19 14:35:00 UTC MAIN commitmail json YAML

Use CTASSERT where possible, run-time assertion where not.

Should fix negative-length variable-length array found by kamil.

(riastradh)

2019-09-04 04:03:25 UTC MAIN commitmail json YAML

Update NIST SP800-90A reference.

(riastradh)

2019-09-04 04:00:04 UTC 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.)

(riastradh)

2019-09-04 03:15:20 UTC MAIN commitmail json YAML

Update man page to reflect switch from CTR_DRBG to Hash_DRBG.

(riastradh)

2019-09-03 15:38:52 UTC MAIN commitmail json YAML

Add UPDATING note about radeon firmware image mistake.

(riastradh)

2019-09-03 15:34:08 UTC MAIN commitmail json YAML

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

(riastradh)

2019-09-02 20:09:30 UTC MAIN commitmail json YAML

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

(riastradh)

2019-08-30 03:34:37 UTC 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.

(riastradh)

2019-08-30 00:36:53 UTC 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.

(riastradh)

2019-08-30 00:33:55 UTC 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.

(riastradh)

2019-08-25 18:59:53 UTC 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

(riastradh)

2019-08-25 18:31:30 UTC 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

(riastradh)

2019-08-20 12:33:26 UTC MAIN commitmail json YAML

Fix byte order bug in murmurhash and pacify sanitizers.

(riastradh)

2019-08-20 12:33:05 UTC MAIN commitmail json YAML

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.

(riastradh)

2019-08-07 15:37:46 UTC 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.

(riastradh)

2019-08-06 15:48:19 UTC MAIN commitmail json YAML

Clamp tcp timer quantities to reasonable ranges.

Reported-by: syzbot+259675123340bf46a6de@syzkaller.appspotmail.com

(riastradh)

2019-08-06 15:48:06 UTC 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

(riastradh)

2019-08-06 15:47:55 UTC 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

(riastradh)

2019-08-01 02:28:55 UTC MAIN commitmail json YAML

Remove last trace of never-used map_attrib.

(riastradh)

2019-08-01 02:27:43 UTC MAIN commitmail json YAML

2019-08-01 02:06:31 UTC MAIN commitmail json YAML

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.

(riastradh)

2019-07-24 06:11:57 UTC MAIN commitmail json YAML

Update uuidgen(2) man page to reflect reality as of five years ago.

(riastradh)

2019-01-15 03:30:58 UTC MAIN commitmail json YAML

Use the same variable for the locale example.

(riastradh)

2019-01-15 00:31:19 UTC 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.

(riastradh)

2018-12-19 15:10:46 UTC 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.

(riastradh)

2018-11-15 16:58:56 UTC MAIN commitmail json YAML

No need to write any initializer here, casted or otherwise.

(Sorry about the build breakage; thanks, kre!)

(riastradh)

2018-11-15 06:53:58 UTC MAIN commitmail json YAML

Don't try to interpret the second half of a 64-bit BAR as another one.

From msaitoh@.

(riastradh)

2018-11-15 05:43:57 UTC 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.

(riastradh)

2018-11-15 05:14:20 UTC MAIN commitmail json YAML

cbrtl_powl is xfail only if long double has more bits than double.

(riastradh)

2018-11-15 04:59:02 UTC MAIN commitmail json YAML

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).

(riastradh)

2018-11-15 04:57:00 UTC MAIN commitmail json YAML

Include <bsd.own.mk> before using ACTIVE_CC.  Fixes make errors.

(riastradh)

2018-11-15 04:56:52 UTC MAIN commitmail json YAML

Respect the __HIDE_DELAY kludge like on other ports.

(riastradh)

2018-11-15 04:55:49 UTC 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.

(riastradh)

2018-11-15 04:55:38 UTC MAIN commitmail json YAML

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.

(riastradh)

2018-11-15 04:55:26 UTC MAIN commitmail json YAML

Omit unused definition with broken cpp conditional.

(riastradh)

2018-11-15 04:55:17 UTC MAIN commitmail json YAML

Omit conflicting definition that breaks build on aarch64.

(riastradh)

2018-11-15 04:55:06 UTC MAIN commitmail json YAML

"PRIu64", not llu, to print uint64_t.

(riastradh)

2018-11-14 17:09:08 UTC 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.

(riastradh)

2018-11-12 05:02:00 UTC MAIN commitmail json YAML

Make fenv.h optional for this test to unbreak the vax build.

(riastradh)

2018-11-11 01:26:08 UTC 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.

(riastradh)

2018-11-11 01:26:00 UTC MAIN commitmail json YAML

2018-11-10 23:04:16 UTC MAIN commitmail json YAML

Print the input to cosf on failure too.

(riastradh)

2018-11-08 18:19:37 UTC MAIN commitmail json YAML

Attempt to implement fabsf by copying fabs and s/d/f/g.

Vax wizards, please vaxinate if I flubbed this!

(riastradh)

2018-11-08 16:36:16 UTC MAIN commitmail json YAML

Use the generic C fabs/fabsl on ia64 for now to unbreak the build.

(riastradh)

2018-11-08 16:31:46 UTC MAIN commitmail json YAML

powerpc64 needs fabsl too.  (Apparently no __HAVE_LONG_DOUBLE?)

(riastradh)

2018-11-08 16:29:50 UTC MAIN commitmail json YAML

Try speling it rite, riasthradhdadhaa or whatever your name is.

(riastradh)

2018-11-07 22:21:42 UTC MAIN commitmail json YAML

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.

(riastradh)

2018-11-07 06:47:38 UTC MAIN commitmail json YAML

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@

(riastradh)

2018-11-07 04:00:13 UTC MAIN commitmail json YAML

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.

(riastradh)

2018-11-07 03:59:37 UTC MAIN commitmail json YAML

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.

(riastradh)

2018-11-07 03:56:18 UTC 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.

(riastradh)

2018-10-30 14:43:39 UTC MAIN commitmail json YAML

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.

(riastradh)

2018-10-30 14:35:16 UTC 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)

(riastradh)

2018-10-23 15:44:42 UTC 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.

(riastradh)

2018-10-23 03:56:48 UTC MAIN commitmail json YAML

Clamp timeout to INT_MAX to avoid the bad kind of integer truncation.

XXX pullup-7
XXX pullup-8

(riastradh)

2018-10-23 03:56:33 UTC MAIN commitmail json YAML

DELAY takes microseconds, not ticks.

XXX pullup-7
XXX pullup-8

(riastradh)

2018-10-14 17:25:22 UTC 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!

(riastradh)

2018-09-09 03:24:46 UTC MAIN commitmail json YAML

Let's get the sense of strncmp correct, shall we?

PR pkg/51795
PR kern/51786

XXX pullup-7
XXX pullup-8

(riastradh)

2018-09-09 03:05:37 UTC 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

(riastradh)

2018-09-09 02:00:29 UTC 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.

(riastradh)

2018-09-09 01:53:23 UTC MAIN commitmail json YAML

libdrm needs libpci for bus info stuff.

(riastradh)

2018-09-05 07:32:45 UTC MAIN commitmail json YAML

One more min->uimin straggler confirmed by 201809042300Z autobuild.

(riastradh)

2018-09-04 15:08:30 UTC MAIN commitmail json YAML

2018-09-03 21:29:30 UTC MAIN commitmail json YAML

C99 initializers for intr_timecounter.

No functional change.

(riastradh)

2018-09-03 18:52:34 UTC MAIN commitmail json YAML

We have popcount; no need to reimplement it.

(riastradh)

2018-09-03 18:51:30 UTC 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.

(riastradh)

2018-09-03 18:02:11 UTC MAIN commitmail json YAML

Preserve signedness to return failure from fence_wait_timeout.

From mrg@.

(riastradh)

2018-09-03 16:55:17 UTC MAIN commitmail json YAML

Welcome to 8.99.25, courtesy of min/max ---> uimin/uimax.

(riastradh)

2018-09-03 16:54:55 UTC MAIN commitmail json YAML

2018-09-03 16:29:37 UTC MAIN commitmail json YAML

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!)

(riastradh)

2018-09-02 17:36:57 UTC MAIN commitmail json YAML

2018-09-01 22:28:04 UTC 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.

(riastradh)

2018-09-01 22:01:03 UTC MAIN commitmail json YAML

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.

(riastradh)

2018-09-01 04:38:22 UTC MAIN commitmail json YAML

2018-09-01 04:35:03 UTC MAIN commitmail json YAML

2018-08-30 01:19:49 UTC MAIN commitmail json YAML

This is not merely `not for NetBSD'; upstream it's #if 0 altogether.

Always has been.

(riastradh)

2018-08-29 15:52:27 UTC MAIN commitmail json YAML

2018-08-29 15:46:31 UTC MAIN commitmail json YAML

Let's try not to use uninitialized memory as a bus size, shall we?

From rjs@.

(riastradh)

2018-08-29 14:53:46 UTC 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).

(riastradh)

2018-08-28 15:04:58 UTC MAIN commitmail json YAML

For module build assume multiprocessor.

(riastradh)

2018-08-28 15:04:02 UTC MAIN commitmail json YAML

Issue __insn_barrier after loading hardclock_ticks.

For some reason this isn't volatile...

(riastradh)

2018-08-28 15:03:39 UTC MAIN commitmail json YAML

Assert EWOULDBLOCK happens only with timeout.

(riastradh)

2018-08-28 14:23:03 UTC MAIN commitmail json YAML

With no timeout, fence_default_wait must return 1 on success, never 0.

(riastradh)

2018-08-28 03:48:38 UTC MAIN commitmail json YAML

2018-08-28 03:41:40 UTC MAIN commitmail json YAML

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.

(riastradh)

2018-08-28 03:35:08 UTC MAIN commitmail json YAML

2018-08-28 03:34:53 UTC MAIN commitmail json YAML

Return the node we found.  From tnn@.

(riastradh)

2018-08-28 03:34:40 UTC MAIN commitmail json YAML

2018-08-28 03:34:07 UTC MAIN commitmail json YAML

Move nouveau pci initialization to nouveau_pci where it belongs.

Somehow I forgot this was a separate module.

(riastradh)

2018-08-28 03:33:54 UTC MAIN commitmail json YAML

2018-08-27 17:13:07 UTC MAIN commitmail json YAML

2018-08-27 16:30:51 UTC MAIN commitmail json YAML

Add amdgpu to amd64/ALL.

(riastradh)

2018-08-27 16:29:18 UTC MAIN commitmail json YAML

Add amdgpu to i386/ALL.

(riastradh)

2018-08-27 16:20:35 UTC MAIN commitmail json YAML

Ifdef out pnpbios for now.  Presumably needs to use bus_space_alloc.

(riastradh)

2018-08-27 16:16:16 UTC MAIN commitmail json YAML

Expand to __nothing, not to empty.

(riastradh)

2018-08-27 16:16:02 UTC MAIN commitmail json YAML

Include some needful header files and forward declarations.

(riastradh)

2018-08-27 16:15:48 UTC MAIN commitmail json YAML

Use offsetof, not undefined behaviour.

(riastradh)

2018-08-27 16:15:35 UTC MAIN commitmail json YAML

Simulate bus_space_read_8 with two bus_space_read_4 on 32-bit x86.

(riastradh)

2018-08-27 16:15:23 UTC MAIN commitmail json YAML

Convert to uintmax_t if we're going to use %jx.

(riastradh)

2018-08-27 16:15:09 UTC MAIN commitmail json YAML

2018-08-27 16:14:55 UTC MAIN commitmail json YAML

Omit print with wrong format -- vestige of merge.

(riastradh)

2018-08-27 16:06:01 UTC MAIN commitmail json YAML

2018-08-27 16:04:45 UTC MAIN commitmail json YAML

Bump config(5) version for OPT.foo.c variables.

(riastradh)

2018-08-27 16:04:32 UTC MAIN commitmail json YAML

Tag with nouveau, not just nouveau_pci, to get CWARNFLAGS.nouveau.

(riastradh)

2018-08-27 15:45:06 UTC MAIN commitmail json YAML

2018-08-27 15:32:51 UTC MAIN commitmail json YAML

Make sure to create and destroy the lock too...

(riastradh)

2018-08-27 15:32:39 UTC MAIN commitmail json YAML

2018-08-27 15:32:20 UTC MAIN commitmail json YAML

Implement BUS_DMA_TO_PHYS/PHYS_TO_BUS_DMA on arm respecting ranges.

(riastradh)

2018-08-27 15:32:06 UTC MAIN commitmail json YAML

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.

(riastradh)

2018-08-27 15:31:51 UTC MAIN commitmail json YAML

2018-08-27 15:31:27 UTC MAIN commitmail json YAML

2018-08-27 15:29:54 UTC MAIN commitmail json YAML

2018-08-27 15:29:42 UTC MAIN commitmail json YAML

Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.

(riastradh)

2018-08-27 15:29:31 UTC MAIN commitmail json YAML

At chuq's suggestion, use paddr_t rather than struct vm_page *.

Doesn't make much of a substantive difference.

(riastradh)

2018-08-27 15:29:19 UTC MAIN commitmail json YAML

2018-08-27 15:29:08 UTC 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.

(riastradh)

2018-08-27 15:28:53 UTC MAIN commitmail json YAML

Ifdef out label used only by !__HAVE_MM_MD_DIRECT_MAPPED_PHYS.

(riastradh)

2018-08-27 15:28:39 UTC MAIN commitmail json YAML

Work around broken null bus_dmatag_destroy expansion.

(riastradh)

2018-08-27 15:28:27 UTC MAIN commitmail json YAML

Expand docstring for reservation_object_poll.

(riastradh)

2018-08-27 15:28:16 UTC MAIN commitmail json YAML

Let's try not to step on each others' toes, shall we?

(riastradh)

2018-08-27 15:28:03 UTC MAIN commitmail json YAML

Clarify what bus_dmat and dmat are.

(riastradh)

2018-08-27 15:27:43 UTC MAIN commitmail json YAML

Use dmat, not bus_dmat, to respect drm_limit_dma_space.

(riastradh)

2018-08-27 15:27:28 UTC MAIN commitmail json YAML

Eliminate now-unused bus_dmamap_load_pgarray.

(riastradh)

2018-08-27 15:27:16 UTC MAIN commitmail json YAML

drm_gem_cma_create_internal can fail.

(riastradh)

2018-08-27 15:27:04 UTC MAIN commitmail json YAML

Include amdgpu_prime.c now that it will compile.

(riastradh)

2018-08-27 15:26:50 UTC MAIN commitmail json YAML

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

(riastradh)

2018-08-27 15:26:33 UTC MAIN commitmail json YAML

2018-08-27 15:26:16 UTC MAIN commitmail json YAML

2018-08-27 15:26:00 UTC MAIN commitmail json YAML

Fill out drm_prime_* API a little more for NetBSD.

Add comment explaining our use of struct sg_table.

(riastradh)

2018-08-27 15:25:43 UTC MAIN commitmail json YAML

Workqueue lock must be at IPL_VM for use in interrupts, duh.

(riastradh)

2018-08-27 15:25:28 UTC MAIN commitmail json YAML

Work around broken SDT_PROBE* in !KDTRACE_HOOKS until we merge HEAD.

(riastradh)

2018-08-27 15:25:14 UTC MAIN commitmail json YAML

2018-08-27 15:24:53 UTC MAIN commitmail json YAML

2018-08-27 15:24:40 UTC MAIN commitmail json YAML

Simplify.  Destroy the mutex too.

(riastradh)

2018-08-27 15:24:27 UTC MAIN commitmail json YAML

Factor mfence out.  Simplify a little.

(riastradh)

2018-08-27 15:24:11 UTC MAIN commitmail json YAML

Return the fd we just allocated.

(riastradh)

2018-08-27 15:23:57 UTC MAIN commitmail json YAML

Need sync after a series of dcbf's on powerpc.

(riastradh)

2018-08-27 15:23:40 UTC MAIN commitmail json YAML

Forgot to commit drm_trace_netbsd.h.  Too late to force an update...

(riastradh)

2018-08-27 15:22:55 UTC 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)
Draft support for drm prime.

(riastradh)

2018-08-27 15:13:17 UTC MAIN commitmail json YAML

2018-08-27 15:13:05 UTC MAIN commitmail json YAML

Omit vestigial diff from radeon_mode.h.

(riastradh)

2018-08-27 15:12:35 UTC MAIN commitmail json YAML

Convert to long for format expedience.

(riastradh)

2018-08-27 15:12:21 UTC MAIN commitmail json YAML

Try agp_i810_borrow only if CONFIG_AGP is enabled.

(riastradh)

2018-08-27 15:12:09 UTC MAIN commitmail json YAML

2018-08-27 15:11:58 UTC 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.

(riastradh)

2018-08-27 15:11:46 UTC MAIN commitmail json YAML

Implement drm_md_clflush_* for powerpc with dcbf.

(riastradh)

2018-08-27 15:11:33 UTC MAIN commitmail json YAML

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.

(riastradh)

2018-08-27 15:11:17 UTC MAIN commitmail json YAML