freebsd-skq/sys/conf
Adrian Chadd f4c1f0b9eb Fix MFS builds when both MD_ROOT_SIZE and MFS_IMAGE are specified
MD_ROOT_SIZE and embed_mfs.sh were basically retired as part of
https://reviews.freebsd.org/D2903 .
However, when building a kernel with 'options MD_ROOT_SIZE' specified, this
results in a non-working MFS, as within sys/dev/md/md.c we fall within the
wrong # ifdef.

This patch implements the following:

* Allow kernels to be built without the MD_ROOT_SIZE option, which results
  in a kernel built as per D2903.
* Allow kernels to be built with the MD_ROOT_SIZE option, which results
  in a kernel built similarly to the pre-D2903 way, with the following
  differences:
  * The MFS is now put in a separate section within the kernel (oldmfs,
    so it differs from the mfs section introduced by D2903).
  * embed_mfs.sh is changed, so it looks up the oldmfs section within the
    kernel, gets its size and offset, sees if the MFS will fit within the
    allocated oldmfs section and only if all is well does a dd of the MFS
    image into the kernel.

Submitted by:	Stanislav Galabov <sgalabov@gmail.com>
Reviewed by:	brooks, imp
Differential Revision:	https://reviews.freebsd.org/D5093
2016-02-02 07:02:51 +00:00
..
config.mk Populate new KERN_OPTS from all the opt_*.h files in 2015-02-18 15:25:19 +00:00
dtb.mk Do as r289391 did for share/mk and make installing to a non-existent directory 2015-10-17 05:49:07 +00:00
files Fix generation of dependency rules for the LinuxKPI, the MLX5 driver 2016-01-27 14:46:30 +00:00
files.amd64 Remove fdt_fixup_table from architectures where it's unneeded. We only make 2016-01-21 16:48:01 +00:00
files.arm ARM: Split swtch.S into common, ARMv4 and ARMv6 parts. Cleanup them. 2016-01-30 08:02:12 +00:00
files.arm64 Framework for ARM64 instruction disassembler 2016-01-29 13:06:30 +00:00
files.i386 Remove fdt_fixup_table from architectures where it's unneeded. We only make 2016-01-21 16:48:01 +00:00
files.mips Remove fdt_fixup_table from architectures where it's unneeded. We only make 2016-01-21 16:48:01 +00:00
files.pc98 Add libkern ffsll() for parity with flsll() 2015-10-22 20:28:37 +00:00
files.powerpc Implement OF_decode_addr() for arm. Move most of powerpc's implementation 2015-12-21 18:07:32 +00:00
files.riscv Welcome the RISC-V 64-bit kernel. 2016-01-29 15:12:31 +00:00
files.sparc64 Add libkern ffsll() for parity with flsll() 2015-10-22 20:28:37 +00:00
kern.mk Welcome the RISC-V 64-bit kernel. 2016-01-29 15:12:31 +00:00
kern.opts.mk DTrace is known to work on armv6, enable building it as a module. 2015-11-20 16:18:27 +00:00
kern.post.mk Fix MFS builds when both MD_ROOT_SIZE and MFS_IMAGE are specified 2016-02-02 07:02:51 +00:00
kern.pre.mk Fix MFS builds when both MD_ROOT_SIZE and MFS_IMAGE are specified 2016-02-02 07:02:51 +00:00
kmod_syms.awk
kmod.mk Revert r294352. 2016-01-19 23:25:25 +00:00
ldscript.amd64 amd64: set the correct LMA values 2015-06-26 07:12:17 +00:00
ldscript.arm Remove STARTUP_PAGETABLE_ADDR from the ARM configs and replace it with 2014-01-28 09:12:04 +00:00
ldscript.arm64 Bring in the start of the arm64 kernel. 2015-04-13 14:43:10 +00:00
ldscript.i386
ldscript.mips
ldscript.mips.cfe
ldscript.mips.mips64
ldscript.mips.octeon1
ldscript.powerpc Refactor PowerPC (especially AIM) init sequence to be less baroque. 2015-01-18 18:32:43 +00:00
ldscript.powerpc64 Fix build with new binutils. This gets a working kernel with GCC 5.2 and 2015-11-29 06:40:09 +00:00
ldscript.riscv Welcome the RISC-V 64-bit kernel. 2016-01-29 15:12:31 +00:00
ldscript.sparc64
Makefile.amd64 Clang's 3.5 integrated assembler now handles these files correctly (it 2015-01-05 12:28:22 +00:00
Makefile.arm Change md(4) to use weak symbols as start, end and size for the embedded 2015-08-13 15:16:34 +00:00
Makefile.arm64 Build changes that allow the modules on arm64. 2015-10-08 17:42:08 +00:00
Makefile.i386 Clang's 3.5 integrated assembler now handles these files correctly (it 2015-01-05 12:28:22 +00:00
Makefile.mips Revert this change. It broke the trampoline build. Until I'm sure 2015-12-21 20:36:01 +00:00
Makefile.pc98 Fix kernel build ${MACHINE} path 2015-04-16 22:34:10 +00:00
Makefile.powerpc Make 32-bit PowerPC kernels, like 64-bit PowerPC kernels, position-independent 2015-03-07 20:14:46 +00:00
Makefile.riscv Welcome the RISC-V 64-bit kernel. 2016-01-29 15:12:31 +00:00
Makefile.sparc64 Bump the version of config to the latest (3 year old, so upgrade 2014-02-04 18:24:25 +00:00
makeLINT.mk
makeLINT.sed
newvers.sh newvers.sh: put variable assignments on separate lines 2015-12-31 19:25:35 +00:00
NOTES Fix MFS builds when both MD_ROOT_SIZE and MFS_IMAGE are specified 2016-02-02 07:02:51 +00:00
options Add clock framework, a first part of new 'extended resources' family of 2016-01-24 11:00:38 +00:00
options.amd64 Microsoft vmbus, storage and other related driver enhancements for HyperV. 2015-04-29 10:12:34 +00:00
options.arm ARM: remove old pmap-v6 code. The new pmap-v6 is mature enough, and 2016-01-29 10:31:54 +00:00
options.arm64 Add the SOC_HISI_HI6220 option. This will be used to enable drivers for 2015-08-26 18:09:17 +00:00
options.i386 Remove support for Xen PV domU kernels. Support for HVM domU kernels 2015-04-30 15:48:48 +00:00
options.mips Flesh out some build time configuration options for the realtek/mediatek 2015-12-24 15:58:33 +00:00
options.pc98 Reduce diffs against i386. 2014-10-04 05:03:39 +00:00
options.powerpc Add support for new LAW registers in QorIQ SoCs. 2015-11-18 01:54:19 +00:00
options.riscv Welcome the RISC-V 64-bit kernel. 2016-01-29 15:12:31 +00:00
options.sparc64
systags.sh
WITHOUT_SOURCELESS
WITHOUT_SOURCELESS_HOST Retire the nve(4) driver; nfe(4) has been the default driver for NVIDIA 2014-02-16 12:22:43 +00:00
WITHOUT_SOURCELESS_UCODE Add nodevice iwmfw to WITHOUT_SOURCELESS_UCODE. 2015-08-08 20:45:47 +00:00