freebsd kernel with SKQ
Go to file
Ian Lepore 6a6d0fff18 Allow armv4/5 kernels to be loaded on any 2MB boundary, like armv6/7.
This eliminates the reliance on PHYSADDR and KERNPHYSADDR compile-time
symbols (except when the rom-copy code is enabled) by using the current
PC and the assumption that the entry-point routine is in the first 1MB
section of the text segment.

Other cleanups done:

 - Reduce the initarm() stack size back to 2K.  It got increased to
   4 * 2K when this file was supporting multicore armv6, but that
   support is now in locore-v6.S.

 - When building the temporary startup page tables, map the entire
   4GB address space as VA=PA before mapping the kernel at its loaded
   location.  This allows access to boot parameters stored somewhere
   in ram by the bootloader, regardless of where that may be.

 - When building the page table entry for supporting EARLY_PRINTF, map
   the section as uncached unbuffered, since it is presumably device
   registers.

Note that this restores the ability to use loader(8)/ubldr on armv4/5
kernels.  That was broken in r283035, the point at which ubldr started
loading an arm kernel at any 2MB boundary.

Also note that after this, there is no reason to set KERNVIRTADDR to
anything other than 0xc0000000, and no need for PHYSADDR or KERNPHYSADDR
symbols at all.
2015-12-20 23:31:11 +00:00
bin sh/mknodes: Close files and check for errors when writing. 2015-12-20 16:40:36 +00:00
cddl Add a trailing newline to the expected output for tst.walltimestamp.ksh. 2015-12-07 21:59:10 +00:00
contrib Regenerate config.h for OpenBSM 1.2 alpha 4. 2015-12-18 09:49:11 +00:00
crypto Incorrect length in calloc() call, already fixed upstream. 2015-12-17 19:36:25 +00:00
etc Fix whitespace issues in BSD.usr.dist introduced in r291455 2015-12-19 23:02:18 +00:00
gnu Fix LDADD/DPADD that should be LIBADD. 2015-12-04 03:17:47 +00:00
include addrinfo.ai_family is an address family, not a protocol family. 2015-12-20 15:18:50 +00:00
kerberos5 DIRDEPS_BUILD: Update dependencies. 2015-12-07 23:53:01 +00:00
lib libc: Use namespace.h in a few more files. 2015-12-20 23:05:20 +00:00
libexec Use variable names that aren't as prone to dyslexic confusion. 2015-12-18 05:45:49 +00:00
release Fix tmpfs(5) '/tmp' mount point. 2015-11-25 19:10:04 +00:00
rescue Fix the build after ifconfig was converted over to lib80211 in r291470 2015-11-30 16:34:13 +00:00
sbin Add flag to disable inital reboot(8) userland sync 2015-12-15 14:17:07 +00:00
secure Build engines in parallel. 2015-12-15 19:57:56 +00:00
share Restore a day of the week in date(1) output for Japanese locales. 2015-12-20 14:59:30 +00:00
sys Allow armv4/5 kernels to be loaded on any 2MB boundary, like armv6/7. 2015-12-20 23:31:11 +00:00
targets local.meta.sys.mk already defines TARGET_ARCHES_arm 2015-12-08 00:22:24 +00:00
tests Add ATF_REQUIRE_FEATURE and PLAIN_REQUIRE_FEATURE macros for 2015-12-16 05:44:53 +00:00
tools Restore a day of the week in date(1) output for Japanese locales. 2015-12-20 14:59:30 +00:00
usr.bin RIP Juergen Lock (nox@FreeBSD.org), you and your contributions won't be forgotten. 2015-12-17 10:37:11 +00:00
usr.sbin Fix indent after r292333. 2015-12-19 09:18:01 +00:00
.arcconfig Add repository.callsign, to help arcanist figure out what repo it's 2015-07-02 22:23:52 +00:00
.arclint phabricator related changes: 2015-04-20 20:33:22 +00:00
COPYRIGHT Bump copyright year. 2014-12-31 10:00:43 +00:00
LOCKS
MAINTAINERS Keep maintainance of GELI and make it clear which directories I'm interested in. 2015-12-16 01:05:50 +00:00
Makefile Update advice on obj disk space requirements 2015-12-14 19:20:18 +00:00
Makefile.inc1 Always expose LOCALBASE, not just when CROSS_TOOLCHAIN is defined 2015-12-20 05:52:03 +00:00
ObsoleteFiles.inc Correct r291591: Don't remove /usr/lib/libelf*, these are still installed. 2015-12-01 16:16:40 +00:00
README README: changes and fixups 2015-04-19 07:16:44 +00:00
UPDATING pxeboot: make the tftp loader use the option root-path directive 2015-12-16 17:13:09 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on:
$FreeBSD$

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree.  See build(7)
and http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html
for more information, including setting make(1) variables.

The `buildkernel` and `installkernel` targets build and install
the kernel and the modules (see below).  Please see the top of
the Makefile in this directory for more information on the
standard build targets and compile-time flags.

Building a kernel is a somewhat more involved process.  See build(7), config(8),
and http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html
for more information.

Note: If you want to build and install the kernel with the
`buildkernel` and `installkernel` targets, you might need to build
world before.  More information is available in the handbook.

The kernel configuration files reside in the sys/<arch>/conf
sub-directory.  GENERIC is the default configuration used in release builds.
NOTES contains entries and documentation for all possible
devices, not just those commonly used.


Source Roadmap:
---------------

bin		System/user commands.

cddl		Various commands and libraries under the Common Development
		and Distribution License.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography stuff (see crypto/README).

etc		Template files for /etc.

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberos5	Kerberos5 (Heimdal) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

rescue		Build system for statically linked /rescue utilities.

sbin		System commands.

secure		Cryptographic libraries and commands.

share		Shared resources.

sys		Kernel sources.

tests		Regression tests which can be run by Kyua.  See tests/README
		for additional information.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/synching.html