Home | History | Annotate | Download | only in conf
History log of /src/sys/conf/Makefile.kern.inc
RevisionDateAuthorComments
 1.304  25-Sep-2025  mrg remove the recently added -O0 for vax & gcc 14, the compiler bug is fixed.

thanks to Kalvis.
 1.303  24-Sep-2025  mrg vax-gcc14 needs -O0 for vsbus.c and ncr53c9x.c.
 1.302  13-Jan-2025  riastradh Switch from -std=gnu99 to -std=gnu11 by default.

This is needed for newer language syntax like u"foo" for UTF-16
string literals in UEFI.

As proposed on tech-kern:

https://mail-index.netbsd.org/tech-kern/2025/01/05/msg029919.html

Some commentators requested -std=c11 instead of -std=gnu11, but that
requires additional work -- some of it is a matter of providing asm
and typeof as aliases for __asm__ and __typeof__, but there's other
issues that need to be resolved too like PR toolchain/58969: use of
alloca is warning, not error, with -std=c11. This is a smaller
incremental change.

PR toolchain/58962: clang build broken by C11 features with -std=gnu99
 1.301  06-May-2024  mrg branches: 1.301.2;
use objcopy's --compress-debug-sections when creating debug files.

this reduces the size of the installed files by over half in most cases,
though the debug set size doesn't really change much (which looks like
close to 1GB of space on amd64 with xdebug installed, similar on arm64,
and about 600MB without xdebug.)

tested by running GDB on a few things, seems just as functional, on amd64,
arm64, and slightly on riscv64.

(first attempt for this feature used "gcc -gz=zlib", but that ends up
making CTF unhappy, but fortunately this works in binutils to create
the .debug files separate to any ctf usage of the main file.)
 1.300  14-Jan-2024  gutteridge Makefile.kern.inc: fix grammar in a comment
 1.299  28-Jul-2023  rin Simplify fix for PR toolchain/57146

Introduce ARCH_STRIP_SYMBOLS variable to centralize logic for debug
symbols from MD Makefile's to Makefile.kern.inc.
 1.298  26-Jul-2023  rin Fix kernel size inflation for arm and aarch64 (PR toolchain/57146)

For some conditions, SYSTEM_LD_TAIL is set for arm and aarch64.
Then, ctfmerge(1) in default SYSTEM_LD_TAIL is unintentionally
skipped, which results in the catastrophic kernel size inflation,
as reported in the PR.

Also, introduce and use OBJCOPY_STRIPFLAGS variable instead of
STRIPFLAGS, as strip(1) is replaced by objcopy(1) during MI
kernel build procedure.

XXX
For Makefile.{arm,aarch64}, weird logic is used to determine how
to handle debug symbols; MKDEBUG{,KERNEL} are taken into account
later in sys/conf/Makefile.kern.inc.
 1.297  03-Jun-2023  lukem adapt to ${CC_WNO_ADDRESS_OF_PACKED_MEMBER}

Simplify CWARNFLAGS to use ${CC_WNO_ADDRESS_OF_PACKED_MEMBER}
which works for both clang and gcc, and remove compiler-specific
equivalents.
 1.296  03-Jun-2023  lukem bsd.own.mk: rename to CC_WNO_ADDRESS_OF_PACKED_MEMBER

Provide a single variable
CC_WNO_ADDRESS_OF_PACKED_MEMBER
with options for both clang and gcc, to replace
CLANG_NO_ADDR_OF_PACKED_MEMBER
CC_NO_ADDR_OF_PACKED_MEMBER
GCC_NO_ADDR_OF_PACKED_MEMBER

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.
 1.295  27-Aug-2022  rillig branches: 1.295.4;
sys: document how to run lint on the kernel code (experimental)
 1.294  03-Aug-2022  riastradh sys: Build kernel with -Wno-type-limits.

The type-limits warning is actively harmful because it discourages
writing safe portable overflow detection logic which happens, on some
architectures, to be dead code.
 1.293  06-Jan-2022  christos Fix for systems that override SYSTEM_LD_TAIL
 1.292  04-Jan-2022  christos use a function "runit" to echo and execute avoiding set -x.
 1.291  30-Dec-2021  christos - With DEBUG=-g (which is also set when we build CTF) we build netbsd.gdb *and*
netbsd-${KERNEL_CONFIG}.debug because it is not worth having two sets of
rules (one that builds just netbsd.gdb and one that builds both netbsd.gdb
and netbsd-${KERNEL_CONFIG}.debug. This maintains compatibility building
netbsd.gdb when DEBUG=-g
- When either MKDEBUGKERNEL=yes or MKDEBUG=tes we set DEBUG=-g if DEBUG was
not set.
- We only make a debuginstall rule to install netbsd-${KERNEL_CONFIG}.debug
if MKDEBUG=yes
 1.290  30-Dec-2021  christos forgot one KERNEL_BUILD (Tobias Nygren)
 1.289  30-Dec-2021  christos Use the tail of KERNEL_BUILD since it can be a full path.
 1.288  30-Dec-2021  christos Add ${_MKTARGET_INSTALL}
 1.287  30-Dec-2021  christos use ${INSTALL_FILE} so that unpriv builds work.
 1.286  29-Dec-2021  christos Enable split-debug files for kernels. Enabled by default with MKDEBUG=yes.
 1.285  20-Dec-2021  christos Rename:
MKKDEBUG -> MKDEBUGKERNEL
MKTOOLSDEBUG -> MKDEBUGTOOLS
while keeping compatibility with the old names. Add missing documentation.
Now all debugging tunables are prefixed with MKDEBUG.
 1.284  27-Oct-2021  ryo revert previous: http://mail-index.netbsd.org/source-changes/2021/10/25/msg133295.html

going to add __always_inline to the functions called from _mcount()
discussed on http://mail-index.netbsd.org/source-changes-d/2021/10/25/msg013480.html
 1.283  25-Oct-2021  ryo In some arch, _mcount() would be called recursively when built with COPTS=-O0.

Normally, functions called from mcount.c are expected to be expanded inline,
so _mcount() will never be called recursively. But when build with COPTS=-O0,
`static inline' functions aren't inlined, and _mcount() will be called
recursively.

Even if _mcount() has `__attribute__((__no_ instrument_function__))',
it has no effect on the calling external (no-inlined) function.

To avoid this, PROF.<fn> is added can be set the profiling flag of any file.
"PROF.mcount.c" is set to blank by default, mcount.c itself is compiled
without -pg.
 1.282  11-Sep-2021  andvar Add missing double p and d for stopped and overriden accordingly.
Fix few more typos along the way, mainly in copy-pasted comments.
 1.281  02-Jun-2021  nia drm2: build with -fwrapv, since the Linux kernel does and we don't
want to spend too much time fixing their code. silences a lot of
KUBSAN warnings.

we need to use COPTS to have per-option compiler flags. help from
Riastradh.
 1.280  06-Apr-2021  simonb branches: 1.280.2; 1.280.6;
Revert rev 1.278 which tried to call ctfmerge only once - this has
caused kernels with embedded symbol tables to explode in size.
 1.279  05-Apr-2021  christos Don't use /usr/bin/time (it is not portable)
 1.278  05-Apr-2021  simonb Move the ctfmerge call from SYSTEM_LD_TAIL (used by both STAGE1 and STAGE2)
to SYSTEM_LD_TAIL_STAGE2 only. ctfmerge is slow enough that just calling
it once is enough.
 1.277  31-Jan-2021  rillig branches: 1.277.2;
sys/conf: remove useless dollars from Makefile.kern.inc

When parsing a variable modifier such as :C or :S, all '$' but the very
last are silently swallowed.

See usr.bin/make/unit-tests/varmod-subst.mk for details.

Since August 2020, make has a strict lint mode that is activated by
passing it the option -dL. In that mode, these redundant '$' are not
accepted anymore.
 1.276  06-Sep-2020  mrg branches: 1.276.2;
add support for new GCC 9 warnings that may be too much to fix
right now. new address-of-packed-member and format-overflow
warnings have new GCC_NO_ADDR_OF_PACKED_MEMBER amd
GCC_NO_FORMAT_OVERFLOW variables to remove these warnings.

apply to a bunch of the tree. mostly, these are real bugs that
should be fixed, but in many cases, only by removing the 'packed'
attribute from some structure that doesn't really need it. (i
looked at many different ones, and while perhaps 60-80% were
already properly aligned, it wasn't clear to me that the uses
were always coming from sane data vs network alignment, so it
doesn't seem safe to remove packed without careful research for
each affect struct.) clang already warned (and was not erroring)
for many of these cases, but gcc picked up dozens more.
 1.275  22-Jul-2020  jdolecek enable -Walloca, warn if something uses alloca()
 1.274  25-Jun-2020  jdolecek enable gcc stack usage limit for kernel functions, set to 3.5 KiB for now
as that seems to be enough to accomodate the current biggest stack usages

there are about six functions which use over 3KiB local stack, and
about a dozen between 2-3 KiB, so pushing this further needs more work
if desired

compile tested on amd64, i386, sparc64, sparc, powerpc (evbppc - BookE),
m68k (mac68k)
 1.273  19-Jun-2020  simonb Use -fstack-usage only if we are using gcc.

Pointed out by maxv@
 1.272  18-Jun-2020  rin Discard -fstack-usage for vax, for which GCC does not support that option
at the moment.
 1.271  17-Jun-2020  simonb Add -fstack-usage to kernel builds. Produces .su files that can be
analysed to find large stack users.
 1.270  21-May-2020  christos Do the chmod last so that the kernels get consistent permissions for MKREPRO
Reported by wiz@.
 1.269  04-Apr-2020  christos Infrastructure for putting kernel+modules in /netbsd/kernel and
/netbsd/modules respectively instead of /netbsd and
/stand/<arch>/<version>/modules. This is only supported for x86,
and is turned off by default. To try it, add KERNEL_DIR=yes in your
/mk.conf and install a system from that build.
 1.268  05-Feb-2019  mrg pass -Wno-error=implicit-fallthrough for zlib.c.

XXX: consider using copts.mk for various warning/copt flags passed
in kernel builds currently set via 'makeoptions' in files.* files.
this is suboptimal, as those all get embedded into the kernel with
config_file.h.
 1.267  27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.266  22-Sep-2018  rin - Determine KERN_AS automatically depending on whether OPT_MODULAR is
set or not, in the same way as libcompat.

- Specify OPT_MODULAR in the port Makefile instead of KERN_AS.

Now, KERN_AS=library is used for kernels without module(7) for all ports.

OK christos
 1.265  27-Aug-2018  riastradh Add CFLAGS, CPPFLAGS, and CWARNFLAGS from options to .c files.
 1.264  17-Feb-2018  joerg branches: 1.264.2; 1.264.4;
Restrict -fno-delete-null-pointer-checks to GCC.
 1.263  13-Feb-2018  mrg use -fno-delete-null-pointer-checks for kernels.
 1.262  22-Jan-2018  christos - Coverity does not like -std=gnu99
- Another lose is that you need to manually edit the compiler XML to add
all the kernel options because cov-configure barfs because it tries to
test the compilation environment thinking that we are userland even
when options like -ffreestanding are present.
 1.261  04-Dec-2017  martin We use .BEGIN for our own cleanup and won't ever need DTS support - so
avoid inclusion of dts.mk by defining _SKIP_DTS
 1.260  15-Jul-2017  christos branches: 1.260.2;
Move the dts rule to a separate file and add dependencies handling.
 1.259  13-Jul-2017  jmcneill Add support for dts files outside of external/gpl2.
 1.258  17-Jun-2017  christos Assign DTB files to a variable so we can make -V DTB
 1.257  15-Jun-2017  jmcneill Add support for building DTB files during kernel build, from christos.
 1.256  11-Jan-2017  joerg branches: 1.256.8;
Disable a couple of warnings until further investigation.
 1.255  08-Jan-2017  christos Move to ssp.c suggested by uebayasi@
 1.254  08-Jan-2017  christos Add COPTS for xhci.c, since the do_command_locked causes a spurious stack
proector warning.
 1.253  04-Jan-2017  christos Collect a list of kernel swap files to be removed (Yorick Hardy)
 1.252  04-Jan-2017  christos match the M* and N* targets.
 1.251  04-Jan-2017  christos PR/51772: Yorick Hardy: Don't hard-code "netbsd", use ${.TARGET} consistently.
 1.250  09-Apr-2016  riastradh branches: 1.250.2;
Use && to fail early if subcommands of kernel link fail.

(Remind me why we string together shell commands instead of just
using make targets?)
 1.249  27-Nov-2015  christos use commands() instead of target() because assym.mk creates all the targets
unconditionally.
 1.248  27-Nov-2015  christos PR/50483: David A. Holland: fix building of assym.d:

1. use += to add to DEPS
2. move inclusion of rules mk. files before the rules are defined
so that variables are set.

Now we get on amd64:

mkdep: ignoring acpi_wakeup_low.d: No such file or directory
mkdep: ignoring amd64func.d: No such file or directory
mkdep: ignoring busfunc.d: No such file or directory
mkdep: ignoring copy.d: No such file or directory
mkdep: ignoring cpu_in_cksum.d: No such file or directory
mkdep: ignoring cpufunc.d: No such file or directory

because there are no rules to generate those, but it is harmless.
 1.247  15-Sep-2015  uebayasi Clean up splash image build. Print messages when creating files.
 1.246  11-Sep-2015  uebayasi Indent.
 1.245  10-Sep-2015  uebayasi Fix dependency of *.d -> assym.h in `-S' mode.
 1.244  07-Sep-2015  uebayasi Preserve the order of files in ${ALLFILES} -> ${OBJS} conversion.
 1.243  06-Sep-2015  uebayasi More build ordering.
 1.242  06-Sep-2015  uebayasi Don't pass ``-DCOPY_SYMTAB'' to ${CC}; it's replaced with opt_copy_symtab.h.
 1.241  06-Sep-2015  uebayasi Move ldscript related code out of Makefile.kern.inc.
 1.240  06-Sep-2015  uebayasi Clean up. Move assym.h/vers.c related code out of Makefile.kern.inc.
 1.239  06-Sep-2015  uebayasi Clean up. Move SSP-specific adjustment out of Makefile.kern.inc.
 1.238  06-Sep-2015  uebayasi Allow MD to link libraries. Build rules are written in MD makefiles until
config(1) will support library properly.
 1.237  04-Sep-2015  uebayasi Make config(1) output only ${ALLFILES}, selected input files, and pass it to
Makefile.kern.inc, where files are filtered by suffix.
 1.236  03-Sep-2015  uebayasi Add generated *.c files (devsw.c and ioconf.c) to ${CFILES} by config(1)
internally. ${MI_CFILES} in Makefile.kern.inc is no longer needed.
 1.235  03-Sep-2015  uebayasi Prepare for relative ${MD_OBJS}.
 1.234  03-Sep-2015  uebayasi Move `all' target definition to Makefile.kern.inc.
 1.233  03-Sep-2015  uebayasi Kernel depends on swap<kernel>.o too.
 1.232  03-Sep-2015  uebayasi Sort dependendy to keep alphabetical build order.
 1.231  03-Sep-2015  uebayasi Define kernel dependency in Makefile.kern.inc.
 1.230  03-Sep-2015  uebayasi Rename ${COMPILE.c} to ${KCOMPILE.c} to avoid potential conflicts with those
in sys.mk. Define .go/.po suffix rules.
 1.229  03-Sep-2015  uebayasi Refactor.
 1.228  03-Sep-2015  uebayasi Simplify. Wrap long lines.
 1.227  03-Sep-2015  uebayasi Stop ordering objects alphabetically now that I am sure I can fix fallouts.
 1.226  03-Sep-2015  uebayasi Build conf/param.c normally.
 1.225  02-Sep-2015  uebayasi Fix link of kernels whose name don't start with "netbsd*".
 1.224  02-Sep-2015  uebayasi Build param.c under conf/ using suffix rules in `-S' mode.
 1.223  02-Sep-2015  uebayasi Clean up `swap<kernel>.o' handling.
 1.222  02-Sep-2015  uebayasi Define ${OBJS} in `Makefile.kern.inc'. Relative paths are not truncated
(a/b/c/x.c -> x.c) in `-S' mode. Don't provide some explicit rules for `-S'
mode for safety.
 1.221  02-Sep-2015  uebayasi Output relative path for ${CFILES} and ${SFILES} in generated `Makefile'.
`Makefile.kern.inc' knows how to deal with $S prefix, so don't bother it in
config(1).
 1.220  02-Sep-2015  uebayasi Add swap<kernel>.o to common ${SYSTEM_LD} as it is always linked.
 1.219  02-Sep-2015  uebayasi Clean up some rules and make them less error prone.
 1.218  01-Sep-2015  uebayasi Define suffix rules at the end to override system definitions. Provide them
only if ___USE_SUFFIX_RULES___ is defined (config -S).
 1.217  01-Sep-2015  uebayasi Experimental suffix-rules build (disabled by default).
 1.216  30-Aug-2015  uebayasi Fix "Define compile rules in sys/conf/Makefile.kern.inc ...".

Use `.if !commands(xxx)' to check if `xxx' has a defined, overriden rule,
instead of `.if !targets(xxx)'. The latter evaluates as true even when `xxx'
has an empty rule to define a dependency.
 1.215  30-Aug-2015  uebayasi A makeoptions `DEFWARNINGS', forcibly disabling all ${CC} warnings, is only
used by hpcmips's NULLCONF, which doesn't even build for other causes.

If some source doen't build and needs a workaround, that should be deal with
by modifying per-file ${CC} options (e.g. COPTS.foo.c+=-fno-xxx). Let's not
use DEFWARNINGS any longer.
 1.214  30-Aug-2015  uebayasi Move splash logic, keep Makefile.kern.inc clean.
 1.213  30-Aug-2015  uebayasi Put back MEMORY_DISK_IMAGE logic, but use generated opt_memory_root_image.h
and don't polute Makefile.kern.inc.
 1.212  30-Aug-2015  uebayasi Define compile rules in sys/conf/Makefile.kern.inc except those overriden by
"file ... compile-with ...". As rules are still explicit, be careful to not
override by checking .if !target(xxx.o).
 1.211  30-Aug-2015  uebayasi Use makeoptions_COPY_SYMTAB via opt_copy_symtab.h in sources. Remove a hack
to set -DCOPY_SYMTAB from sys/conf/Makefile.kern.inc. Remove unnecessary
dependencies too.
 1.210  29-Aug-2015  uebayasi Move less important part out of Makefile.kern.inc.
 1.209  29-Aug-2015  uebayasi Define two suffix rules, .c -> .o and .S -> .o, using ${NORMAL_C} and
${NORMAL_S} respectively. Use the .c rule to build devsw.c, ioconf.c, and
param.c. Other .c/.S files have explicit rules in the generated `Makefile',
and unaffected.
 1.208  29-Aug-2015  uebayasi Now that MAXUSERS is in opt_param.h, param.o doesn't depend on Makefile.
 1.207  29-Aug-2015  uebayasi According to nxr.netbsd.org, nothing uses MEMORY_DISK_IMAGE. Retire it.
Premature design and its build rule bloats Makefile.kern.inc. There are
other ways like MEMORY_DISK_DYNAMIC.

(When kernel will be built as relocatable, embedding binary data will be much
easier, and md(4), splash(4), and ksyms(4) will all benefit.)
 1.206  29-Aug-2015  uebayasi genassym.cf and machdep.c are _KERNEL_OPT'ed, don't depend on Makefile.
 1.205  29-Aug-2015  uebayasi conf.c doesn't exist.

autoconf.c exists, but it's just a C file, no need to depend on Makefile.
 1.204  29-Aug-2015  uebayasi I don't see how uipc_proto.c can change its content by Makefile, don't depend
on Makefile. vfs_conf.c doesn't even exist, remove it too.
 1.203  29-Aug-2015  uebayasi Convert MAXUSERS, take 2.

Define MAXUSERS in opt_param.h and include it from sys/param.h, for more
accurate dependency. Don't define -DMAXUSERS and add it to ${CPPFLAGS}.
config(5)'s "maxusers" syntax doesn't change.

(The version just before revert was OK, but I had something bad in my obj
dirs.)
 1.202  29-Aug-2015  uebayasi Revert MAXUSERS changes. Need fresh air.
 1.201  29-Aug-2015  uebayasi Define MAXUXERS in opt_param.h. Bump config(1) version.
 1.200  29-Aug-2015  uebayasi Comment.
 1.199  29-Aug-2015  uebayasi Define some suffix rules. Not used and harmless, because all rules are
explicit now.
 1.198  29-Aug-2015  uebayasi Specify explicit output (-o) to ${LINT} too.
 1.197  29-Aug-2015  uebayasi Specifiy explicit output (-o) to ${CC}.
 1.196  27-Aug-2015  uebayasi netbsd depends on $S/kern/kern_ksyms_buf.c; rarely updated but better safe.
 1.195  27-Aug-2015  uebayasi Tweak previous.
 1.194  27-Aug-2015  uebayasi Echo exact objects (swap*.o etc.) when linking kernel.
 1.193  26-Aug-2015  uebayasi Have MI genassym.cf.
 1.192  26-Aug-2015  uebayasi Don't allow MD to override the assym.h generation rule.

(Nothing defines it except i386/bioscall/Makefile, but it is not part of
kernel build.)
 1.191  25-Aug-2015  uebayasi Make <kernel>.ldscript ready to include assym.h.
 1.190  25-Aug-2015  uebayasi Redo Rev. 1.188:
o Explicitly add dependency of `<kernel>' on `<kernel>.ldscript', instead of
relying on ${SYSTEM_DEP}, which is evaluated much earlier than
`sys/conf/Makefile.kern.inc' is included, to avoid evaluation ordering
problems.
o Print a message when creating a `<kernel>.ldscript'.
o Trim empty lines in `<kernel>.ldscript'.
 1.189  24-Aug-2015  christos Fix the build: provide compatibility with ports that define KERNLDSCRIPT to
a file?
 1.188  24-Aug-2015  uebayasi If a kernel linker script is provided, preprocess it by cpp(1).

Thus some constants (PAGE_SIZE, COHERENCY_UNIT, ...) can be replaced in linker
scripts without setting unnecessary temporary symbols, or doing ugly sed(1)
hacks. No headers are included yet.
 1.187  24-Aug-2015  uebayasi Fix vers.o dependency:
o Depend on ${SYSTEM_OBJ} instead of ${SYSTEM_DEP}. The latter is obviously
meant for kernels.
o Depend on Makefile instead of ${SYSTEM_SWAP_DEP}, which has existed since
Rev. 1.1, but seems not used now. Makefile is a file that must be updated
after every config(1) run. This is simpler than dependency on swap<kernel>.c.
 1.186  24-Aug-2015  uebayasi Define ${LINKSCRIPT} in one place.
 1.185  19-Aug-2015  uebayasi If MD ldscript is generated, give it dependency on ${SYSTEM_OBJ}.
 1.184  01-May-2015  nat Include splash with genfb.
splash.o is only included with options SPLASHSCREEN.
splash_image.o target moved to Makefile.kern.inc.

This commit was approved by matt@
 1.183  15-Nov-2014  uebayasi branches: 1.183.2;
Stop ordering dependencies alphabetically.
 1.182  15-Nov-2014  uebayasi Don't sort objects for modular build.
 1.181  15-Nov-2014  uebayasi Separate linker script argument (${LINKSCRIPT}) from ${LINKFORMAT}

${LINKFORMAT} specifies ABI options, and used for ld -r. ${LINKSCRIPT} (-T
ldscript) is used only for final link.
 1.180  13-Nov-2014  uebayasi `ld -r' needs ${LINKFORMAT}. This fixes the experimental config(1) modular
build for MIPS64 ports.
 1.179  07-Nov-2014  nakayama Trim " " at the beginning of version string to follow the change
in rev.1.60 of newvers.sh.

-const char sccs[] = "@(#)${fullversion}";
+const char sccs[] = "@(#)" ${fullversion_source};
 1.178  06-Nov-2014  uebayasi Leave .map when linking .ko in modular build.
 1.177  06-Nov-2014  uebayasi More clean files.
 1.176  10-Oct-2014  uebayasi Fix link echo indent.
 1.175  09-Oct-2014  uebayasi Define a command to generate relocatable objects using ld -r.
 1.174  20-Sep-2014  matt Also copy the symtab to the .gdb image. If we are producing a .gdb, grab
the symtab from that since it will be a bit larger than the one from the
stripped kernel and thus can't be inserted into the .gdb kernel.
 1.173  05-Sep-2014  matt Add a commented out CWARNFLAGS to enable -Wc++-compat but don't treat them
as errors.
 1.172  21-Aug-2014  skrll More tidyup after joerg's copy&paste disaster. I have ddb symbols again.
 1.171  20-Aug-2014  joerg Drop stray }
 1.170  17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.169  08-Aug-2014  joerg branches: 1.169.2;
The bpendtsleep label has been gone for a long time, so cleanup the
associated hack here.
 1.168  05-May-2014  martin As discussed on tech-toolchain, offer a new make variable MKKDEBUG - if
set to "yes", kernel builds will gain debug info and a netbsd.gdb will
be created (same as adding "makeoptions DEBUG=-g" to the config file).
 1.167  10-Mar-2014  ozaki-r branches: 1.167.2;
Do COMPILE_CTFCONVERT on vers.o as same as other targets

Otherwise, we will get the error when building a kernel with -V MKDTRACE:
ERROR: nbctfmerge: Input file vers.o was partially built from C sources,
but no CTF data was present
 1.166  10-Mar-2014  ozaki-r Use CTFMFLAGS, not CTFFLAGS, for CTFMERGE
 1.165  04-Mar-2014  joerg Introduce GENASSYM_CPPFLAGS for options during genassym processing.
Consistently drop assembler flags.
 1.164  18-Oct-2013  mbalmer revert previous
 1.163  18-Oct-2013  mbalmer add a device-major for lua(4)
 1.162  21-Sep-2013  joerg Update LLVM/Clang snapshot to r191105. This brings in a better detection
of unused static variables and functions. Disable this for some external
code and for ioconf.c in the kernel.
 1.161  09-Aug-2013  skrll Fix debug kernel builds when the automatic symbol table resizing kicks in.
Previously, the TAIL/HEAD link steps were being executed twice and the
(relinked/stripped) kernel would overwrite the debug version.

XXX this is all ugly.
 1.160  17-Jul-2013  matt Use += for SYSTEM_DEP not ?=
 1.159  04-Nov-2012  apb branches: 1.159.2;
Add references to ${_NETBSD_VERSION_DEPENDS} for files that
need to be re-created when the NetBSD version changes. They
will also be re-created when any build settings are changed.
 1.158  10-Aug-2012  joerg branches: 1.158.2;
Deal with optional HAVE_GCC.
 1.157  27-Jul-2012  matt Enable -fno-common for GCC compiled kernels
 1.156  25-Mar-2012  martin Redo rev 1.154 by using an explicit MKSHNOECHO that does not output anything.
 1.155  25-Mar-2012  joerg Don't pass assembler flags to genassym, it doesn't compile.
 1.154  25-Mar-2012  uebayasi Don't print blank lines when !CTFCONVERT.
 1.153  19-Mar-2012  bsh adjust the size of db_symtab space automatically.
proposed on tech-toolchain@, and got no objections.
 1.152  12-Feb-2012  matt branches: 1.152.4;
Change old-style function defintions to C89 prototypes.

Approved by releng.
 1.151  03-Feb-2012  christos -Wold-style-definitions for i386 and amd64
 1.150  19-Dec-2011  joerg Move Clang-warning flags for ah_regdomain.c into sys/conf, they are
platform independent. Use the selective -Wno-* flags instead of
-Wno-error.
 1.149  25-Sep-2011  joerg branches: 1.149.2; 1.149.6;
Allow analyze to work by including bsd.clang-analyze.mk for kernels
 1.148  31-Aug-2011  plunky for multi-cpu machines, cpu_hatch() straddles the init of
__stack_chk_guard, so ensure stack protection is disabled
on x86 architectures (I don't know about other archs)
 1.147  28-Aug-2011  jmcneill let kernel makefile override *.d targets
 1.146  18-Aug-2011  christos Remove gcc-4.5 hacks
 1.145  11-Aug-2011  jmcneill let md makefile add newvers.sh flags by setting NVFLAGS
 1.144  09-Aug-2011  joerg Restrict -Wno-array-bounds to tulip.c with gcc.
 1.143  28-Jul-2011  uebayasi Define SYMTAB_SPACE in opt_ksyms.h, not opt_ddbparam.h. Ensure
that ddb(4) code is independent of SYMTAB_SPACE value.
 1.142  07-Jul-2011  mrg adb_kbd.c and adb_ms.c need -Wno-cast-qual due to sysctl const issue.
 1.141  04-Jul-2011  mrg apply some -Wno-foo to 3 files that are non-trivial to solve, for GCC 4.5.
 1.140  20-Jun-2011  mrg remove all the code that supported HAVE_GCC=3. mostly from chuq.
 1.139  17-Jun-2011  matt If dbsym fails, not fail the command, remove the target too so that the
next invokation will try to remake it.
 1.138  30-May-2011  joerg branches: 1.138.2;
Don't duplicate -Werror here, bsd.sys.mk already provides it
 1.137  26-May-2011  joerg Default to -Wno-sign-compare -Wno-pointer-sign for clang.
Push -Wno-array-bounds down to the cases that depend on it.
Selectively disable warnings for 3rd party software or non-trivial
issues to be reviewed later to get clang -Werror to build most of the
tree.
 1.136  23-May-2011  joerg Reorder flag order to not depend on -Wextra being applied before
-Wno-sign-compare
 1.135  22-May-2011  joerg Inherit SSP settings from bsd.sys.mk
 1.134  19-May-2011  joerg Spell --fatal-warnings with two hyphens
 1.133  17-May-2011  joerg Add support for source specific AFLAGS and COPTS.
 1.132  11-May-2011  jakllsch Make ${DBSYM} failure fatal.
 1.131  30-Apr-2011  plunky correct comment
 1.130  17-Feb-2011  matt If generating a gdb kernel and using dbsym, insert the symbols into it.
(This is useful when using the .gdb with an emulator so that ddb in the
emulator will have symbols).
 1.129  04-Jan-2011  matt branches: 1.129.2; 1.129.4;
If using a kernel ldscript, make sure it's added to the list of kernel
dependencies.
 1.128  02-Jan-2011  matt Kernels modules are c99 (gnu99) just like the kernel.
Add(move) -std=gnu99 to CPPFLAGS (from COPTS).
 1.127  05-Mar-2010  njoly branches: 1.127.2;
Use 'a && b && ...' contructs for running multiple commands on a single line
in Makefiles, to properly detect/report failures.
 1.126  01-Mar-2010  darran DTrace: Add an SDT (Statically Defined Tracing) provider framework, and
implement most of the proc provider. Adds proc:::create, exec,
exec_success, exec_faillure, signal_send, signal_discard, signal_handle,
lwp_create, lwp_start, lwp_exit.
 1.125  10-Nov-2009  tron branches: 1.125.2;
"cgd.c" doesn't use variable size stack allocations anymore.
 1.124  13-May-2009  cube Nothing has used config_time.h since 1/8/2008.
 1.123  30-Mar-2009  perry Add a MKREPRO variable (defaults to "no") that invokes newvers.sh with
the -r flag if it is set to "yes", resulting in a reproducible kernel build.
 1.122  20-Mar-2009  pooka fix cscope target

Philip Paeps, PR kern/41012
 1.121  12-Feb-2009  christos Unbreak ssp kernels. The issue here that when the ssp_init() call was deferred,
it caused the return from the enclosing function to break, as well as the
ssp return on i386. To fix both issues, split configure in two pieces
the one before calling ssp_init and the one after, and move the ssp_init()
call back in main. Put ssp_init() in its own file, and compile this new file
with -fno-stack-protector. Tested on amd64.
XXX: If we want to have ssp kernels working on 5.0, this change needs to
be pulled up.
 1.120  18-Jan-2009  hans branches: 1.120.2;
Not every grep knows -q. Ok by apb.
 1.119  13-Nov-2008  matt Sort the kernel objects.
 1.118  25-Oct-2008  apb branches: 1.118.2; 1.118.4;
Use ${TOOL_SED} instead if plain sed in Makefiles.
 1.117  19-Oct-2008  apb Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
 1.116  05-Sep-2008  tron Compile NetBSD/amd64 kernels with "-Wextra". Patches contributed by
Juan RP in PR port-amd64/39266.
 1.115  05-Sep-2008  tron Don't add "${CPUFLAGS}" and "${CWARNFLAGS}" to "AFLAGS" and "CFLAGS" twice.
Patch submitted by Juan Romero Pardines in PR kern/39265.
 1.114  29-Aug-2008  gmcgarry Wrap compiler-specific flags with HAVE_GCC and HAVE_PCC as necessary. Add a few flags for PCC.
 1.113  21-Jun-2008  gmcgarry branches: 1.113.2;
pcc needs -Wno-unreachable-code.
 1.112  14-May-2008  dholland branches: 1.112.2;
Print kernel version string along with the size output, to avoid having
to dig it out manually if installing by version number... and also to
make it somewhat easier to notice up front if one accidentally boots
the wrong test kernel. not like I've ever done that. ;-)

PR kern/38563.
 1.111  24-Mar-2008  jmmv branches: 1.111.2; 1.111.4; 1.111.6;
Fix flags for kern_synch.c: it is COPTS.<cfile>, not CFLAGS.<cfile>.
 1.110  25-Feb-2008  matt Since we say the kernel is C99, add -std=gnu99 to COPTS
 1.109  23-Feb-2008  matt Add assym.d to DEPS so it gets properly cleaned.
 1.108  03-Feb-2008  matt branches: 1.108.2; 1.108.6;
Add a syntax-only target which attempts to compile the entire kernel as one
entity. Think of it as super-lint. Due to bugs in the GCC C frontend it
doesn't quite work right but it does provide useful feedback.
 1.107  17-Jan-2008  joerg Add a stub file that includes a bunch of kernel headers and always get
compiled with -g. For the initial set, netbsd on amd64 grows by around
80KB. This allows much easier use of GDB for post-mortem debugging as
it can understand the layout of data structures. The additional data can
be strip(1)ped off normally for size constraint environments.
 1.106  17-Jan-2008  lukem Remove unnecessary references to config_time.h.
 1.105  17-Jan-2008  lukem Use BUILDSYMLINKS from <bsd.files.mk> instead of custom copy rules
for config_time.h and athhal_options.h.

Note: we still copy param.c because I'm told that we should still support
people editing that on a per-compile basis.
 1.104  29-Nov-2007  jnemeth branches: 1.104.6;
add dev/ofw/ofw_subr.c to VARSTACK
 1.103  08-Oct-2007  tls branches: 1.103.4;
Fix accidental USE_SSP -> USE_FORT: now USE_SSP works as intended for
kernel builds. Thanks to xtraeme for pointing this out.
 1.102  25-Sep-2007  pooka ufs is ssp clean
 1.101  28-May-2007  tls branches: 1.101.6; 1.101.8; 1.101.10;
Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry. RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros. Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default. Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
 1.100  12-Mar-2007  jmmv branches: 1.100.2;
Add the ability for platform-specific Makefiles to indicate which kernel
images to install into / (which might be more than just "netbsd").

Addresses PR port-shark/17569.
 1.99  27-Jan-2007  christos branches: 1.99.2; 1.99.6;
We don't need to include kern_exit43.c to the list of files that we cannot
use SSP on now that zero sized arrays are treated properly in gcc.
 1.98  18-Dec-2006  tls Add --param ssp-buffer-size=1 if USE_SSP as for userspace.
Add kern_exit_43.c to VARSTACK -- it isn't, really, but it causes an error
because it has a 0-element array on the stack and SSP always emits the
error that it is not protecting such a small array (ssp-buffer-size=0 is
not supported, so, really, it should not emit this error!).
 1.97  12-Dec-2006  christos use -fstack-protector instead of -fstack-protector-all since this breaks
on amd64 (it works on sparc64).
 1.96  10-Dec-2006  christos there is no stack-protector for gcc3
 1.95  03-Dec-2006  tls Add arch/xen/i386/gdt.c to list of kernel files that do variable-size
allocations on the stack. This allocation could potentially be quite
large -- I am not sure how to best fix that.

Fixes USE_SSP i386 build.sh failure.
 1.94  15-Nov-2006  christos branches: 1.94.2;
add aic97xx.c to the varstack list. from shannonjr.
 1.93  11-Nov-2006  jnemeth add another file to the VARSTACK list
 1.92  11-Nov-2006  christos Add SSP support.
XXX: This is broken for me right now, because my kernel resets after fxp0
is probed, but it could be some bug in the driver/compiler.
 1.91  30-Oct-2006  garbled Add -Wextra -Wno-unused for prep.
 1.90  26-Oct-2006  thorpej Insert a .WAIT between "depend" and "all" in the "dependall" target, so
that "make -j4 dependall" has the intended effect.
 1.89  17-Oct-2006  martin Sparc64 is -Wextra ready - but we are not sure where to go with __unused,
so add -Wno-unused-parameter for now.
Ok'd by christos.
 1.88  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.87  04-Oct-2006  christos Add -Wextra -Wno-unused for i386. Portmasters, please check your ports
and make sure they compile with these flags.
 1.86  11-Sep-2006  matt branches: 1.86.2;
Add AFLAGS+= ${AOPTS.${.IMPSRC:T}}
 1.85  07-Sep-2006  mrg make the bpendtsleep: label only active if KERN_SYNCH_BPENDTSLEEP_LABEL
is defined. if this option is present in the Makefile CFLAGS and we are
using GCC4, build kern_synch.c with -fno-reorder-blocks, so that this
actually works.

XXX be nice if KERN_SYNCH_BPENDTSLEEP_LABEL was a normal 'defflag' option
XXX but for now take the easy way out and make it checkable in CFLAGS.
 1.84  27-Aug-2006  simonb branches: 1.84.2;
Add -Wa,-fatal-warnings to AFLAGS. We want assembler warnings to be
fatal as well as compiler warnings.
Vague nods of agreement from Christos and Gimpy.
 1.83  24-Aug-2006  dsl Create a linker map file.
Very useful when trying to find out where recent 'bloat' has come from,
as well as giving exact details of what is actually in the kernel.
 1.82  02-Jun-2006  mrg remove support for building (with) GCC 2.95. also:
- always install <stdbool.h>
- don't generate a fake one for vax / gettext.
 1.81  21-May-2006  christos it is attributes no attribute
 1.80  21-May-2006  christos Put back -Wno-attribute for now since not all archs have been fixed.
 1.79  20-May-2006  christos Don't use -Wno-attributes for gcc4. All the code has been fixed and it will
just hide bugs.
 1.78  11-May-2006  mrg branches: 1.78.2;
if GCC>3:
- add -Wno-attributes -Wno-pointer-sign to CWARNFLAGS.
- add -fno-strict-aliasing to CFLAGS [*]

our kernel again needs a bunch of work for this to be enabled.
 1.77  28-Apr-2006  thorpej Also search for headers in common/include
 1.76  19-Apr-2006  lukem Order & uniq DEPS, a la <bsd.dep.mk>.
 1.75  19-Apr-2006  lukem Sort SYSTEM_OBJ before adding to SYSTEM_DEP.
Kernel builds are now more consistent with userland
(and IMHO building in order is more asthetically pleasing.)
 1.74  29-Mar-2006  uwe Don't add CPUFLAGS to CFLAGS twice.
 1.73  12-Dec-2005  dsl branches: 1.73.4; 1.73.6; 1.73.8; 1.73.10; 1.73.12;
If we are going to run mkdep separately for each file, we might as well
get this makefile to execute the mkdep commands - no need for a submake
and xargs at that point.
However we do need to do something to stop the 'mkdep -d' and CLEANDEPEND
command lines being to long.
Note that 'echo ${xxx} | cmd' is ok because echo is a shell builtin, and
isn't (usually) subject to the kernel's command line limits.
 1.72  01-Dec-2005  lukem Remove the .d files during __CLEANDEPEND
 1.71  24-Nov-2005  yamt use .d mechanism for kernel as well.
 1.70  24-Nov-2005  dbj . Have dbsym explicitly suggest increasing SYMTAB_SPACE when
an overflow occurs.
. Make this error a fatal build time error
. Move the support for dbsym into the MI Makefile.kern.inc,
conditional upon the SYMTAB_SPACE option being defined in
the kernel config file.
 1.69  02-Nov-2005  yamt branches: 1.69.2;
don't pass -t option to xargs unless MAKEVERBOSE is 2.
 1.68  18-Jun-2005  martin branches: 1.68.2;
Do not use -Wreturn-type with gcc 2.95.x
 1.67  07-Jun-2005  sjg Sometimes .BEGIN target is not wanted - eg in sub-make's.
 1.66  02-Jun-2005  sjg Don't assume infinite command line length.
 1.65  01-Jun-2005  uwe Add CWARNFLAGS.<fn>
 1.64  31-May-2005  yamt - move COPTS.${.IMPSRC:T} and friends after other options so that
they can override global options.
- put CPPFLAGS.${.IMPSRC:T} into CPPFLAGS, rather than CFLAGS.
 1.63  31-May-2005  christos Add overrides for tools we use (genassym and hexdump). Now kernel compiles
work again (hi jason!)
 1.62  31-May-2005  christos Most of the kernel source now works with "-Wcast-qual -Wshadow
-Wreturn-type -Wwrite-strings -Wswitch" so I am turning them on. There
is going to be a little lossage on some platforms but you can always
compile with "make DEFWARNINGS=no". Tested on sparc64 and i386.
 1.61  30-May-2005  thorpej Use TOOL_GENASSYM. Part of PR toolchain/30350
 1.60  23-May-2005  dbj tweak reference of DEBUG variable to ignore options that don't start with -g
 1.59  26-Feb-2005  perry nuke trailing whitespace
 1.58  16-Dec-2004  heas branches: 1.58.2; 1.58.4;
Adjust the cscope target so that each source file on a separate line to avoid
overrunning cscope's read buffer and prefix files within lib/{kern,compat}
with the appropriate path.
 1.57  13-Sep-2004  chs work around a binutils bug where converting ELF kernels to a.out with objcopy
produces corrupted binaries when the link_set_* sections extend into another
page after the end of the .text section by using a generated an ldscript that
puts all the link_set_* data into the .text section in the first place.
 1.56  31-Jul-2004  lukem Rename LIBCOMPAT* -> SYSLIBCOMPAT*, now that <bsd.own.mk> provides LIBCOMPAT.
Fixes kernel link problem noted by Sebastien Erard.
 1.55  15-Jul-2004  atatat Make uudecode into a tool that can be used to build a kernel and redo
the athhal-elf.o handling to take advantage of it. This means that
bsd.files.mk is no longer included by Makefile.i386 so CFLAGS won't be
duplicated.
 1.54  13-Jul-2004  uebayasi Narrow a sed(1) RE handling a file/directory name so that build under a
directory named like 'xxx.cxxx/' succeeds.
 1.53  25-Apr-2004  matt -fno-zero-initialized-in-bss only to gcc3, not gcc2.95
 1.52  24-Apr-2004  pk Force zero-initialised variables into the .data segment.
 1.51  04-Dec-2003  lukem branches: 1.51.2;
fix the MAKEVERBOSE messages to be consistent with the standard ones
 1.50  01-Dec-2003  lukem prefix ${.TARGET} with "${.CURDIR:T}/" in various _MKSHMSG macros;
per similar change to <bsd.own.mk>
 1.49  25-Nov-2003  pk Change default verbosity level to `traditional'.
 1.48  25-Nov-2003  pk NORMAL_C,NOPROF_C,NORMAL_S: put `@' in front of these to get saner output.
Also we can't use _MKTARGET_COMPILE here. For now, just hard-code the message.
 1.47  25-Nov-2003  pk SYSTEM_LD: don't display every object file on the planet thrice.
 1.46  20-Nov-2003  lukem Provide appropriate no-op defaults for _MK* macros, in case <bsd.own.mk>
is too old.
 1.45  17-Nov-2003  lukem Add support for MAKEVERBOSE (a first pass, at least).
Use COPTS.<sourcefile> instead of <sourcefile>_G.
Use HOST_SH (which defaults to `sh' if not set).
 1.44  14-Nov-2003  dsl Remove the .if !target(dependall) so that 'make dependall' works (again)
for the kernel.
 1.43  11-Nov-2003  enami Prevent mkdep from parsing compiler flags like -pipe.
 1.42  06-Nov-2003  jdolecek force -Wno-uninitialized if the compiler is gcc 2.95
 1.41  29-Oct-2003  mycroft Back out -Wno-uninitialized for m68k -- the compiler bug is fixed.
 1.40  28-Oct-2003  skrll Add COPTS.<fn>, CPUFLAGS.<fn>, CPPFLAGS.<fn> to CFLAGS to mirror the
file specific flags support of bsd.{lib,prog}.mk.

From Christos.
 1.39  28-Oct-2003  he sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.
 1.38  26-Oct-2003  christos Delete -Wno-uninitialized. Tested on sparc64 and i386. Rationale:
Gcc-3.3 produces valid warnings in most cases and uncovers bugs. In the
cases where a variable is known to be initialized, we initialize it and
add: /* XXX: gcc */. If a $MACHINE_ARCH's compiler is busted, it can add
-Wno-uninitialized in the MD Makefile.
 1.37  01-Oct-2003  matt Make the kernel makefiles pay attention to NOGCCERROR
 1.36  18-Aug-2003  mrg allow DEBUG to be set to "-gstabs" or "-gstabs+", to enable building
netbsd.gdb. (you need "-gstabs" for gcc3.3 and old gdb.)
 1.35  10-Jul-2003  lukem Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
 1.34  30-May-2003  thorpej branches: 1.34.2;
Add a CPUFLAGS variable which can be set by the user's mk.conf or in
the environment:

CPUFLAGS Additional flags to the compiler/assembler to select
CPU instruction set options, CPU tuning options, etc.

Since CPUFLAGS is not implicitly set by any part of the make infrastructure,
it is safe to set in mk.conf, unlike COPTS or DBG.
 1.33  07-Mar-2003  thorpej Allow a memory disk image to be statically included in the kernel
to be specified in the kernel configuration file, like so:

makeoptions MEMORY_DISK_IMAGE="/path/to/image.fs"
 1.32  05-Feb-2003  matt Add ${EXTRA_OBJ} so that pre-compiled .o's can be linked into the kernel.
 1.31  10-Dec-2002  atatat Remove an antiquated comment and make .depend depend on config_time.h
so that the depend target can properly complete now that perry has the
time to use the time.
 1.30  25-Nov-2002  thorpej Add -Wno-sign-compare; that flag was made implicit with -Wall in
GCC 3.3, and our sources aren't really up to the task, yet.
 1.29  19-Nov-2002  atatat Alter config so that it emits a config_time.src file (the source file
for config_time.h) that contains, for example:

/* Sun Nov 17 05:37:51 2002 GMT */
#define CONFIG_TIME 1037511471
#define CONFIG_YEAR 2002
#define CONFIG_MONTH 11
#define CONFIG_DATE 17
#define CONFIG_HOUR 5
#define CONFIG_MINS 37
#define CONFIG_SECS 51

These values represent the current time as of when config was last
run, so that functions (eg, inittodr()) can use these values instead
of being updated once every year or so with the "current" time.

The associated modification to Makefile.kern.inc makes config_time.h
depend on this depend on this and the kernel Makefile, so that
granularity of kernel builds is not reduced.
 1.28  03-Nov-2002  chris Remove an extra }
 1.27  02-Nov-2002  perry lint infrastructure overhaul to finally lint the kernel libs right.

XXX the dependencies for the kernel .ln files are just plain wrong. We
need some sort of extended make depend hack to do it right. We will
suffer with it for now.
 1.26  24-Oct-2002  christos use -X to ignore static function unused warnings, and echo the command.
 1.25  06-Oct-2002  fvdl Back out revision 1.23, it breaks all kernel configs that do

makeoptions COPTS="foo"

There are quite a few of those in the tree, as well.
 1.24  05-Oct-2002  chs all ports are now fully prototyped and pointer-arith clean.
turn on these warnings all the time.
 1.23  29-Sep-2002  sjg Replace COPTS?= with COPTS+= so that a setting of COPTS in mk.conf
(common on sparc systems) does not cause the -O2 in DEFCOPTS to
be lost - which results in an unloadable kernel on sparc.

Reviewed by: christos
 1.22  06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.21  01-Sep-2002  thorpej Build a .gdbinit in the kernel build directory. The new .gdbinit
will source all of the system-provided gdb scrips in sys/gdbscripts,
as well as any files specified by the user in the GDBINIT make var.
 1.20  11-Aug-2002  lukem vers.o should also depend upon $S/conf/newvers.sh and $S/conf/osrelease.sh
 1.19  12-Jul-2002  wrstuden cscope.out target needs depend too, zap old comments
 1.18  02-Jul-2002  wrstuden Fix cscope and mkid targets so that they work even when the kernel
compile directory is not under /usr/src/sys (i.e. when 'S' is not
'../../../..'). Pointed out by Robert Elz in PR 17384.

Thanks again to Andrew Brown for figuring out how to rip .depend apart.
 1.17  18-Jun-2002  wrstuden Updated version of cscope/mkid support. Check libkern and compat lib
for source files. Also include header files in mkid run.
 1.16  17-Jun-2002  wrstuden Add cscope and mkid (and cscope.out and ID) targets to kernel compile
Makefiles. The main feature added by these targets is that they cover
ONLY the source files used for a given kernel and no other. Thus when
examining MD routines provided by all machines, you will see only
those applicable for your kernel.
 1.15  29-May-2002  tv Make sure DBSYM is defined if not overridden by USETOOLS=yes.
 1.14  26-May-2002  fvdl Add -Wno-format-zero-length, for forward compatibility with gcc 3.2.
Our in-tree gcc 2.95.3 accepts the flag as well.
 1.13  07-May-2002  uwe branches: 1.13.2; 1.13.4;
lint target depends on ${LINTSTUBS}, not on (nonexistent) ${KERNLINTSTUBS}.
 1.12  18-Mar-2002  tv Make sure USETOOLS value is propagated (for USETOOLS?=no case in each
kernel Makefile). Perhaps we should .include this file earlier....
 1.11  11-Feb-2002  mrg make .s and .S files depend on assym.h
 1.10  23-Dec-2001  thorpej branches: 1.10.2;
Add -ffreestanding to kernel builds. It's not always safe to
use GCC's built-ins.
 1.9  10-Dec-2001  chs don't strip any symbols from profiling kernels,
that makes it harder to figure out what's going on.
 1.8  09-Dec-2001  atatat Make the kernel depend on `vers.o' instead of `newvers'. This
eliminates the need to unconditionally rebuild vers.o and subsequently
to relink the kernel every time you type make, even if you just
finished one.
 1.7  08-Dec-2001  atatat Add the rest of the infrastructure needed to support the rest of the
ports. This includes cleaning out DBG, cleaning up the `clean'
target, and tweaking the warnings flags (cesfic, amigappc, and the arm
ports are a little less warning resistant).

Oh, and let's `install' the kernel into ${DESTDIR} if someone says
`make install'. We have to think about cross-compilers here.
 1.6  28-Nov-2001  atatat Misplaced colon.
 1.5  27-Nov-2001  atatat Alter the way that LINKTEXT and LINKDATA (and LINKENTRY) are set so
that empty values for TEXTADDR and DATAADDR (and ENTRYPOINT) will not
screw things up. Add support for SYSTEM_LD_TAIL_EXTRA which some
ports (not yet converted) are using. Add support for GENASSYM_EXTRAS
which has just been added to (some of) the arm ports.
 1.4  23-Nov-2001  atatat Instead of checking for previous usage, just append to some make
variables. Tweak some variables to provide for more uniform defaults.
Minor adaption to makefiles for already converted ports.
 1.3  16-Nov-2001  atatat branches: 1.3.2;
The four tools mkdep, strip, objcopy, and objdump are not part of the
defined toolchain if we're not using the new toolchain. We need them,
so we add our own definitions here.
 1.2  16-Nov-2001  atatat Add a MKDEP?=mkdep line so that depend targets will work again.
 1.1  16-Nov-2001  atatat Abstract out a large chunk of the kernel build machinery so that new
build features (such as ross's DEBUGLIST) can easily be applied to all
ports. This should reduce the complexity of each port's kernel
Makefile considerably. Line counts:

227 arch/i386/conf/Makefile.i386.orig
98 arch/i386/conf/Makefile.i386
227 arch/alpha/conf/Makefile.alpha.orig
99 arch/alpha/conf/Makefile.alpha
219 arch/sparc/conf/Makefile.sparc.orig
102 arch/sparc/conf/Makefile.sparc
215 arch/vax/conf/Makefile.vax.orig
102 arch/vax/conf/Makefile.vax
253 conf/Makefile.kern.inc

Roll i386, alpha, sparc, and vax over to the new build machinery.
 1.3.2.11  11-Dec-2002  thorpej Sync with HEAD.
 1.3.2.10  11-Nov-2002  nathanw Catch up to -current
 1.3.2.9  18-Oct-2002  nathanw Catch up to -current.
 1.3.2.8  17-Sep-2002  nathanw Catch up to -current.
 1.3.2.7  13-Aug-2002  nathanw Catch up to -current.
 1.3.2.6  01-Aug-2002  nathanw Catch up to -current.
 1.3.2.5  20-Jun-2002  nathanw Catch up to -current.
 1.3.2.4  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.3.2.3  28-Feb-2002  nathanw Catch up to -current.
 1.3.2.2  08-Jan-2002  nathanw Catch up to -current.
 1.3.2.1  16-Nov-2001  nathanw file Makefile.kern.inc was added on branch nathanw_sa on 2002-01-08 00:29:12 +0000
 1.10.2.6  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.10.2.5  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.10.2.4  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.10.2.3  16-Mar-2002  jdolecek Catch up with -current.
 1.10.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.10.2.1  23-Dec-2001  thorpej file Makefile.kern.inc was added on branch kqueue on 2002-01-10 19:52:30 +0000
 1.13.4.9  26-Jan-2003  jmc Pullup revisions 1.24-1.25 (requested by ttaka in ticket #1082)
Back out revision 1.23, it breaks all kernel configs that do
makeoptions COPTS="foo"
 1.13.4.8  01-Dec-2002  he Pull up revision 1.23 (requested by sjg in ticket #877):
Replace COPTS?= with COPTS+=, so that setting COPTS in
/etc/mk.conf (common on sparc systems) does not cause the
-O2 in DEFCOPTS to be lost, resulting an an unloadable
kernel on sparc.
 1.13.4.7  30-Nov-2002  he Pull up revision 1.21 (requested by thorpej in ticket #756):
Build a .gdbinit in the kernel build directory. The new
.gdbinit will source all of the system-provided gdb scripts
in sys/gdbscripts, as well as any files specified by the
user in the GDBINIT make variable.
 1.13.4.6  17-Aug-2002  lukem Pull up revision 1.20 (requested by lukem):
vers.o should also depend upon $S/conf/newvers.sh and $S/conf/osrelease.sh
 1.13.4.5  15-Jul-2002  thorpej pullup-1-6 ticket #496 (wrstuden).

Original log message:
Fix cscope and mkid targets so that they work even when the kernel
compile directory is not under /usr/src/sys (i.e. when 'S' is not
'../../../..'). Pointed out by Robert Elz in PR 17384.
 1.13.4.4  19-Jun-2002  lukem Pull up revision 1.17 (requested by wrstuden in ticket #318):
Updated version of cscope/mkid support. Check libkern and compat lib
for source files. Also include header files in mkid run.
 1.13.4.3  18-Jun-2002  lukem Pull up revision 1.16 (requested by wrstuden in ticket #301):
Add cscope and mkid (and cscope.out and ID) targets to kernel compile
Makefiles. The main feature added by these targets is that they cover
ONLY the source files used for a given kernel and no other. Thus when
examining MD routines provided by all machines, you will see only
those applicable for your kernel.
 1.13.4.2  29-May-2002  tv Pull up revision 1.15 (requested by tv in ticket #65):
Make sure DBSYM is defined if not overridden by USETOOLS=yes.
 1.13.4.1  28-May-2002  lukem Pull up revision 1.14 (requested by fvdl):
Add -Wno-format-zero-length, for forward compatibility with gcc 3.2.
Our in-tree gcc 2.95.3 accepts the flag as well.
 1.13.2.4  29-Aug-2002  gehenna catch up with -current.
 1.13.2.3  15-Jul-2002  gehenna catch up with -current.
 1.13.2.2  30-May-2002  gehenna Catch up with -current.
 1.13.2.1  16-May-2002  gehenna Make this compile devsw.c (the initial devsw tables and conversion table)
 1.34.2.7  11-Dec-2005  christos Sync with head.
 1.34.2.6  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.34.2.5  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.34.2.4  18-Dec-2004  skrll Sync with HEAD.
 1.34.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.34.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.34.2.1  03-Aug-2004  skrll Sync with HEAD
 1.51.2.3  13-Sep-2004  tron Pull up revision 1.57 (requested by chs in ticket #843):
work around a binutils bug where converting ELF kernels to a.out with objcopy
produces corrupted binaries when the link_set_* sections extend into another
page after the end of the .text section by using a generated an ldscript that
puts all the link_set_* data into the .text section in the first place.
 1.51.2.2  15-Jul-2004  he Pull up revision 1.55 (requested by atatat in ticket #661):
Make uudecode into a tool which can be used to build a
kernel and redo the athhal-elf.o handling to take advantage
of it. This means that bsd.files.mk is no longer included
by Makefile.i386 so CFLAGS will not be duplicated.
 1.51.2.1  29-Apr-2004  jmc Pullup rev 1.52-1.53 (requested by pk in ticket #212)

Add `-fno-zero-initialized-in-bss' for kernel builds using gcc 3.x
so zero-initialised variables remain patchable.
 1.58.4.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.58.2.1  29-Apr-2005  kent sync with -current
 1.68.2.9  27-Feb-2008  yamt sync with head.
 1.68.2.8  04-Feb-2008  yamt sync with head.
 1.68.2.7  21-Jan-2008  yamt sync with head
 1.68.2.6  07-Dec-2007  yamt sync with head
 1.68.2.5  27-Oct-2007  yamt sync with head.
 1.68.2.4  03-Sep-2007  yamt sync with head.
 1.68.2.3  26-Feb-2007  yamt sync with head.
 1.68.2.2  30-Dec-2006  yamt sync with head.
 1.68.2.1  21-Jun-2006  yamt sync with head.
 1.69.2.1  29-Nov-2005  yamt sync with head.
 1.73.12.2  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.73.12.1  31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.73.10.2  11-May-2006  elad sync with head
 1.73.10.1  19-Apr-2006  elad sync with head.
 1.73.8.5  14-Sep-2006  yamt sync with head.
 1.73.8.4  03-Sep-2006  yamt sync with head.
 1.73.8.3  26-Jun-2006  yamt sync with head.
 1.73.8.2  24-May-2006  yamt sync with head.
 1.73.8.1  01-Apr-2006  yamt sync with head.
 1.73.6.3  03-Jun-2006  kardel Sync with head.
 1.73.6.2  01-Jun-2006  kardel Sync with head.
 1.73.6.1  22-Apr-2006  simonb Sync with head.
 1.73.4.1  09-Sep-2006  rpaulo sync with head
 1.78.2.1  19-Jun-2006  chap Sync with head.
 1.84.2.3  01-Feb-2007  ad Sync with head.
 1.84.2.2  12-Jan-2007  ad Sync with head.
 1.84.2.1  18-Nov-2006  ad Sync with head.
 1.86.2.4  21-Dec-2006  yamt sync with head.
 1.86.2.3  18-Dec-2006  yamt sync with head.
 1.86.2.2  10-Dec-2006  yamt sync with head.
 1.86.2.1  22-Oct-2006  yamt sync with head
 1.94.2.4  10-Feb-2007  tron Pull up following revision(s) (requested by elad in ticket #408):
sys/conf/Makefile.kern.inc: revision 1.99
We don't need to include kern_exit43.c to the list of files that we cannot
use SSP on now that zero sized arrays are treated properly in gcc.
 1.94.2.3  20-Dec-2006  bouyer Pull up following revision(s) (requested by tls in ticket #291):
sys/conf/Makefile.kern.inc: revision 1.98
Add --param ssp-buffer-size=1 if USE_SSP as for userspace.
Add kern_exit_43.c to VARSTACK -- it isn't, really, but it causes an error
because it has a 0-element array on the stack and SSP always emits the
error that it is not protecting such a small array (ssp-buffer-size=0 is
not supported, so, really, it should not emit this error!).
 1.94.2.2  20-Dec-2006  bouyer Pull up following revision(s) (requested by tls in ticket #290):
sys/conf/Makefile.kern.inc: revision 1.97
use -fstack-protector instead of -fstack-protector-all since this breaks
on amd64 (it works on sparc64).
 1.94.2.1  03-Dec-2006  tron Pull up following revision(s) (requested by tls in ticket #244):
sys/conf/Makefile.kern.inc: revision 1.95
Add arch/xen/i386/gdt.c to list of kernel files that do variable-size
allocations on the stack. This allocation could potentially be quite
large -- I am not sure how to best fix that.
Fixes USE_SSP i386 build.sh failure.
 1.99.6.4  12-Oct-2007  ad Sync with head.
 1.99.6.3  09-Oct-2007  ad Sync with head.
 1.99.6.2  09-Jun-2007  ad Sync with head.
 1.99.6.1  13-Mar-2007  ad Sync with head.
 1.99.2.1  24-Mar-2007  yamt sync with head.
 1.100.2.1  11-Jul-2007  mjf Sync with head.
 1.101.10.2  14-Oct-2007  yamt sync with head.
 1.101.10.1  06-Oct-2007  yamt sync with head.
 1.101.8.3  23-Mar-2008  matt sync with HEAD
 1.101.8.2  09-Jan-2008  matt sync with HEAD
 1.101.8.1  06-Nov-2007  matt sync with HEAD
 1.101.6.3  03-Dec-2007  joerg Sync with HEAD.
 1.101.6.2  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.101.6.1  02-Oct-2007  joerg Sync with HEAD.
 1.103.4.2  18-Feb-2008  mjf Sync with HEAD.
 1.103.4.1  08-Dec-2007  mjf Sync with HEAD.
 1.104.6.1  19-Jan-2008  bouyer Sync with HEAD
 1.108.6.5  17-Jan-2009  mjf Sync with HEAD.
 1.108.6.4  28-Sep-2008  mjf Sync with HEAD.
 1.108.6.3  29-Jun-2008  mjf Sync with HEAD.
 1.108.6.2  02-Jun-2008  mjf Sync with HEAD.
 1.108.6.1  03-Apr-2008  mjf Sync with HEAD.
 1.108.2.1  24-Mar-2008  keiichi sync with head.
 1.111.6.2  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.111.6.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.111.4.4  11-Mar-2010  yamt sync with head
 1.111.4.3  16-May-2009  yamt sync with head
 1.111.4.2  04-May-2009  yamt sync with head.
 1.111.4.1  16-May-2008  yamt sync with head.
 1.111.2.1  18-May-2008  yamt sync with head.
 1.112.2.1  27-Jun-2008  simonb Sync with head.
 1.113.2.2  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.113.2.1  19-Oct-2008  haad Sync with HEAD.
 1.118.4.2  27-Mar-2009  msaitoh branches: 1.118.4.2.4;
Pull up following revision(s) (requested by sketch in ticket #536):
etc/Makefile: revision 1.364
Makefile: revision 1.267
usr.sbin/postinstall/postinstall: revision 1.90
usr.bin/hexdump/parse.c: revision 1.25
sys/arch/x86/acpi/genwakecode.sh: revision 1.3
usr.sbin/postinstall/postinstall: revision 1.87
usr.sbin/postinstall/postinstall: revision 1.88
usr.sbin/postinstall/postinstall: revision 1.89
sys/arch/x86/acpi/Makefile.wakecode.inc: revision 1.4
sys/conf/Makefile.kern.inc: revision 1.120
Use ll instead of non-standard q as length modifier in format strings. Makes
this work on Solaris. OK by apb.
Not every grep knows -q. Ok by apb.
Use sed, awk and hexdump from tools to make this work on Solaris. Ok by apb.
Use awk and grep host tools where required. 'build.sh release' now
works on Solaris (but only with HOST_CC=/usr/sfw/bin/gcc for now).
"grep -q" is not portable; use "grep >/dev/null" instead. Also add a
comment saying that postinstal is invoked during a cross build.
In file_exists_exact(), fix an incorrect test of "1" instead of "$1",
and improve the comment explaining what this function does.
As long as we don't yet have a working TOOL_GREP, fgrep is more portablethan grep -F.
 1.118.4.1  15-Mar-2009  snj Pull up following revision(s) (requested by christos in ticket #458):
sys/conf/Makefile.kern.inc: revision 1.121
sys/conf/files: revision 1.940
sys/kern/init_main.c: revision 1.381
sys/kern/kern_ssp.c: revision 1.1
sys/kern/subr_autoconf.c: revision 1.168
sys/sys/device.h: revision 1.116
sys/sys/systm.h: revision 1.233
Unbreak ssp kernels. The issue here that when the ssp_init() call was
deferred, it caused the return from the enclosing function to break, as
well as the ssp return on i386. To fix both issues, split configure in
two pieces the one before calling ssp_init and the one after, and move
the ssp_init() call back in main. Put ssp_init() in its own file, and
compile this new file with -fno-stack-protector. Tested on amd64.
XXX: If we want to have ssp kernels working on 5.0, this change needs to
be pulled up.
 1.118.4.2.4.4  14-Feb-2014  matt SYSTEM_DEP?= -> SYSTEM_DEP+=
Add KERNLDSCRIPT to SYSTEM_DEP
 1.118.4.2.4.3  27-Jan-2010  matt If we're making a gdb kernel, insert the symtab in that as well.
 1.118.4.2.4.2  12-Sep-2009  matt Allow DBSYM to error out now that binutils can strip $L locals.
 1.118.4.2.4.1  05-Sep-2009  matt Don't abort if DBSYM fails.
 1.118.2.3  28-Apr-2009  skrll Sync with HEAD.
 1.118.2.2  03-Mar-2009  skrll Sync with HEAD.
 1.118.2.1  19-Jan-2009  skrll Sync with HEAD.
 1.120.2.2  23-Jul-2009  jym Sync with HEAD.
 1.120.2.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.125.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.127.2.2  31-May-2011  rmind sync with head
 1.127.2.1  05-Mar-2011  rmind sync with head
 1.129.4.1  05-Mar-2011  bouyer Sync with HEAD
 1.129.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.138.2.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.149.6.2  05-Apr-2012  mrg sync to latest -current.
 1.149.6.1  18-Feb-2012  mrg merge to -current.
 1.149.2.4  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.149.2.3  16-Jan-2013  yamt sync with (a bit old) head
 1.149.2.2  30-Oct-2012  yamt sync with head
 1.149.2.1  17-Apr-2012  yamt sync with head
 1.152.4.1  04-Dec-2012  matt Add SYSTEM_LD_TAIL_DBSYM for arm.
 1.158.2.3  03-Dec-2017  jdolecek update from HEAD
 1.158.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.158.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.159.2.2  18-May-2014  rmind sync with head
 1.159.2.1  28-Aug-2013  rmind sync with head
 1.167.2.1  10-Aug-2014  tls Rebase.
 1.169.2.1  13-Dec-2014  martin Pull up following revision(s) (requested by nakayama in ticket #317):
sys/conf/Makefile.kern.inc: revision 1.179
Trim " " at the beginning of version string to follow the change
in rev.1.60 of newvers.sh.
-const char sccs[] = "@(#)${fullversion}";
+const char sccs[] = "@(#)" ${fullversion_source};
 1.183.2.6  28-Aug-2017  skrll Sync with HEAD
 1.183.2.5  05-Feb-2017  skrll Sync with HEAD
 1.183.2.4  22-Apr-2016  skrll Sync with HEAD
 1.183.2.3  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.183.2.2  22-Sep-2015  skrll Sync with HEAD
 1.183.2.1  06-Jun-2015  skrll Sync with HEAD
 1.250.2.2  20-Mar-2017  pgoyette Sync with HEAD
 1.250.2.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.256.8.3  25-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #141):
sys/conf/dts.mk: 1.1-1.2
sys/conf/Makefile.kern.inc: revision 1.260
Move the dts rule to a separate file and add dependencies handling.
--
do dts depend processing in two passes, one for /include/ and one for #include
 1.256.8.2  24-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #128):
sys/conf/Makefile.kern.inc: revision 1.259
sys/arch/arm/dts/sun8i-h3-orangepi-plus2e.dts: revision 1.1
sys/arch/arm/dts/sun8i-h3.dtsi: revision 1.1
sys/arch/arm/dts/sun8i-h3-nanopi-neo.dts: revision 1.1
Add support for dts files outside of external/gpl2.
--
Add local patches to sun8i-h3-orangepi-plus2e and sun8i-h3-nanopi-neo to
enable ethernet support.
 1.256.8.1  18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.260.2.2  15-Jul-2017  christos 2814968
 1.260.2.1  15-Jul-2017  christos file Makefile.kern.inc was added on branch perseant-stdc-iso10646 on 2017-07-15 15:20:53 +0000
 1.264.4.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.264.4.1  10-Jun-2019  christos Sync with HEAD
 1.264.2.3  30-Sep-2018  pgoyette Ssync with HEAD
 1.264.2.2  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.264.2.1  06-Mar-2018  pgoyette No longer build the libcompat.o which ends up including most of the
compat_netbsd code without creating the module entry that other
modules are depending on, which in turn causes the modules to fail
to load because of redefined symbols.
 1.276.2.1  03-Apr-2021  thorpej Sync with HEAD.
 1.277.2.1  17-Apr-2021  thorpej Sync with HEAD.
 1.280.6.1  06-Jun-2021  cjep sync with head
 1.280.2.1  17-Jun-2021  thorpej Sync w/ HEAD.
 1.295.4.1  11-Sep-2023  martin Pull up following revision(s) (requested by rin in ticket #363):

sys/arch/aarch64/conf/Makefile.aarch64: revision 1.24
sys/arch/aarch64/conf/Makefile.aarch64: revision 1.25
sys/arch/shark/conf/Makefile.shark.inc: revision 1.28
sys/arch/alpha/conf/Makefile.alpha: revision 1.88
sys/arch/mips/conf/Makefile.mips: revision 1.73
sys/conf/Makefile.kern.inc: revision 1.298
sys/conf/Makefile.kern.inc: revision 1.299
sys/arch/cats/conf/Makefile.cats.inc: revision 1.37
sys/arch/arm/conf/Makefile.arm: revision 1.56
sys/arch/arm/conf/Makefile.arm: revision 1.57
sys/arch/riscv/conf/Makefile.riscv: revision 1.10

Always use arm-elf2aout; no a.out support both for binutils{,.old}

Fix kernel size inflation for arm and aarch64 (PR toolchain/57146)

For some conditions, SYSTEM_LD_TAIL is set for arm and aarch64.
Then, ctfmerge(1) in default SYSTEM_LD_TAIL is unintentionally
skipped, which results in the catastrophic kernel size inflation,
as reported in the PR.

Also, introduce and use OBJCOPY_STRIPFLAGS variable instead of
STRIPFLAGS, as strip(1) is replaced by objcopy(1) during MI
kernel build procedure.

For Makefile.{arm,aarch64}, weird logic is used to determine how
to handle debug symbols; MKDEBUG{,KERNEL} are taken into account
later in sys/conf/Makefile.kern.inc.

Use OBJCOPY_STRIPFLAGS instead of STRIPFLAGS.
Simplify fix for PR toolchain/57146

Introduce ARCH_STRIP_SYMBOLS variable to centralize logic for debug
symbols from MD Makefile's to Makefile.kern.inc.
 1.301.2.2  02-Aug-2025  perseant Sync with HEAD
 1.301.2.1  29-Jun-2024  perseant Implementation of exFAT filesystem, with compilation conditional on MKEXFATFS
make variable.

RSS XML Feed