| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
MFC after: 2 weeks
Sponsored by: Dell EMC
Notes:
svn path=/head/; revision=335733
|
|
|
|
|
|
|
|
|
| |
bootstrap.h and remove all the redundant copies.
Sponsored by: Netflix
Notes:
svn path=/head/; revision=335117
|
|
|
|
|
|
|
| |
d_dev->dv_type when we need it.
Notes:
svn path=/head/; revision=330810
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current system is fragile and requires very careful layout of all
*_devdesc structures. It also makes it hard to change the base
devdesc. Take a page from CAM and put the 'header' in all the derived
classes and adjust the code to match.
For OFW, move the iHandle h_handle out of a slot conflicting with
d_opendata. Due to quirks in the alignment rules, this worked.
However changing the code to use d_opendata storage now that it's a
pointer is hard, so just have a separate field for it.
All other cleanups were to make the *_devdesc structures match where
they'd taken some liberties that were none-the-less compatible enough
to work.
Notes:
svn path=/head/; revision=330809
|
|
|
|
|
|
|
|
|
|
|
|
| |
This matches a convention that we use, at least in ubldr, to prefix
getc/putc with a loader-specific prefix to avoid collisions. This was
encountered while trying to build the beri loader with MK_LOADER_LUA=yes.
No objection from: brooks
Reported by: emaste
Notes:
svn path=/head/; revision=330788
|
|
|
|
|
|
|
|
|
| |
We really only need one loader.conf. The other loader.conf was created
because the current one took forever to parse in FORTH. That will be
fixed in the next commit.
Notes:
svn path=/head/; revision=330005
|
|
|
|
|
|
|
|
|
|
|
| |
For directories that don't many anything, add NO_OBJ=t just before we
include bsd.init.mk. This prevents them from creating an OBJ
directory. In addition, prevent defs.mk from creating the machine
related links in these cases. They aren't needed and break, at least
on stable, the read-only src tree build.
Notes:
svn path=/head/; revision=330004
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
OK. We don't really need a bsd.stand.mk, and it was causing a -fPIC
for the toolchain to be added (bogusly) when building on amd64. Pull
all relevant defs back into defs.mk and delete bsd.stand.mk.
This saves about 15-20k on i386 loader and zfsloader which when
combined with Lua give us a lot more stack space in those constrained
environments.
Notes:
svn path=/head/; revision=329345
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
All metadata.c files are very similar, with only trivial changes. Unify them
into a single common file, with minor special-casing where needed.
Reviewed By: imp
Differential Revision: https://reviews.freebsd.org/D13978
Notes:
svn path=/head/; revision=329190
|
|
|
|
|
|
|
|
|
|
| |
preference to LIBFICL{,32}. LIBFICL{,32} are now always defined, but
LDR_INTERP{,32} is defined empty when building w/o forth (aka the
simple interpreter) and defined to LIBFICL{,32} when we are building
forth.
Notes:
svn path=/head/; revision=328783
|
|
|
|
|
|
|
|
|
|
| |
MK_CTF, MK_SSP, MK_PROFILE, NO_PIC, and INTERNALLIB are always the
same, so set them in defs.mk. MAN= is common, so set it here too.
This removes a lot of boring repetition from the Makefiles that added
almost no value.
Notes:
svn path=/head/; revision=328769
|
|
|
|
|
|
|
|
|
| |
in this context we want to busy wait to stop.
Suggested by: pfg@
Notes:
svn path=/head/; revision=328449
|
|
|
|
|
|
|
| |
since it's unused.
Notes:
svn path=/head/; revision=328447
|
|
|
|
|
|
|
|
|
|
|
|
| |
This matches directory structure used commonly in Linux-land, and it's
cleaner than mixing overlays into the existing module paths. Overlays are
still mixed in by specifying fdt_overlays in loader.conf(5).
Reviewed by: manu
Differential Revision: https://reviews.freebsd.org/D13922
Notes:
svn path=/head/; revision=328107
|
|
|
|
|
|
|
|
|
|
|
| |
In the freestanding boot compile environment, standard headers are not
available. Curiously, only building with clang exposed this as compiles
with external GCC still succeeded.
Sponsored by: DARPA / AFRL
Notes:
svn path=/head/; revision=327705
|
|
|
|
|
|
|
|
|
| |
Include the failing kernel file name for errors in beri_elf64_exec().
Sponsored by: DARPA / AFRL
Notes:
svn path=/head/; revision=327704
|
|
|
|
|
|
|
|
|
|
|
| |
The __dmadat variable is a statically allocated I/O buffer. The type is
declared in the ufsread.c source file and clang warns if a variable is
defined before it's type is declared.
Sponsored by: DARPA / AFRL
Notes:
svn path=/head/; revision=327703
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The beri boot loaders depend on symbols defined in linker scripts or
assembly files. The boot loaders do not care about the type of these
symbols but just want to extract a pointer to them. Older versions of
GCC permitted external symbols to be declared of type 'void' and then
'&foo' generated a void pointer to the memory at the symbol's address.
However, void objects are not valid C and newer versions of GCC error if
these are used. Instead, declare these symbols as being bytes (or
an array of bytes in the cheri_sdcard_vaddr case).
Sponsored by: DARPA / AFRL
Notes:
svn path=/head/; revision=327524
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to r325114, bsd.init.mk was included after assignments to CFLAGS and
LDFLAGS in these Makefiles. After r325114, bare assignments (= rather than
+=) lost system-assigned default values that are needed when compiling with
an external toolchain. CFLAGS in both Makefiles already uses +=. This
commit changes LDFLAGS to use +=. While here, depend on the LDFLAGS update
in the parent Makefile.inc to set -nostdlib.
Sponsored by: DARPA / AFRL
Notes:
svn path=/head/; revision=327523
|
|
|
|
|
|
|
|
|
|
|
|
| |
removing this argument, and expanding when rc is NULL. This
effectively completes the back out of custom scripts for tftp booted
loaders from r269153 that was started in r292344 with the new path
tricks that obsoleted it.
Submitted by: Netflix
Notes:
svn path=/head/; revision=326961
|
|
|
|
|
|
|
|
|
|
|
|
| |
HELP_FILES is a loader only thing, so move it to loader.mk. Only
generate the help file if HELP_FILES is defined. Adjust Makefiles to
new convention. Fix a few cases where ${.CURDIR}/ was missing
resulting in missing bits from the help files.
Sponsored by: Netflix
Notes:
svn path=/head/; revision=326926
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
weren't needed, and their existance interfered with things in subtle
ways. One of these subtle ways was that malloc could be different
based on what files were included when (even within the same .c file,
it turns out). Move to a single malloc implementation as well by
adding the calls to setheap() to gptboot.c and zfsboot.c. Once upon a
time, these boot loaders strove to not use libstand. However, with the
proliferation of features, that striving is too hard for too little
gain and lead to stupid mistakes.
This fixes the GELI-enabled (but not even using) boot environment. The
geli routines were calling libstand malloc but zfsboot.c and gptboot.c
were using the mini libstand malloc, so this failed when we tried to
probe for GELI partitions. Subtle changes in build order when moving
to self-contained stand build in r326593 toggled what it used from one
type to another due to odd nesting of the zfs implementation code that
differed subtly between zfsloader and zfsboot.
Sponsored by: Netflix
Notes:
svn path=/head/; revision=326887
|
|
|
|
|
|
|
|
|
|
| |
Something subtle is creating problems for disk access on ubldr. Back
it out unti that can be sorted out.
Sponsored by: Netflix
Notes:
svn path=/head/; revision=326812
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't print when we can't find a file. Copy it instead to the error
buffer. Higher level routines determine if it's appropriate to print
the error message.
Also, remove dead code (labeled bogusly lost functionality) since we
never used that functionality. Remove unused arg from interact() too.
Sponsored by: Netflix
Notes:
svn path=/head/; revision=326772
|
|
|
|
|
|
|
| |
Sponsored by: Netflix
Notes:
svn path=/head/; revision=326447
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move kernel includes and libsa includes together at the top of defs.mk
Move all machine specific defines from Makefile.inc to their friends
in defs.mk.
Add comments and remove now useless junk after the move.
Sponsored by: Netflix
Notes:
svn path=/head/; revision=326441
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
simd / no float stuff is centeralized here. Also centralise
-ffreestanding since it is specified everywhere.
This, along with a change to share/mk/bsd.cpu.mk to include -mno-avx2
in CFLAGS_NO_SIMD should fix building for newer machines (eg with
CPUTYPE=haswell) where clang was generating avx2 instructions.
Sponsored by: Netflix
Notes:
svn path=/head/; revision=326038
|
|
Sponsored by: Netflix
Notes:
svn path=/head/; revision=325834
|