FreeBSD_HEAD_amd64_gcc - Build #1276 - Fixed:

Build information:
Full change log:
Full build log:

Change summaries:

301498 by bz:
Make the KASSERT message more helpful by also printing the ifp information
which we are asserting.

Obtained from:  projects/vnet
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation

301497 by sgalabov:
Remove erroneous lock assertions

In mediatek etherswitch support, functions mtkswitch_reg_write32_mt7621
and mtkswitch_reg_read32_mt7621 are called without locks held, so
lock assertions fail. Remove the lock assertions.

Sponsored by:   Smartcom - Bulgaria AD

301496 by araujo:
Add support to priority code point (PCP) that is an 3-bit field
which refers to IEEE 802.1p class of service and maps to the frame
priority level.

Values in order of priority are: 1 (Background (lowest)),
0 (Best effort (default)), 2 (Excellent effort),
3 (Critical applications), 4 (Video, < 100ms latency),
5 (Video, < 10ms latency), 6 (Internetwork control) and
7 (Network control (highest)).

Example of usage:
root# ifconfig em0.1 create
root# ifconfig em0.1 vlanpcp 3

The review D801 includes the pf(4) part, but as discussed with kristof,
we won't commit the pf(4) bits for now.
The credits of the original code is from rwatson.

Differential Revision:
Reviewed by:    gnn, adrian, loos
Discussed with: rwatson, glebius, kristof
Tested by:      many including Matthew Grooms <>
Obtained from:  pfSense
Relnotes:       Yes

301495 by arybchik:
sfxge(4): update TX vFIFO ULL tag location to avoid merge conflict

Sponsored by:   Solarflare Communications, Inc.
MFC after:      1 week

301494 by arybchik:
sfxge(4): pick an RSS bucket for the packet enqueued and select TXQ accordingly

Submitted by:   Ivan Malov <Ivan.Malov at>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
Differential Revision:

301493 by arybchik:
sfxge(4): set up the indirection table using the kernel-driven RSS bucket ids

Submitted by:   Ivan Malov <Ivan.Malov at>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
Differential Revision:

301492 by arybchik:
sfxge(4): bind interrupts to CPUs in accordance with bucket to CPU map

Submitted by:   Ivan Malov <Ivan.Malov at>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
Differential Revision:

301491 by arybchik:
sfxge(4): restrict the maximum number of RSS channels by the number of RSS 

This is done because one has no point to have more channels since they
will be unused.

Submitted by:   Ivan Malov <Ivan.Malov at>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
Differential Revision:

301490 by arybchik:
sfxge(4): get RSS key to be programmed into NIC from the kernel

Submitted by:   Ivan Malov <Ivan.Malov at>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
Differential Revision:

301489 by arybchik:
sfxge(4): prepare sfxge to be RSS API aware

This change is needed because 'opt_rss.h' is included by multiple source
files and RSS macro is defined as 1 within the file during build process
if option RSS is enabled in the kernel.

Submitted by:   Ivan Malov <Ivan.Malov at>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
Differential Revision:

301488 by sephe:
hyperv/vmbus: Constify channel message

MFC after:      1 week
Sponsored by:   Microsoft OSTC
Differential Revision:

301487 by sephe:
hyperv/vmbus: Factor out channel message processing

This paves the way for further cleanup.

MFC after:      1 week
Sponsored by:   Microsoft OSTC
Differential Revision:

301485 by adrian:
[bwn] don't use a 1MB CCK RTS frame for 11a OFDM transmissions.

301484 by sephe:
hyperv/vmbus: Define type for channel messages.

And fix message processing; only channel messages are supported.

MFC after:      1 week
Sponsored by:   Microsoft OSTC
Differential Revision:

301483 by sephe:
hyperv: Move machine dependent bits into machine dependent files.

MFC after:      1 week
Sponsored by:   Microsoft OSTC
Differential Revision:

301482 by araujo:
For pointers use NULL instead of 0.

301481 by araujo:
Connect ypldap(8) script on Makefile, forgotten on my previous commit r301480.

301480 by araujo:
Add rc.d script for ypldap(8).

301479 by araujo:
Install/Connect ypldap.conf(5) on examples.

301478 by gnn:
Add missing constants from RFCs 4443 and 6550

301477 by bdrewery:
legacy: Avoid building/installing headers twice.

Sponsored by:   EMC / Isilon Storage Division

301476 by bdrewery:
Use the in-tree sys/elf_common.h

This is the same fix as r301471.

301475 by bdrewery:

301474 by bdrewery:

makeman doesn't handle this since it would need to enable all
non-default options when checking enabling 1 option, which
then convolutes what is really affecting each other.

301473 by bdrewery:

301472 by bdrewery:
Only include for bmakes that use -m .../share/mk by default.

Otherwise they error when trying to include the file, which also has
its own dependencies.

Sponsored by:   EMC / Isilon Storage Division

301471 by bdrewery:
Use the in-tree sys/elf_common.h to build libelftc.

This fixes build failures on older releases that lack various
definitions such as EM_AARCH64 (which was unfixed before this).

Revert all of the recent compatibility changes that worked around this

This uses the same method of using the in-tree header as lib/libelf,
lib/libdwarf and usr.bin/readelf.

Reviewed by:    emaste
Sponsored by:   EMC / Isilon Storage Division
Differential Revision:

301470 by bdrewery:
Add a MINIMUM_SUPPORTED_OSREL and bump it to 900044.

This is actually a revision in the stable/9 branch released as 9.1.  The
localedef build requires xlocale from this period.

Sponsored by:   EMC / Isilon Storage Division

301469 by bdrewery:
DIRDEPS_BUILD: Fix bootstrap-tools not handling CCACHE_DIR properly.

CCACHE_DIR needs to be resolved to its full path before processing
legacy.meta or meta mode may see the change to the stats file.

Sponsored by:   EMC / Isilon Storage Division

301468 by bdrewery:

The WITH_META_MODE build is intended to be a working incremental build.
It spies on the build command to see if things should be rebuilt if the
command changes.  If you run buildworld, it builds a cross-compiler,
then do installworld and buildworld again it will invoke the
WITH_SYSTEM_COMPILER logic.  This then adds on -target/--sysroot, etc,
and causes rebuilds due to the changed build command even though the
compiler used is technically the same revision.  Since the incremental
build is not cleaning anything by default then there is much
less risk to rebuilding the already-existing cross-compiler.  Just
disable the combined logic and always use and build the cross-compiler.

An alternative to this would be to always pass -target/--sysroot.  Doing
so may occur in the future.

Sponsored by:   EMC / Isilon Storage Division

301467 by bdrewery:
WITH_META_MODE: Avoid host tool timestamps causing a rebuild.

Using buildworld, installworld, buildworld.  It is expected that nothing
should rebuild.  However any host tool used could have its timestamp
updated.  Any library used by dynamic tools could have its timestamp
updated.  The filemon(4) data in the .meta files captures all reads to
these files.  This causes the 2nd buildworld to rebuild everything since
host tools and files have been updated.

Because the build is self-reliant and bootstraps itself, it should be
safe to ignore mtime changes on host files used during the build.  Host
files should only impact the build of legacy, build-tools, bootstrap-tools,
cross-tools, but those are already intended to be reproducible from its
own bootstrapping.  It is possible in a rare case that a bug in a host
file does produce a broken build tool.  If that happens it will just
have to be communicated properly.

An alternative solution would be to update the mtime of all files in the
object directory after installworld so that the host files are not newer
than the object files.  That also requires special care for read-only
obj directories and special care to not mess with any intended timestamps in
the build, such as done for reproducibility.

Reported by:    many
Sponsored by:   EMC / Isilon Storage Division

301466 by bdrewery:
WITH_META_MODE: Enable bmake's missing meta rebuild feature

301465 by bdrewery:
Fix bmake version upgrade logic to use the new bmake.

Otherwise it was only used on the next build.

This was a flaw in r295980.

MFC after:      3 days
Sponsored by:   EMC / Isilon Storage Division

301464 by bdrewery:
Import latest 1.45 (r301462)

301462 by sjg:
Import bmake-20160604

Performace improvements for meta mode.

301461 by pfg:
libc/locale: Fix type breakage in __collate_range_cmp().

When collation support was brought in, the second and third
arguments in __collate_range_cmp() were changed from int to
wchar_t, breaking the ABI. Change them to a "char" type which
makes more sense and keeps the ABI compatible.

Also introduce __wcollate_range_cmp() which does work with wide
characters. This function is used only internally in libc so
we don't export it. Use the new function in glob(3), fnmatch(3),
and regexec(3).

PR:             179721
Suggested by:   ache. jilles
MFC after:      3 weeks (perhaps partial only)

301460 by bdrewery:
Cleanup COMPAT_FREEBSD32 support.

This is a NOP.

The COMPAT_IA32 was renamed in r205014 to COMPAT_FREEBSD32 and
COMPAT_ARCH32 does not seem to have existed.  Also remove some
leftovers from the sysent rework in r301404.  Include
freebsd32_util.h for the freebsd32_sysent prototype.

X-MFC-With:     r301404
Reported by:    kib
MFC after:      3 days
Sponsored by:   EMC / Isilon Storage Division

301457 by kib:
Avoid spurious EINVAL in amd64 pmap_change_attr().

Do not try to change attributes for DMAP when working on a mapping
which is not covered by the DMAP. This was reported on real system
where a BAR of a device (NTB) was mapped outside the PCI window.

Reported and tested by: mav
Reviewed by:    jhb, mav
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:

301456 by kib:
Get rid of struct proc p_sched and struct thread td_sched pointers.

p_sched is unused.

The struct td_sched is always co-allocated with the struct thread,
except for the thread0.  Avoid useless indirection, instead calculate
td_sched location using simple pointer arithmetic in td_get_sched(9).
For thread0, which is statically allocated, create a structure to
emulate layout of the dynamic allocation.

Reviewed by:    jhb (previous version)
Sponsored by:   The FreeBSD Foundation
Differential revision:

301455 by kib:
Use ANSI function definition.

Sponsored by:   The FreeBSD Foundation

301453 by skra:
INTRNG - change the way how an interrupt mapping data are provided
to the framework in OFW (FDT) case.

This is a follow-up to r301451.

Differential Revision:

301452 by jilles:
sh: Improve descriptions in 'ulimit -a' output.

The format limits descriptions to 18 characters and is not changed, so
the descriptions do not describe the limits exactly.

301451 by skra:
(1) Add a new bus method to get a mapping data for an interrupt.

BUS_MAP_INTR() is used to get an interrupt mapping data according
to provided hints. The hints could be modified afterwards, but only
if mapping data was allocated. This method is intended to be called

An interrupt mapping data describes an interrupt - hardware number,
type, configuration, cpu binding, and whatever is needed to setup it.

(2) Introduce a method which allows storing of an additional data
in struct resource to be available for bus drivers. This method is
convenient in two ways:
 - there is no need to rework existing bus drivers as they can simply
   be extended to provide an additional data,
 - there is no need to modify any existing bus methods as struct
   resource is already passed to them as argument and thus stored data
   is simply accessible by other bus drivers.
For now, implement this method only for INTRNG.

This is motivated by needs of modern SOCs where hardware initialization
is not straightforward and resources descriptions are complex, opaque
for everyone but provider, and may vary from SOC to SOC. Typical
situation is that one bus driver can fetch a resource description for
its child device, but it's opaque for this driver. Another bus driver
knows a provider for this kind of resource and can pass this resource
description to it. In fact, something like device IVARS would be
perfect for that if implemented generally enough. Unfortunatelly, IVARS
are usable only by their owners now. Only owner knows its IVARS layout,
thus other bus drivers are not able to use them.

Differential Revision:

301448 by ache:
Reflect error indication according to POSIX and what those functions
currently do.

301442 by bapt:
Fix build with external gcc

Completly disable some extra optimisation for very recent gcc.
They would require some updated in the runtime which we do not have yet

_______________________________________________ mailing list
To unsubscribe, send any mail to ""

Reply via email to