r354737 glebius Nov. 15, 2019, 6:02 p.m.
otherwise driver might silently fail to initialize.

Pointy hat to:	glebius
r354736 arichardson Nov. 15, 2019, 4:43 p.m.
By using '__' instead of '.' as the separator we can also support systems
that use dash as /bin/sh (it's the default shell on Ubuntu/Debian). Dash
will unset any environment variables that use a non alphanumeric+undedscore
character and therefore submakes will fail to import the COMPILER_*
variables if we use '.' as the separator.

Reviewed By:	emaste
Differential Revision: https://reviews.freebsd.org/D22381
r354733 cy Nov. 15, 2019, 4:34 p.m.
PR:		241421, 241960
Reported by:	Vladimir Zakharov <zakharov.vv@gmail.com>,
Reviewed by:	kib, imp (previous version), ian (suggestion)
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D22358
r354732 trasz Nov. 15, 2019, 4:21 p.m.
Reviewed by:	emaste
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D21966
r354731 bz Nov. 15, 2019, 1:45 p.m.
We are taking the same actions in both cases of the branch inside the block.
Simplify that code as the extra branch is not needed.

MFC after:	3 weeks
Sponsored by:	Netflix
r354730 scottl Nov. 15, 2019, 11:54 a.m.
r354729 scottl Nov. 15, 2019, 11:53 a.m.
Reviewed by:	kib
Sponsored by:	Intel
r354728 hselasky Nov. 15, 2019, 11:46 a.m.
Linux commit:

MFC after:	1 week
Sponsored by:	Mellanox Technologies
r354727 hselasky Nov. 15, 2019, 11:45 a.m.
Linux commit:

MFC after:	1 week
Sponsored by:	Mellanox Technologies
r354726 bz Nov. 15, 2019, 11 a.m.
Remove function prototypes which are not needed (no use before function
definition for these file static functions).

MFC after:	3 weeks
Sponsored by:	Netflix
r354724 dim Nov. 15, 2019, 6:56 a.m.
[InstCombine] Disable some portions of foldGEPICmp for GEPs that
  return a vector of pointers. Fix other portions.

  llvm-svn: 370114

This should fix instances of 'Assertion failed: (isa<X>(Val) &&
"cast<Ty>() argument of incompatible type!"), function cast, file
/usr/src/contrib/llvm/include/llvm/Support/Casting.h, line 255', when
building openjdk8 for aarch64 and armv7.

Reported by:	jbeich
PR:		236566
MFC after:	3 days
r354723 jhibbits Nov. 15, 2019, 4:33 a.m.
This is a more optimal way of doing atomic_compset_masked() than the
fallback in sys/_atomic_subword.h.  There's also an override for
_atomic_fcmpset_masked_word(), which may or may not be necessary, and is
unused for powerpc.

Reviewed by:	kevans, kib
Differential Revision:	https://reviews.freebsd.org/D22359
r354722 mhorne Nov. 15, 2019, 3:40 a.m.
SBI version 0.2 introduces functions for obtaining the details of the
SBI implementation, such as version and implemntation ID. Print this
info at startup when it is available.

Reviewed by:	jhb, kp
MFC after:	3 weeks
Differential Revision:	https://reviews.freebsd.org/D22327
r354721 mhorne Nov. 15, 2019, 3:37 a.m.
MFC with:	r354720
Differential Revision:	https://reviews.freebsd.org/D22326
r354720 mhorne Nov. 15, 2019, 3:34 a.m.
The Supervisor Binary Interface (SBI) specification v0.2 is a backwards
incompatible update to the SBI call interface for kernels running in
supervisor mode. The goal of this update was to make it easier for new
and optional functionality to be added to the SBI.

SBI functions are now called by passing an "extension ID" and a
"function ID" which are passed in a7 and a6 respectively. SBI calls
will also return an error and value in the following struct:

struct sbi_ret {
    long error;
    long value;

This version introduces several new functions under the "base"
extension. It is expected that all SBI implementations >= 0.2 will
support this base set of functions, as they implement some essential
services such as obtaining the SBI version, CPU implementation info, and
extension probing.

Existing SBI functions have been designated as "legacy". For the time
being they will remain implemented, but it is expected that in the
future their functionality will be duplicated or replaced by new SBI
extensions. Each legacy function has been assigned its own extension ID,
and for now we simply probe and assert for their existence.

Compatibility with legacy SBI implementations (such as BBL) is
maintained by checking the output of sbi_get_spec_version(). This
function is guaranteed to succeed by the new spec, but will return an
error in legacy implementations. We use this as an indicator of whether
or not we can rely on the new SBI base extensions.

For further info on the Supervisor Binary Interface, see:

Reviewed by:	kp, jhb
MFC after:	3 weeks
Differential Revision:	https://reviews.freebsd.org/D22326