Similar to r262306 for boot1's Makefile, clang spells -mcmodel=medany as
-mcmodel=large, for now.  While here, disable -msoft-float for clang
since it is not supported, and add -fno-dwarf2-cfi-asm to stop it from
emitting .cfi directives, which GNU as does not support.
On sparc64, VM_KMEM_SIZE_SCALE is not a constant expression, so it
cannot be tested in a CTASSERT().
PicoStation M2HP presents reg domain 0x2a which is not found in atheros or linux
reference code. Add this workaround for now.

Reviewed by:	adrian
Remove more superfluous const specifiers.
Similar to r261991, for compiling the GENERIC kernel on sparc64,
explicitly use -gdwarf-2 for the debug symbols.
Fix a typo _IMX51_TZICRREG_H_ -> _IMX51_TZICREG_H_ (extra R)
Fix parsing multiple roots with whitespace between them.

Patch by:   Patrick Wildt
Import libucl into vendor

UCL is heavily infused by nginx configuration as the example of a convenient
configuration system. However, UCL is fully compatible with JSON format and is
able to parse json files.

UCL is used by pkg(8) for its configuration file as well for the manifest format
in packages, it will be used in base for the pkg boostrap (signature checking
and configuration file parsing.)

libucl has been developped and is maintained by vsevolod@
Fix indentation.
Import libucl into head

UCL is heavily infused by nginx configuration as the example of a convenient
configuration system. However, UCL is fully compatible with JSON format and is
able to parse json files.

UCL is used by pkg(8) for its configuration file as well for the manifest format
in packages, it will be used in base for the pkg boostrap (signature checking
and configuration file parsing.)

libucl has been developped and is maintained by vsevolod@
Branch libucl to the build
Switch pkg(7) from libyaml to libucl
Update my copyright
Give mips64 its own ficl configuration that sizes pointers/etc suitably for
a 64-bit architecture, rather than trying to share the 32-bit MIPS ficl
configuration.

When building ficl on MIPS, don't conflate 32-bit and 64-bit ISAs -- unlike
x86, we don't want a 32-bit loader on a 64-bit CPU.  Use quite conservative
code generation -- e.g., softfloat, no GOT, etc -- suitable for early boot.

MFC after:	3 weeks
Sponsored by:	DARPA, AFRL
On mips64, built 64-bit ELF support.

MFC after:	3 weeks
Sponsored by:	DARPA, AFRL
When building FDT on MIPS, use softfloat.

MFC after:	3 weeks
Sponsored by:	DARPA, AFRL
Capability rights are held by descriptors, not processes.

Reported by:	jonathan
Build the BERI boot loader on 64-bit MIPS (but not 32-bit MIPS).  While
these binaries aren't immediately useful on other MIPSes, still build them
as part of mips64 world in order to expose them to tinderbox.

MFC after:	3 weeks
Sponsored by:	DARPA, AFRL
Remove libyaml, it has been replaced by libucl
Eliminate an unused-var warning by wrapping #if 0 around some tables of
values that were probably entered "for completeness" from a datasheet, and
for all I know may be useful/necessary some day.