History log of /freebsd-11-stable/stand/ficl/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
352240 12-Sep-2019 tsoome

MFC r351865, r351837:
ficl: add xemit word
ficl: add uIsGreater word (needed for xemit)

We need xemit to support userboot.so loading images from CURRENT.

332154 06-Apr-2018 kevans

MFC r330806-r330815, r330837, r330864, r330883

pc98 changes associated with the named commits are also included in this
commit, despite not having been made with the original commits due to its
removal in head.

r330806:
Minor cosmetic changes.

Make sure { on the same line as struct for all struct *devdesc. Move
some type definitions to next to the dv_type define, since that's what
sets the d_type.

r330807:
We can't use d_opendata for blkio storage.

open_disk uses d_opendata for it's own purpse. We can't store blkio
there. Fortunately, blkio is stored elsewhere and we never actually
retrieve blkio from d_opendata. Eliminate it as a source of confusion.
Eliminate all stores of d_opendata in efi since this layer doesn't own
that field.

r330808:
Make struct libi386_devdesc match the struct devdesc better

Move data to top and call it d_opendata.

r330809:
Use the actual struct devdesc at the start of all *_devdesc structs

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.

r330810:
Remove d_type from devdesc. It's not needed as we can fetch it from
d_dev->dv_type when we need it.

r330811:
GC unused routines.

Sponsored by: Netflix

r330812:
Use the one-line-per-file pattern here, and sort the file names.

Sponsored by: Netflix

r330813:
Move the env convenience routines out of boot1.c.

These routines are more generally useful. Even though boot1 is on its
way out, it's better to make these common during the transition than
copy them.

r330814:
Star BootCurrent entry when booting.

Sponsored by: Netflix

r330815:
Print the load and device path as well as BootCurrent and BootOrder

Sponsored by: Netflix

r330837:
biosdisk.c should not set d_opendata.

Same as 330807, d_opendata is owned by open_disk and we should not
set it.

M stand/i386/libi386/biosdisk.c

r330864:
Prefer uintXX_t to u_intXX_t

A foolish consistency is the hobgoblin of little minds, adored by
little statesmen and philosophers and divines. With consistency a
great soul has simply nothing to do. -- Ralph Waldo Emerson

r330883:
Fix typo that misteriously passes compilation.


/freebsd-11-stable/stand/common/bootstrap.h
/freebsd-11-stable/stand/common/disk.c
/freebsd-11-stable/stand/common/disk.h
/freebsd-11-stable/stand/common/isapnp.c
/freebsd-11-stable/stand/common/load_elf.c
/freebsd-11-stable/stand/common/load_elf_obj.c
/freebsd-11-stable/stand/common/metadata.c
/freebsd-11-stable/stand/common/misc.c
/freebsd-11-stable/stand/common/pnp.c
/freebsd-11-stable/stand/efi/boot1/boot1.c
/freebsd-11-stable/stand/efi/boot1/ufs_module.c
/freebsd-11-stable/stand/efi/include/efilib.h
/freebsd-11-stable/stand/efi/libefi/Makefile
/freebsd-11-stable/stand/efi/libefi/devicename.c
/freebsd-11-stable/stand/efi/libefi/efienv.c
/freebsd-11-stable/stand/efi/libefi/efipart.c
/freebsd-11-stable/stand/efi/libefi/efizfs.c
/freebsd-11-stable/stand/efi/libefi/env.c
/freebsd-11-stable/stand/efi/loader/arch/arm/exec.c
/freebsd-11-stable/stand/efi/loader/main.c
aarch64/sysdep.c
amd64/sysdep.c
arm/sysdep.c
i386/sysdep.c
mips/sysdep.c
mips64/sysdep.c
powerpc/sysdep.c
riscv/sysdep.c
sparc64/sysdep.c
/freebsd-11-stable/stand/i386/btx/lib/btxv86.h
/freebsd-11-stable/stand/i386/libi386/biosacpi.c
/freebsd-11-stable/stand/i386/libi386/bioscd.c
/freebsd-11-stable/stand/i386/libi386/biosdisk.c
/freebsd-11-stable/stand/i386/libi386/biospnp.c
/freebsd-11-stable/stand/i386/libi386/bootinfo32.c
/freebsd-11-stable/stand/i386/libi386/bootinfo64.c
/freebsd-11-stable/stand/i386/libi386/devicename.c
/freebsd-11-stable/stand/i386/libi386/elf64_freebsd.c
/freebsd-11-stable/stand/i386/libi386/libi386.h
/freebsd-11-stable/stand/i386/libi386/multiboot.c
/freebsd-11-stable/stand/i386/libi386/pxe.c
/freebsd-11-stable/stand/i386/loader/chain.c
/freebsd-11-stable/stand/i386/loader/main.c
/freebsd-11-stable/stand/libsa/arp.c
/freebsd-11-stable/stand/libsa/bootp.c
/freebsd-11-stable/stand/libsa/bootparam.c
/freebsd-11-stable/stand/libsa/dosfs.h
/freebsd-11-stable/stand/libsa/ext2fs.c
/freebsd-11-stable/stand/libsa/net.h
/freebsd-11-stable/stand/libsa/rpc.c
/freebsd-11-stable/stand/libsa/stand.h
/freebsd-11-stable/stand/mips/beri/loader/beri_disk_cfi.c
/freebsd-11-stable/stand/mips/beri/loader/beri_disk_sdcard.c
/freebsd-11-stable/stand/mips/beri/loader/devicename.c
/freebsd-11-stable/stand/ofw/libofw/devicename.c
/freebsd-11-stable/stand/ofw/libofw/libofw.h
/freebsd-11-stable/stand/ofw/libofw/openfirm.c
/freebsd-11-stable/stand/pc98/libpc98/bioscd.c
/freebsd-11-stable/stand/pc98/libpc98/biosdisk.c
/freebsd-11-stable/stand/pc98/loader/main.c
/freebsd-11-stable/stand/powerpc/boot1.chrp/boot1.c
/freebsd-11-stable/stand/powerpc/kboot/ppc64_elf_freebsd.c
/freebsd-11-stable/stand/powerpc/ofw/elf_freebsd.c
/freebsd-11-stable/stand/powerpc/ofw/main.c
/freebsd-11-stable/stand/powerpc/ofw/ppc64_elf_freebsd.c
/freebsd-11-stable/stand/sparc64/boot1/boot1.c
/freebsd-11-stable/stand/sparc64/loader/main.c
/freebsd-11-stable/stand/uboot/common/main.c
/freebsd-11-stable/stand/uboot/lib/devicename.c
/freebsd-11-stable/stand/uboot/lib/disk.c
/freebsd-11-stable/stand/uboot/lib/elf_freebsd.c
/freebsd-11-stable/stand/uboot/lib/libuboot.h
/freebsd-11-stable/stand/userboot/userboot/bootinfo32.c
/freebsd-11-stable/stand/userboot/userboot/bootinfo64.c
/freebsd-11-stable/stand/userboot/userboot/devicename.c
/freebsd-11-stable/stand/userboot/userboot/elf64_freebsd.c
/freebsd-11-stable/stand/userboot/userboot/main.c
/freebsd-11-stable/stand/userboot/userboot/userboot_disk.c
/freebsd-11-stable/stand/zfs/libzfs.h
/freebsd-11-stable/stand/zfs/zfs.c
332131 06-Apr-2018 kevans

MFC r329345: Eliminate bsd.stand.mk and -fPIC 32-bit intel builds

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.

331250 20-Mar-2018 kevans

MFC r330612: stand/ficl: Fix testmain

testmain is a userland application intended to be built with standard
headers and whatnot, which we broke.

Fix it by having the testmain build clobber cflags, reducing it to just the
set of defines/includes it needs to build.

329183 12-Feb-2018 kevans

MFC Loader Fixes Final: r327612,r327703,r327704,r327878,r327879,r327881,
r328007,r328029,r328030,r328031,r328061,r328156,r328169,r328288,r328289,
r328290,r328291,r328292,r328411,r328536,r328603,r328614,r328642,r328769,
r328779,r328780,r328781,r328782,r328783,r328806,r328808,r328826,r328835,
r328911,r328986,r328987,r328990,r328999,r329000,r329019,r329050,r329054,
r329060

r327612: Invent new #defines for the biospci_{read,write}_config function

r327703: Define __dmadat after #include'ing ufsread.c.

r327704: Fix printf missing format variables warnings.

r327878: Add GUID for UEFI boot manager variables.

r327879: Report the boot order and where we are in that boot order.

r327881: Allow this file to be included

r328007: Fix booting on some arm64 systems after r327879 by fixing the call
to utf8_to_ucs2

r328029: When returning an error and freeing allocated memory from
ucs2_to_utf8, NULL the return pointer.

r328030: Check the return value from utf8_to_ucs2 instead of whether or not
uv is NULL.

r328031: Need to free uv after we're done using it.

r328061: utf8_to_ucs2() should check for malloc failure

r328156: stand: Move sections around to fix stand/ build with ld.lld on
armv7

r328169: Remove extra copy of bootinfo.c. It's a bit rotted copy of the one
in efi/loader.

r328288: Fix some resource leaks.

r328289: Don't leak memory when displaying help.

r328290: On malloc failure, be sure to close the include file that triggered
it.

r328291: getenv does not return tainted data in the boot loader. Attempt to
clue Coverity into that fact.

r328292: There's no tainted data here, tag it as such to avoid false
positives.

r328411: loader.efi: add missing EFI GUIDs

r328536: loader: support for mixed-endianness ELF/loader and POWER8

r328603: Add missing non-POWERPC case to give the scr value something
non-zero.

r328614: Move libstand.3 to libsa.3. Update libsa.3 to include functions

r328642: Break out the interpreters (simple and forth) w/o ifdefs.

r328769: Centralize several variables.

r328779: Retire pnp.4th and the code needed only for 4th words used here.

r328780: These 4th words were an attempt to allow integration into the boot
loader scripts. However, that path won't be taken after all it
seems.

r328781: Remove pcibios forth support.

r328782: Now that we no longer conditionally compile some files outside of
ficl

r328783: Invent new LDR_INTERP for the loader interpreter to use.

r328806: We need more heap space to properly load newer powerpc kernels.

r328808: Implement strcoll as strcmp.

r328826: Make cross-endian loader changes apply only to powerpc

r328835: Fix regression introduced in r328806, preventing boot on many
platforms.

r328911: Ignore relocation tables for non-memory-resident sections.

r328986: Fix relative location of USB sources after recent move.

r328987: A more definitions to kernel emulation shim in order to build
stand/usb.

r328990: Move the stand/usb test loader into its own directory.

r328999: Fix indentation to FreeBSD standard for interp files

r329000: Move simple interpreter 'perform' into interp.c and call it

r329019: Move to tabs for indentation and to 8-space notches, per style(9).

r329050: Fix build of userboot.so

r329054: Set script.lang in the environment to either 'forth' or 'simple' to
reflect what scripting language was compiled into the loader.

r329060: loader: fix endianness conversion

PR: 225323


/freebsd-11-stable/ObsoleteFiles.inc
/freebsd-11-stable/stand/arm/uboot/Makefile
/freebsd-11-stable/stand/arm/uboot/ldscript.arm
/freebsd-11-stable/stand/common/boot.c
/freebsd-11-stable/stand/common/bootstrap.h
/freebsd-11-stable/stand/common/commands.c
/freebsd-11-stable/stand/common/install.c
/freebsd-11-stable/stand/common/interp.c
/freebsd-11-stable/stand/common/interp_backslash.c
/freebsd-11-stable/stand/common/interp_forth.c
/freebsd-11-stable/stand/common/interp_parse.c
/freebsd-11-stable/stand/common/interp_simple.c
/freebsd-11-stable/stand/common/load_elf.c
/freebsd-11-stable/stand/common/load_elf_obj.c
/freebsd-11-stable/stand/common/misc.c
/freebsd-11-stable/stand/common/pnp.c
/freebsd-11-stable/stand/defs.mk
/freebsd-11-stable/stand/efi/boot1/Makefile
/freebsd-11-stable/stand/efi/boot1/boot1.c
/freebsd-11-stable/stand/efi/fdt/Makefile
/freebsd-11-stable/stand/efi/include/efi.h
/freebsd-11-stable/stand/efi/include/efiapi.h
/freebsd-11-stable/stand/efi/libefi/Makefile
/freebsd-11-stable/stand/efi/libefi/efichar.c
/freebsd-11-stable/stand/efi/libefi/env.c
/freebsd-11-stable/stand/efi/loader/Makefile
/freebsd-11-stable/stand/efi/loader/arch/arm/ldscript.arm
/freebsd-11-stable/stand/efi/loader/arch/i386/bootinfo.c
/freebsd-11-stable/stand/efi/loader/main.c
/freebsd-11-stable/stand/fdt/Makefile
/freebsd-11-stable/stand/ficl.mk
Makefile
/freebsd-11-stable/stand/forth/Makefile
/freebsd-11-stable/stand/forth/loader.4th
/freebsd-11-stable/stand/forth/pcibios.4th
/freebsd-11-stable/stand/forth/pnp.4th
/freebsd-11-stable/stand/geli/Makefile
/freebsd-11-stable/stand/i386/boot0/Makefile
/freebsd-11-stable/stand/i386/btx/btx/Makefile
/freebsd-11-stable/stand/i386/btx/btxldr/Makefile
/freebsd-11-stable/stand/i386/btx/lib/Makefile
/freebsd-11-stable/stand/i386/cdboot/Makefile
/freebsd-11-stable/stand/i386/kgzldr/Makefile
/freebsd-11-stable/stand/i386/libfirewire/Makefile
/freebsd-11-stable/stand/i386/libfirewire/firewire.c
/freebsd-11-stable/stand/i386/libi386/Makefile
/freebsd-11-stable/stand/i386/libi386/biospci.c
/freebsd-11-stable/stand/i386/libi386/comconsole.c
/freebsd-11-stable/stand/i386/libi386/libi386.h
/freebsd-11-stable/stand/i386/loader/Makefile
/freebsd-11-stable/stand/i386/mbr/Makefile
/freebsd-11-stable/stand/i386/pmbr/Makefile
/freebsd-11-stable/stand/kshim/bsd_kernel.h
/freebsd-11-stable/stand/libsa/Makefile
/freebsd-11-stable/stand/libsa/environment.c
/freebsd-11-stable/stand/libsa/libsa.3
/freebsd-11-stable/stand/libsa/libstand.3
/freebsd-11-stable/stand/libsa/stand.h
/freebsd-11-stable/stand/loader.mk
/freebsd-11-stable/stand/mips/beri/boot2/Makefile
/freebsd-11-stable/stand/mips/beri/boot2/boot2.c
/freebsd-11-stable/stand/mips/beri/loader/Makefile
/freebsd-11-stable/stand/mips/beri/loader/exec.c
/freebsd-11-stable/stand/mips/uboot/Makefile
/freebsd-11-stable/stand/ofw/common/main.c
/freebsd-11-stable/stand/ofw/libofw/Makefile
/freebsd-11-stable/stand/ofw/libofw/elf_freebsd.c
/freebsd-11-stable/stand/ofw/libofw/libofw.h
/freebsd-11-stable/stand/ofw/libofw/ofw_copy.c
/freebsd-11-stable/stand/ofw/libofw/ofw_memory.c
/freebsd-11-stable/stand/ofw/libofw/ppc64_elf_freebsd.c
/freebsd-11-stable/stand/powerpc/boot1.chrp/Makefile
/freebsd-11-stable/stand/powerpc/kboot/Makefile
/freebsd-11-stable/stand/powerpc/kboot/conf.c
/freebsd-11-stable/stand/powerpc/kboot/host_syscall.S
/freebsd-11-stable/stand/powerpc/kboot/host_syscall.h
/freebsd-11-stable/stand/powerpc/kboot/hostdisk.c
/freebsd-11-stable/stand/powerpc/kboot/kerneltramp.S
/freebsd-11-stable/stand/powerpc/kboot/main.c
/freebsd-11-stable/stand/powerpc/kboot/metadata.c
/freebsd-11-stable/stand/powerpc/kboot/ppc64_elf_freebsd.c
/freebsd-11-stable/stand/powerpc/ofw/Makefile
/freebsd-11-stable/stand/powerpc/ofw/ldscript.powerpc
/freebsd-11-stable/stand/powerpc/uboot/Makefile
/freebsd-11-stable/stand/sparc64/boot1/Makefile
/freebsd-11-stable/stand/sparc64/loader/Makefile
/freebsd-11-stable/stand/uboot/fdt/Makefile
/freebsd-11-stable/stand/uboot/lib/Makefile
/freebsd-11-stable/stand/usb/Makefile.test
/freebsd-11-stable/stand/usb/bsd_usbloader_test.c
/freebsd-11-stable/stand/usb/test
/freebsd-11-stable/stand/usb/usbcore.mk
/freebsd-11-stable/stand/userboot/test/Makefile
/freebsd-11-stable/stand/userboot/userboot/Makefile
/freebsd-11-stable/stand/zfs/Makefile
/freebsd-11-stable/sys/kern/link_elf_obj.c
329175 12-Feb-2018 kevans

MFC Loader Fixes 2017q4p7: r324844,r326089,r326926,r326440,r326484,r326494,
r326588,r326708,r326784,r326914,r327390,r328446,r326090,r326143,r326144,
r326182,r326384,r326421,r326440,r326441,r326442,r326443,r326444,r326445,
r326446,r326447,r326448,r326484,r326485,r326486,r326487,r326488,r326490,
r326491,r326492,r326493,r326494,r326495,r326504,r326507,r326509,r326584,
r326585,r326586,r326587,r326588,r326589,r326590,r326591,r326592,r326593,
r326594,r326600,r326616,r326671,r326707,r326708,r326709,r326710,r326711,
r326712,r326714,r326720,r326768,r326772,r326784,r326792,r326812,r326854,
r326855,r326856,r326858,r326886,r326887,r326914,r326926,r326927,r326960,
r326961,r326962,r326963,r327351,r327453,r327390,r327523,r327524,r326489,
r327880,r328437,r328438,r328439,r328441,r328446,r328448,r328449,r328612,
r328613,r328615

While here, undo our libfdt hack of not including <stdlib.h> if we're
compiling _STANDALONE.

r324844: When building standalone, don't define errno. Let the definition from
stand.h override. This is similar to what we do in the kernel.

r326089: loader.efi: efipart does not recognize partitionless disks

r326090: net_parse_rootpath() has no parameters

r326143: Fix theoretical integer overflow issues. If the product here is

r326144: Mark the func pointer as __dead2. It looks up loader_main, which

r326182: Modify all FreeBSD bootloaders on PowerPC AIM (Book-S) systems

r326384: Use const pointers to avoid casting away constness.

r326421: loader.efi: efipart should exclude iPXE stub block protocol

r326440: Remove stale dependency on ufsread.c

r326441: Minor flags cleanup

r326442: Cleanup CFALGS usage here

r326443: We don't need both _STAND and _STANDALONE, use the latter.

r326444: Move geli to common DO32 stuff

r326445: Fix random() and srandom() prototypes to match the standard.

r326446: Undefine _STANDALONE since this is test code.

r326447: Tweaks to the beri boot loader so that it builds w/o warnings.

r326448: Fix all warnings related to geli and ZFS support on x86.

r326484: Const poison the propname.

r326485: Delcare md_load in libofw.h. Make all prototypes match for ofw

r326486: Include machine/md_var to pick up __syncicache prototype.

r326487: Cast mdp (a vm_offset_t) to void * to match prototype.

r326488: e_entry can be smaller than a pointer. Cast it to an intptr_t

r326490: Declare our strange brand of main().

r326491: Disconnet ps3 from the build. There's too many warnings to fix.

r326492: Cast void * pointer to char * so the arg matches the %s format.

r326493: Provide a md_load64 prototype.

r326494: Mark two things as unused (since they are only sometimes used)

r326495: Now it's safe to bump WARNS to 1.

r326504: Switch to proper MK_LOADER_GELI tests.

r326507: increase maximum size of zfsboot

r326509: loader.efi: add note about iPXE into the efipart.c

r326584: When building standalone, include stand.h rather than the kernel

r326585: Include ficl.h before anything else

r326586: No need to include the userland md5.h, the kernel one is just fine.

r326587: Use the kernel relative paths, rather than the userland relative
paths

r326588: Need to include skein in the include path

r326589: Make sure we include the right path for skein.h

r326590: Prefer stdint.h to inttypes.h

r326591: This isn't NetBSD specific code. Include these for any kernel /

r326592: Don't inherit CFLAGS. This a specialized test program.

r326593: Stop building with the standard system headers.

r326594: Now that we offer a semi-sane standards-ish set of #include files,
stop hacking includes with sed.

r326600: Since this is contrib code, create an upstreamable version of my

r326616: dhcp_try_rfc1048() is not used any more

r326671: Avoid setting -Wno-tentative-definition-incomplete-type with gcc.

r326707: Add partial support signal.h functioanlity. Pull in
machine/signal.h

r326708: Remove _KERNEL hack now that errno.h does the right thing when
built standalone.

r326709: Provide implementations for iscntrl, ispunct and isgraph.

r326710: Put the files we're copying over into a few variables and clean
hings up.

r326711: Const poison a couple of interfaces.

r326712: Create interp class.

r326714: boot1.c needs EFI_ZFS_BOOT too, so add it globally.

r326720: This path belongs in ficl/Makefile, not the common defines for
users

r326768: Fix a comment to be more accurate

r326772: Fix regression with lua import

r326784: Revert part of 362772. It was causing problems for includes

r326792: Attempt to unbreak buildworld

r326812: Revert r326792, r326784, r326772, r326712

r326854: libefi: make efichar.h more usable in stand code

r326855: Cargo cut a fix for the regressions r326585 caused.

r326856: Fix comments after bump in size.

r326858: Revert r326855: Cargo cut a fix for the regressions r326585 caused.

r326886: Panic in sbrk if setheap hasn't been called yet. This is preferable
o a mysterious crash

r326887: Remove the 'mini libstand in libstand' that util.[ch] provided.

r326914: Move loader-only defines to loader.mk from defs.mk

r326926: Move loader help file definitions to being 100% inside of
loader.mk.

r326927: libficl is only ever used in a loader (never a boot) program. Move
it.

r326960: Simplify things a little. The RETURN macro isn't required.

r326961: Interact is always called with NULL. Simplify code a little

r326962: Hoist btx include stuff to i386/Makefile.inc

r326963: No need to use relative paths like this here.

r327351: Fix ubldr. uboot/lib uses defines for the loader.

r327453: Add a validbcd() routine that uses the bcd2bin_data[] array

r327390: Garbage-collect loader.ps3. It is currently disconnected from the
build and kboot replaces.

r327523: Don't clobber system LDFLAGS for beri boot loaders.

r327524: Use 'extern uint8_t' instead of 'extern void' for external symbols.

r326489: Allow this file to be used in libsa without warning...

r327880: Move getsecs() prototype to stand.h from net.h so it can be used

r328437: Split panic routine

r328438: Implement abort() as a call to panic.

r328439: Provide abs form stdlib.h.

r328441: abort() should be marked __dead2 since it won't return.

r328446: Now that exit is __dead2, we need to tag ub_exit() as __dead2.

r328448: Make exit() never return until host_exit can be written.

r328449: Tag unreachable places as such. I left the while (1); in place

r328612: Move strtold wrapper from strtol.c to its own strtold.c.

r328613: Kill copies of strtol and strtoul.

r328615: Update stand.h for changes for strto*l

PR: 223969


/freebsd-11-stable/contrib/compiler-rt/lib/builtins/int_lib.h
/freebsd-11-stable/lib/libc/stdlib/Makefile.inc
/freebsd-11-stable/lib/libc/stdlib/strtol.c
/freebsd-11-stable/lib/libc/stdlib/strtold.c
/freebsd-11-stable/stand/Makefile.amd64
/freebsd-11-stable/stand/Makefile.i386
/freebsd-11-stable/stand/Makefile.inc
/freebsd-11-stable/stand/arm/uboot/Makefile
/freebsd-11-stable/stand/common/bootstrap.h
/freebsd-11-stable/stand/common/dev_net.c
/freebsd-11-stable/stand/common/interp.c
/freebsd-11-stable/stand/common/interp_backslash.c
/freebsd-11-stable/stand/common/interp_forth.c
/freebsd-11-stable/stand/common/interp_parse.c
/freebsd-11-stable/stand/common/load_elf.c
/freebsd-11-stable/stand/common/load_elf_obj.c
/freebsd-11-stable/stand/common/reloc_elf.c
/freebsd-11-stable/stand/defs.mk
/freebsd-11-stable/stand/efi/boot1/Makefile
/freebsd-11-stable/stand/efi/boot1/boot1.c
/freebsd-11-stable/stand/efi/include/efichar.h
/freebsd-11-stable/stand/efi/libefi/Makefile
/freebsd-11-stable/stand/efi/libefi/efichar.c
/freebsd-11-stable/stand/efi/libefi/efipart.c
/freebsd-11-stable/stand/efi/loader/Makefile
/freebsd-11-stable/stand/efi/loader/main.c
/freebsd-11-stable/stand/ficl.mk
Makefile
float.c
/freebsd-11-stable/stand/geli/Makefile
/freebsd-11-stable/stand/geli/geliboot.c
/freebsd-11-stable/stand/geli/geliboot_internal.h
/freebsd-11-stable/stand/i386/Makefile.inc
/freebsd-11-stable/stand/i386/boot2/Makefile
/freebsd-11-stable/stand/i386/common/cons.c
/freebsd-11-stable/stand/i386/common/drv.c
/freebsd-11-stable/stand/i386/gptboot/Makefile
/freebsd-11-stable/stand/i386/gptboot/gptboot.c
/freebsd-11-stable/stand/i386/gptboot/gptldr.S
/freebsd-11-stable/stand/i386/gptzfsboot/Makefile
/freebsd-11-stable/stand/i386/libfirewire/Makefile
/freebsd-11-stable/stand/i386/libi386/Makefile
/freebsd-11-stable/stand/i386/libi386/biosdisk.c
/freebsd-11-stable/stand/i386/libi386/multiboot.c
/freebsd-11-stable/stand/i386/loader/Makefile
/freebsd-11-stable/stand/i386/loader/main.c
/freebsd-11-stable/stand/i386/zfsboot/Makefile
/freebsd-11-stable/stand/i386/zfsboot/zfsboot.c
/freebsd-11-stable/stand/libsa/Makefile
/freebsd-11-stable/stand/libsa/abort.c
/freebsd-11-stable/stand/libsa/bootp.c
/freebsd-11-stable/stand/libsa/bootp.h
/freebsd-11-stable/stand/libsa/cd9660.c
/freebsd-11-stable/stand/libsa/gpt.c
/freebsd-11-stable/stand/libsa/net.h
/freebsd-11-stable/stand/libsa/panic.c
/freebsd-11-stable/stand/libsa/sbrk.c
/freebsd-11-stable/stand/libsa/stand.h
/freebsd-11-stable/stand/libsa/strtol.c
/freebsd-11-stable/stand/libsa/strtoul.c
/freebsd-11-stable/stand/libsa/util.c
/freebsd-11-stable/stand/libsa/util.h
/freebsd-11-stable/stand/libsa/xlocale_private.h
/freebsd-11-stable/stand/loader.mk
/freebsd-11-stable/stand/mips/beri/boot2/Makefile
/freebsd-11-stable/stand/mips/beri/boot2/boot2.c
/freebsd-11-stable/stand/mips/beri/common/altera_jtag_uart.c
/freebsd-11-stable/stand/mips/beri/common/cfi.c
/freebsd-11-stable/stand/mips/beri/common/sdcard.c
/freebsd-11-stable/stand/mips/beri/loader/Makefile
/freebsd-11-stable/stand/mips/beri/loader/devicename.c
/freebsd-11-stable/stand/mips/beri/loader/exec.c
/freebsd-11-stable/stand/mips/beri/loader/loader.h
/freebsd-11-stable/stand/mips/beri/loader/main.c
/freebsd-11-stable/stand/mips/uboot/Makefile
/freebsd-11-stable/stand/mips/uboot/conf.c
/freebsd-11-stable/stand/ofw/common/main.c
/freebsd-11-stable/stand/ofw/libofw/elf_freebsd.c
/freebsd-11-stable/stand/ofw/libofw/libofw.h
/freebsd-11-stable/stand/ofw/libofw/openfirm.c
/freebsd-11-stable/stand/ofw/libofw/openfirm.h
/freebsd-11-stable/stand/ofw/libofw/ppc64_elf_freebsd.c
/freebsd-11-stable/stand/powerpc/Makefile
/freebsd-11-stable/stand/powerpc/boot1.chrp/Makefile
/freebsd-11-stable/stand/powerpc/boot1.chrp/boot1.c
/freebsd-11-stable/stand/powerpc/kboot/Makefile
/freebsd-11-stable/stand/powerpc/kboot/host_syscall.h
/freebsd-11-stable/stand/powerpc/kboot/hostdisk.c
/freebsd-11-stable/stand/powerpc/kboot/kbootfdt.c
/freebsd-11-stable/stand/powerpc/kboot/main.c
/freebsd-11-stable/stand/powerpc/kboot/ppc64_elf_freebsd.c
/freebsd-11-stable/stand/powerpc/ofw/Makefile
/freebsd-11-stable/stand/powerpc/ofw/start.c
/freebsd-11-stable/stand/powerpc/ps3
/freebsd-11-stable/stand/powerpc/uboot/Makefile
/freebsd-11-stable/stand/sparc64/boot1/Makefile
/freebsd-11-stable/stand/sparc64/loader/Makefile
/freebsd-11-stable/stand/sparc64/loader/main.c
/freebsd-11-stable/stand/sparc64/loader/metadata.c
/freebsd-11-stable/stand/uboot/common/main.c
/freebsd-11-stable/stand/uboot/lib/glue.c
/freebsd-11-stable/stand/uboot/lib/glue.h
/freebsd-11-stable/stand/userboot/test/Makefile
/freebsd-11-stable/stand/userboot/test/test.c
/freebsd-11-stable/stand/userboot/userboot/Makefile
/freebsd-11-stable/stand/userboot/userboot/main.c
/freebsd-11-stable/stand/zfs/zfsimpl.c
/freebsd-11-stable/sys/cddl/boot/zfs/zfssubr.c
/freebsd-11-stable/sys/contrib/libfdt/libfdt_env.h
/freebsd-11-stable/sys/geom/eli/g_eli_hmac.c
/freebsd-11-stable/sys/geom/eli/pkcs5v2.c
/freebsd-11-stable/sys/opencrypto/xform_userland.h
/freebsd-11-stable/sys/sys/errno.h
/freebsd-11-stable/sys/sys/libkern.h
/freebsd-11-stable/sys/sys/syslimits.h
329145 12-Feb-2018 kevans

MFC r325834,r325997,326502: Move sys/boot to stand/

This is effectively a direct commit to stable/11, due to differences between
stable/11 and head. Changes to DTS in sys/boot/fdt/dts were often
accompanied by kernel changes. Many of these were also risc-v updates that
likely had many more dependencies to MFC.

Because of this, sys/boot/fdt/dts remains as-is while everything else in
sys/boot relocates to stand/.

r325834: Move sys/boot to stand. Fix all references to new location

r325997: Remove empty directories.

r326502: Document the sys/boot -> stand move in hier.7 and the top-level README.


/freebsd-11-stable/MAINTAINERS
/freebsd-11-stable/Makefile.inc1
/freebsd-11-stable/README
/freebsd-11-stable/lib/libefivar/Makefile
/freebsd-11-stable/release/powerpc/generate-hfs.sh
/freebsd-11-stable/release/tools/vmimage.subr
/freebsd-11-stable/share/examples/bootforth/README
/freebsd-11-stable/share/examples/etc/make.conf
/freebsd-11-stable/share/man/man5/make.conf.5
/freebsd-11-stable/share/man/man7/hier.7
/freebsd-11-stable/share/man/man8/diskless.8
/freebsd-11-stable/stand
/freebsd-11-stable/stand/Makefile
/freebsd-11-stable/stand/Makefile.amd64
/freebsd-11-stable/stand/Makefile.arm
/freebsd-11-stable/stand/Makefile.arm64
/freebsd-11-stable/stand/Makefile.i386
/freebsd-11-stable/stand/Makefile.inc
/freebsd-11-stable/stand/Makefile.mips
/freebsd-11-stable/stand/Makefile.pc98
/freebsd-11-stable/stand/Makefile.powerpc
/freebsd-11-stable/stand/Makefile.sparc64
/freebsd-11-stable/stand/arm
/freebsd-11-stable/stand/arm64
/freebsd-11-stable/stand/common
/freebsd-11-stable/stand/defs.mk
/freebsd-11-stable/stand/efi
/freebsd-11-stable/stand/fdt
/freebsd-11-stable/stand/fdt.mk
/freebsd-11-stable/stand/fdt/Makefile
/freebsd-11-stable/stand/fdt/Makefile.depend
/freebsd-11-stable/stand/fdt/fdt_loader_cmd.c
/freebsd-11-stable/stand/fdt/fdt_platform.h
/freebsd-11-stable/stand/fdt/help.fdt
/freebsd-11-stable/stand/ficl
/freebsd-11-stable/stand/ficl.mk
/freebsd-11-stable/stand/ficl32
/freebsd-11-stable/stand/forth
/freebsd-11-stable/stand/forth/pnp.4th
/freebsd-11-stable/stand/forth/support.4th
/freebsd-11-stable/stand/geli
/freebsd-11-stable/stand/i386
/freebsd-11-stable/stand/i386/Makefile.inc
/freebsd-11-stable/stand/kshim
/freebsd-11-stable/stand/libsa
/freebsd-11-stable/stand/libsa32
/freebsd-11-stable/stand/loader.mk
/freebsd-11-stable/stand/man
/freebsd-11-stable/stand/mips
/freebsd-11-stable/stand/ofw
/freebsd-11-stable/stand/pc98
/freebsd-11-stable/stand/pc98/Makefile.inc
/freebsd-11-stable/stand/powerpc
/freebsd-11-stable/stand/sparc64
/freebsd-11-stable/stand/uboot
/freebsd-11-stable/stand/uboot.mk
/freebsd-11-stable/stand/usb
/freebsd-11-stable/stand/userboot
/freebsd-11-stable/stand/userboot/ficl
/freebsd-11-stable/stand/userboot/libstand
/freebsd-11-stable/stand/userboot/zfs
/freebsd-11-stable/stand/zfs
/freebsd-11-stable/stand/zfs32
/freebsd-11-stable/sys/Makefile
/freebsd-11-stable/sys/boot/Makefile
/freebsd-11-stable/sys/boot/Makefile.amd64
/freebsd-11-stable/sys/boot/Makefile.arm
/freebsd-11-stable/sys/boot/Makefile.arm64
/freebsd-11-stable/sys/boot/Makefile.i386
/freebsd-11-stable/sys/boot/Makefile.inc
/freebsd-11-stable/sys/boot/Makefile.mips
/freebsd-11-stable/sys/boot/Makefile.pc98
/freebsd-11-stable/sys/boot/Makefile.powerpc
/freebsd-11-stable/sys/boot/Makefile.sparc64
/freebsd-11-stable/sys/boot/arm
/freebsd-11-stable/sys/boot/arm64
/freebsd-11-stable/sys/boot/common
/freebsd-11-stable/sys/boot/defs.mk
/freebsd-11-stable/sys/boot/efi
/freebsd-11-stable/sys/boot/fdt.mk
/freebsd-11-stable/sys/boot/fdt/Makefile
/freebsd-11-stable/sys/boot/fdt/Makefile.depend
/freebsd-11-stable/sys/boot/fdt/fdt_loader_cmd.c
/freebsd-11-stable/sys/boot/fdt/fdt_platform.h
/freebsd-11-stable/sys/boot/fdt/help.fdt
/freebsd-11-stable/sys/boot/ficl
/freebsd-11-stable/sys/boot/ficl.mk
/freebsd-11-stable/sys/boot/ficl32
/freebsd-11-stable/sys/boot/forth
/freebsd-11-stable/sys/boot/geli
/freebsd-11-stable/sys/boot/i386
/freebsd-11-stable/sys/boot/kshim
/freebsd-11-stable/sys/boot/libsa
/freebsd-11-stable/sys/boot/libsa32
/freebsd-11-stable/sys/boot/loader.mk
/freebsd-11-stable/sys/boot/man
/freebsd-11-stable/sys/boot/mips
/freebsd-11-stable/sys/boot/ofw
/freebsd-11-stable/sys/boot/pc98
/freebsd-11-stable/sys/boot/powerpc
/freebsd-11-stable/sys/boot/sparc64
/freebsd-11-stable/sys/boot/uboot
/freebsd-11-stable/sys/boot/uboot.mk
/freebsd-11-stable/sys/boot/usb
/freebsd-11-stable/sys/boot/userboot
/freebsd-11-stable/sys/boot/zfs
/freebsd-11-stable/sys/boot/zfs32
/freebsd-11-stable/sys/contrib/dev/acpica/acpica_prep.sh
/freebsd-11-stable/tools/boot/universe.sh
/freebsd-11-stable/tools/tools/bootparttest/Makefile
/freebsd-11-stable/tools/tools/zfsboottest/Makefile
/freebsd-11-stable/usr.sbin/bhyveload/Makefile
329140 11-Feb-2018 kevans

MFC Loader Fixes 2017q4p6: r324649,r324650,r324651,r324652,r324653,r324654,
r324700,r324702,r324709,r324717,r324719,r324841,r324842,r324843,r324845,
r324850,r324876,r324877,r324878,r324879,r324880,r324881,r324883,r324980,
r324981,r324982,r324995,r325014,r325093,r325094,r325114,r325170,r325171,
r325172,r325173,r325174,r325175,r325176,r325248,r325286,r325310,r325332,
r325338,r325339,r325376,r325377,r325379,r325380,r325382,r325478,r325479,
r325480,r325482,r325483,r325484,r325485,r325556,r325641,r325681,r325685,
r325686,r325687,r325688,r325689,r325690,r325691,r325692,r325693,r325694,
r325743,r325744,r325748,r325775,r325779,r325780

r324649: Move common/Makefile.inc to sys/boot/loader.mk.

r324650: tweak style

r324651: create defs.mk for common definitions

r324652: Move all the ficl common code into ficl.mk

r324653: LOADER_foo_SUPPORTED

r324654: Explicitly inlcude SYSDIR in the include path

r324700: loader: initialize dv_cleanup in md.c to eliminate clang warning

r324702: We need to include disk.o in libuboot.a when we're building with
support for disk access.

r324709: Revert "Unify boot1 with loader" change r324646

r324717: libsa/ip.c: misplaced comment, ip_v is half char, not ip_p

r324719: libsa/ip: stop read loop on bad fragments

r324841: Use BOOTDIR more consistently in defs.mk rather than repeat
sys/boot.

r324842: Introduce BOOTOBJ: The top level object directory for the boot tree

r324843: Stopgap fix to the mistmatch between LOADER_GELI_SUPPORT and
LOADER_NO_GELI_SUPPORT.

r324845: Use BOOTOBJ and BOOTDIR to find geli includes and libraries.

r324850: Define LIBSA32 to LIBSA on i386 to fix build.

r324876: Move fdt and uboot defines into common uboot.mk.

r324877: End source directories with SRC rather than a hodgepodge of names

r324878: Make at91 boot loader compile again.

r324879: Prefer SRCTOP paths for bits we're grabbing from libc.

r324880: Use BOOTSRC here.

r324881: Use SYSDIR instead of ${.CURDIR}/../..<etc>/sys.

r324883: Use preferred defined paths, rather than relative paths in fdt.

r324980: Use BOOTDIR consistently.

r324981: Move BINDIR definition to defs.mk, and override where it isn't
/boot

r324982: Remove sys/boot/arm/at91 and ixp425

r324995: loader.efi: Make framebuffer commands available for arm64

r325014: Add a 'place holder' arm struct efi_fb until a real one comes

r325093: Define new EFI variables

r325094: Cleanup non-arch Makefiles

r325114: Use defs.mk defins in most MD code

r325170: Use defs.mk values for userboot

r325171: Use defs.mk name and prefer bsd.init.mk

r325172: Remove the -nostdlib stuff I added. Instead, fix LDFLAGS to be
honored correctly with the new Makefile.inc include order.

r325173: We don't need to build a special ficl for userboot.

r325174: Minor cleanup

r325175: For amd64, compile both zfs and zfs32 libraries.

r325176: Actually add zfs32/Makefile

r325248: loader ptblread() is broken with >512B sectors

r325286: efipart_strategy is using wrong offset with >512B sectors

r325310: zfs.c:vdev_read() needs to be careful about large sectors

r325332: loader: re-enable gzip support for x86

r325338: loader: fix BOOTSRC -> BOOTOBJ in a library path

r325339: This used to have bzip2 support too.

r325376: WIP: centralize machine links

r325377: mostly libsa

r325379: Revert "mostly libsa"

r325380: Revert "WIP: centralize machine links"

r325382: Cleanup stray libstand names to be libsa names.

r325478: Powerpc is a 32-bit boot loader.

r325479: Define LIBFICL32 to be libficl.a on i386 and libficl32.a on amd64.

r325480: Use DO32 for all the places that we need to flag we're building a
32-bit version of a library.

r325482: Move machine and other link creation to defs.mk

r325483: MACHINE can never be powerpc64, so cleanup code that thinks it can.

r325484: Prefer bsd.init.mk to src.opts.mk

r325485: Centralize all 32-bit builds on 64-bit platform stuff.

r325556: loader: set options before including bsd.init.mk

r325641: loader.efi: efi_devpath_is_prefix should return bool

r325681: boot1: avoid using NULL device path

r325685: libsa32 isn't needed for i386. It's already a 32-bit platform.

r325686: Simplify this if to a direct assignment.

r325687: Remove all the empty help files from the powerpc build.

r325688: FDT support doesn't make sense for ps3, remove it.

r325689: Remove LOADER_FDT_SUPPORT as a Makefile variable.

r325690: Remove LOADER_ZFS_SUPPORT as a Makefile variable

r325691: Remove useless PNP define here.

r325692: Replace LOADER_FIREWIRE_SUPPORT variable

r325693: Move LOADER_{NO,}_GELI_SUPPORT to MK_LOADER_GELI

r325694: Install the 4th files in sys/boot/forth instead of each loader

r325743: Make sure the proper loader.rc gets installed.

r325744: boot1: also check for NULL device

r325748: Use proper include file.

r325775: Add loader.conf to the list of files that are MD.

r325779: Add /boot/dts to the list of default modules.

r325780: Don't add /boot/dt*s* but /boot/dt*b*. Stupid think-o.


/freebsd-11-stable/UPDATING
/freebsd-11-stable/share/mk/src.opts.mk
/freebsd-11-stable/sys/arm/include/metadata.h
/freebsd-11-stable/sys/arm64/include/metadata.h
/freebsd-11-stable/sys/boot/Makefile
/freebsd-11-stable/sys/boot/Makefile.amd64
/freebsd-11-stable/sys/boot/Makefile.arm
/freebsd-11-stable/sys/boot/Makefile.arm64
/freebsd-11-stable/sys/boot/Makefile.i386
/freebsd-11-stable/sys/boot/Makefile.inc
/freebsd-11-stable/sys/boot/Makefile.powerpc
/freebsd-11-stable/sys/boot/Makefile.sparc64
/freebsd-11-stable/sys/boot/arm/at91/Makefile
/freebsd-11-stable/sys/boot/arm/at91/Makefile.inc
/freebsd-11-stable/sys/boot/arm/at91/boot0/Makefile
/freebsd-11-stable/sys/boot/arm/at91/boot0/README
/freebsd-11-stable/sys/boot/arm/at91/boot0/linker.cfg
/freebsd-11-stable/sys/boot/arm/at91/boot0/main.c
/freebsd-11-stable/sys/boot/arm/at91/boot0iic/Makefile
/freebsd-11-stable/sys/boot/arm/at91/boot0iic/main.c
/freebsd-11-stable/sys/boot/arm/at91/boot0spi/Makefile
/freebsd-11-stable/sys/boot/arm/at91/boot0spi/main.c
/freebsd-11-stable/sys/boot/arm/at91/boot2/Makefile
/freebsd-11-stable/sys/boot/arm/at91/boot2/board.h
/freebsd-11-stable/sys/boot/arm/at91/boot2/boot2.c
/freebsd-11-stable/sys/boot/arm/at91/boot2/bwct_board.c
/freebsd-11-stable/sys/boot/arm/at91/boot2/centipad_board.c
/freebsd-11-stable/sys/boot/arm/at91/boot2/kb920x_board.c
/freebsd-11-stable/sys/boot/arm/at91/bootiic/Makefile
/freebsd-11-stable/sys/boot/arm/at91/bootiic/README
/freebsd-11-stable/sys/boot/arm/at91/bootiic/env_vars.c
/freebsd-11-stable/sys/boot/arm/at91/bootiic/env_vars.h
/freebsd-11-stable/sys/boot/arm/at91/bootiic/loader_prompt.c
/freebsd-11-stable/sys/boot/arm/at91/bootiic/loader_prompt.h
/freebsd-11-stable/sys/boot/arm/at91/bootiic/main.c
/freebsd-11-stable/sys/boot/arm/at91/bootspi/Makefile
/freebsd-11-stable/sys/boot/arm/at91/bootspi/README
/freebsd-11-stable/sys/boot/arm/at91/bootspi/ee.c
/freebsd-11-stable/sys/boot/arm/at91/bootspi/ee.h
/freebsd-11-stable/sys/boot/arm/at91/bootspi/env_vars.c
/freebsd-11-stable/sys/boot/arm/at91/bootspi/env_vars.h
/freebsd-11-stable/sys/boot/arm/at91/bootspi/loader_prompt.c
/freebsd-11-stable/sys/boot/arm/at91/bootspi/loader_prompt.h
/freebsd-11-stable/sys/boot/arm/at91/bootspi/main.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/Makefile
/freebsd-11-stable/sys/boot/arm/at91/libat91/arm_init.S
/freebsd-11-stable/sys/boot/arm/at91/libat91/at91rm9200.h
/freebsd-11-stable/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h
/freebsd-11-stable/sys/boot/arm/at91/libat91/delay.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/eeprom.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/emac.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/emac.h
/freebsd-11-stable/sys/boot/arm/at91/libat91/emac_init.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/getc.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/lib.h
/freebsd-11-stable/sys/boot/arm/at91/libat91/lib_AT91RM9200.h
/freebsd-11-stable/sys/boot/arm/at91/libat91/mci_device.h
/freebsd-11-stable/sys/boot/arm/at91/libat91/memcmp.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/memcpy.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/memset.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/p_string.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/printf.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/putchar.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/reset.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/sd-card.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/sd-card.h
/freebsd-11-stable/sys/boot/arm/at91/libat91/spi_flash.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/spi_flash.h
/freebsd-11-stable/sys/boot/arm/at91/libat91/strcmp.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/strcpy.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/strcvt.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/strlen.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/tag_list.c
/freebsd-11-stable/sys/boot/arm/at91/libat91/tag_list.h
/freebsd-11-stable/sys/boot/arm/at91/libat91/xmodem.c
/freebsd-11-stable/sys/boot/arm/at91/linker.cfg
/freebsd-11-stable/sys/boot/arm/ixp425/Makefile.inc
/freebsd-11-stable/sys/boot/arm/ixp425/boot2/Makefile
/freebsd-11-stable/sys/boot/arm/ixp425/boot2/arm_init.S
/freebsd-11-stable/sys/boot/arm/ixp425/boot2/boot2.c
/freebsd-11-stable/sys/boot/arm/ixp425/boot2/cf_ata.h
/freebsd-11-stable/sys/boot/arm/ixp425/boot2/ixp425_board.c
/freebsd-11-stable/sys/boot/arm/ixp425/boot2/lib.h
/freebsd-11-stable/sys/boot/arm/loader
/freebsd-11-stable/sys/boot/arm/loader/loader.conf
/freebsd-11-stable/sys/boot/arm/uboot/Makefile
/freebsd-11-stable/sys/boot/arm/uboot/loader.conf
/freebsd-11-stable/sys/boot/common/Makefile.inc
/freebsd-11-stable/sys/boot/common/disk.c
/freebsd-11-stable/sys/boot/common/md.c
/freebsd-11-stable/sys/boot/defs.mk
/freebsd-11-stable/sys/boot/efi/Makefile
/freebsd-11-stable/sys/boot/efi/Makefile.inc
/freebsd-11-stable/sys/boot/efi/boot1/Makefile
/freebsd-11-stable/sys/boot/efi/boot1/boot1.c
/freebsd-11-stable/sys/boot/efi/boot1/boot_module.h
/freebsd-11-stable/sys/boot/efi/boot1/ufs_module.c
/freebsd-11-stable/sys/boot/efi/boot1/zfs_module.c
/freebsd-11-stable/sys/boot/efi/fdt/Makefile
/freebsd-11-stable/sys/boot/efi/include/efilib.h
/freebsd-11-stable/sys/boot/efi/libefi/Makefile
/freebsd-11-stable/sys/boot/efi/libefi/devpath.c
/freebsd-11-stable/sys/boot/efi/libefi/efi_main.c
/freebsd-11-stable/sys/boot/efi/libefi/efipart.c
/freebsd-11-stable/sys/boot/efi/loader/Makefile
/freebsd-11-stable/sys/boot/efi/loader/arch/amd64/Makefile.inc
/freebsd-11-stable/sys/boot/efi/loader/arch/amd64/framebuffer.c
/freebsd-11-stable/sys/boot/efi/loader/arch/amd64/framebuffer.h
/freebsd-11-stable/sys/boot/efi/loader/arch/arm/Makefile.inc
/freebsd-11-stable/sys/boot/efi/loader/arch/arm64/Makefile.inc
/freebsd-11-stable/sys/boot/efi/loader/arch/i386/Makefile.inc
/freebsd-11-stable/sys/boot/efi/loader/bootinfo.c
/freebsd-11-stable/sys/boot/efi/loader/efi_main.c
/freebsd-11-stable/sys/boot/efi/loader/framebuffer.c
/freebsd-11-stable/sys/boot/efi/loader/framebuffer.h
/freebsd-11-stable/sys/boot/fdt.mk
/freebsd-11-stable/sys/boot/fdt/Makefile
/freebsd-11-stable/sys/boot/ficl.mk
/freebsd-11-stable/sys/boot/ficl/Makefile
/freebsd-11-stable/sys/boot/ficl32/Makefile
/freebsd-11-stable/sys/boot/forth/Makefile
/freebsd-11-stable/sys/boot/forth/Makefile.inc
/freebsd-11-stable/sys/boot/forth/loader.conf
/freebsd-11-stable/sys/boot/geli/Makefile
/freebsd-11-stable/sys/boot/i386/Makefile
/freebsd-11-stable/sys/boot/i386/Makefile.inc
/freebsd-11-stable/sys/boot/i386/boot0/Makefile
/freebsd-11-stable/sys/boot/i386/boot2/Makefile
/freebsd-11-stable/sys/boot/i386/btx/btx/Makefile
/freebsd-11-stable/sys/boot/i386/btx/btxldr/Makefile
/freebsd-11-stable/sys/boot/i386/btx/lib/Makefile
/freebsd-11-stable/sys/boot/i386/cdboot/Makefile
/freebsd-11-stable/sys/boot/i386/gptboot/Makefile
/freebsd-11-stable/sys/boot/i386/gptzfsboot/Makefile
/freebsd-11-stable/sys/boot/i386/kgzldr/Makefile
/freebsd-11-stable/sys/boot/i386/libfirewire/Makefile
/freebsd-11-stable/sys/boot/i386/libi386/Makefile
/freebsd-11-stable/sys/boot/i386/loader/Makefile
/freebsd-11-stable/sys/boot/i386/mbr/Makefile
/freebsd-11-stable/sys/boot/i386/pmbr/Makefile
/freebsd-11-stable/sys/boot/i386/pxeldr/Makefile
/freebsd-11-stable/sys/boot/i386/zfsboot/Makefile
/freebsd-11-stable/sys/boot/i386/zfsloader/Makefile
/freebsd-11-stable/sys/boot/libsa/Makefile
/freebsd-11-stable/sys/boot/libsa/ip.c
/freebsd-11-stable/sys/boot/libsa32/Makefile
/freebsd-11-stable/sys/boot/loader.mk
/freebsd-11-stable/sys/boot/man/Makefile
/freebsd-11-stable/sys/boot/mips/beri/Makefile.inc
/freebsd-11-stable/sys/boot/mips/beri/boot2/Makefile
/freebsd-11-stable/sys/boot/mips/beri/loader/Makefile
/freebsd-11-stable/sys/boot/mips/uboot/Makefile
/freebsd-11-stable/sys/boot/ofw/Makefile.inc
/freebsd-11-stable/sys/boot/ofw/libofw/Makefile
/freebsd-11-stable/sys/boot/powerpc/Makefile
/freebsd-11-stable/sys/boot/powerpc/Makefile.inc
/freebsd-11-stable/sys/boot/powerpc/boot1.chrp/Makefile
/freebsd-11-stable/sys/boot/powerpc/kboot/Makefile
/freebsd-11-stable/sys/boot/powerpc/kboot/help.kboot
/freebsd-11-stable/sys/boot/powerpc/ofw/Makefile
/freebsd-11-stable/sys/boot/powerpc/ofw/help.ofw
/freebsd-11-stable/sys/boot/powerpc/ps3/Makefile
/freebsd-11-stable/sys/boot/powerpc/ps3/help.ps3
/freebsd-11-stable/sys/boot/powerpc/uboot/Makefile
/freebsd-11-stable/sys/boot/powerpc/uboot/help.uboot
/freebsd-11-stable/sys/boot/sparc64/Makefile
/freebsd-11-stable/sys/boot/sparc64/Makefile.inc
/freebsd-11-stable/sys/boot/sparc64/boot1/Makefile
/freebsd-11-stable/sys/boot/sparc64/loader/Makefile
/freebsd-11-stable/sys/boot/sparc64/zfsloader/Makefile
/freebsd-11-stable/sys/boot/uboot.mk
/freebsd-11-stable/sys/boot/uboot/Makefile
/freebsd-11-stable/sys/boot/uboot/Makefile.inc
/freebsd-11-stable/sys/boot/uboot/common/Makefile.inc
/freebsd-11-stable/sys/boot/uboot/fdt/Makefile
/freebsd-11-stable/sys/boot/uboot/lib/Makefile
/freebsd-11-stable/sys/boot/userboot/Makefile
/freebsd-11-stable/sys/boot/userboot/ficl/Makefile
/freebsd-11-stable/sys/boot/userboot/ficl/Makefile.depend
/freebsd-11-stable/sys/boot/userboot/test/Makefile
/freebsd-11-stable/sys/boot/userboot/test/test.c
/freebsd-11-stable/sys/boot/userboot/userboot/Makefile
/freebsd-11-stable/sys/boot/userboot/zfs/Makefile
/freebsd-11-stable/sys/boot/userboot/zfs/Makefile.depend
/freebsd-11-stable/sys/boot/zfs/Makefile
/freebsd-11-stable/sys/boot/zfs/zfs.c
/freebsd-11-stable/sys/boot/zfs32
/freebsd-11-stable/sys/boot/zfs32/Makefile
/freebsd-11-stable/tools/boot/universe.sh
/freebsd-11-stable/tools/build/options/WITHOUT_LOADER_GEIL
/freebsd-11-stable/tools/build/options/WITH_LOADER_FIREWIRE
329136 11-Feb-2018 kevans

MFC r324648: Rename top level Makefile.ficl to ficl.mk.

329011 08-Feb-2018 kevans

MFC r307322,r307323,r307324,r307326,r307327,r307338,r307879,r307908,r307911,
r307942,r307950,r307951,r307954,r307955,r308125,r308195,r308476,r308534,
r308535,r308776,r308843,r310236,r310726: Loader fixes, 2016q4

r307322: Remove /boot/boot.conf, deprecated for 16 years

r307323: Remove fetching of pInterp.

r307324: Create a new linker set, Xficl_compile_set which contains a list of
functions to call to register new forth words.

r307326: In UEFI mode expose the SMBIOS anchor base address via kenv

r307327: Update i386 build of loader.efi (but leave it disabled) so that we
at least build it now.

r307338: Create a pcibios-version environment FORTH word.

r307879: Preliminary support for EFI in boot loader.

r307908: Fix the build on both arm64 and when WITHOUT_FORTH is defined.

r307911: Add better comment...

r307942: Really make WITHOUT_FORTH (MK_FORTH==no) work.

r307950: Add it (Makefile.ficl) to the right place

r307951: Fix two backwards tests.

r307954: Back out the move to the loader script from -N.

r307955: LIBSTAND goes last, so put it last here too.

r308125: In loader.efi, instead of exiting directly, try to fallback.

r308195: efinet_dev_print should honor verbose option.

r308476: boot/forth spelling issue in forth word

r308534: The file_loadraw function grew an argument, update install function

r308535: Add support for LOADER_RC setting in the pkgfs manifes

r308776: loader: zfs toplevel vdev must have spa set.

r308843: loader: smbios version check is not correct

r310236: Renumber license clauses to avoid skipping #3

r310726: cdboot: add explict suffix to ambiguous or instruction

PR: 214375


/freebsd-11-stable/sys/boot/Makefile.ficl
/freebsd-11-stable/sys/boot/common/Makefile.inc
/freebsd-11-stable/sys/boot/common/bootstrap.h
/freebsd-11-stable/sys/boot/common/install.c
/freebsd-11-stable/sys/boot/common/interp.c
/freebsd-11-stable/sys/boot/common/interp_forth.c
/freebsd-11-stable/sys/boot/common/loader.8
/freebsd-11-stable/sys/boot/common/newvers.sh
/freebsd-11-stable/sys/boot/common/pnp.c
/freebsd-11-stable/sys/boot/efi/libefi/Makefile
/freebsd-11-stable/sys/boot/efi/libefi/efinet.c
/freebsd-11-stable/sys/boot/efi/libefi/env.c
/freebsd-11-stable/sys/boot/efi/loader/Makefile
/freebsd-11-stable/sys/boot/efi/loader/arch/amd64/ldscript.amd64
/freebsd-11-stable/sys/boot/efi/loader/arch/arm/ldscript.arm
/freebsd-11-stable/sys/boot/efi/loader/arch/arm64/ldscript.arm64
/freebsd-11-stable/sys/boot/efi/loader/arch/i386/efimd.c
/freebsd-11-stable/sys/boot/efi/loader/arch/i386/elf32_freebsd.c
/freebsd-11-stable/sys/boot/efi/loader/arch/i386/exec.c
/freebsd-11-stable/sys/boot/efi/loader/arch/i386/ldscript.i386
/freebsd-11-stable/sys/boot/efi/loader/main.c
/freebsd-11-stable/sys/boot/ficl/Makefile
/freebsd-11-stable/sys/boot/ficl/efi.c
/freebsd-11-stable/sys/boot/ficl/ficl.h
/freebsd-11-stable/sys/boot/ficl/i386/sysdep.c
/freebsd-11-stable/sys/boot/ficl/loader.c
/freebsd-11-stable/sys/boot/ficl32/Makefile
/freebsd-11-stable/sys/boot/forth/Makefile.inc
/freebsd-11-stable/sys/boot/forth/efi.4th
/freebsd-11-stable/sys/boot/forth/loader.4th
/freebsd-11-stable/sys/boot/forth/support.4th
/freebsd-11-stable/sys/boot/i386/Makefile.inc
/freebsd-11-stable/sys/boot/i386/cdboot/cdboot.S
/freebsd-11-stable/sys/boot/i386/gptboot/Makefile
/freebsd-11-stable/sys/boot/i386/gptzfsboot/Makefile
/freebsd-11-stable/sys/boot/i386/libi386/Makefile
/freebsd-11-stable/sys/boot/i386/libi386/biospci.c
/freebsd-11-stable/sys/boot/i386/libi386/libi386.h
/freebsd-11-stable/sys/boot/i386/libi386/smbios.c
/freebsd-11-stable/sys/boot/i386/loader/Makefile
/freebsd-11-stable/sys/boot/mips/beri/loader/loader.ldscript
/freebsd-11-stable/sys/boot/pc98/libpc98/Makefile
/freebsd-11-stable/sys/boot/zfs/zfsimpl.c
/freebsd-11-stable/targets/pseudo/userland/misc/Makefile.depend
315221 14-Mar-2017 pfg

MFC r313982, r314068:
sys: Replace zero with NULL for pointers.

Found with: devel/coccinelle


/freebsd-11-stable/sys/amd64/amd64/db_disasm.c
/freebsd-11-stable/sys/amd64/amd64/pmap.c
/freebsd-11-stable/sys/boot/common/md.c
/freebsd-11-stable/sys/boot/efi/libefi/efinet.c
/freebsd-11-stable/sys/boot/fdt/fdt_overlay.c
/freebsd-11-stable/sys/boot/ficl/ficl.c
/freebsd-11-stable/sys/boot/kshim/bsd_kernel.c
/freebsd-11-stable/sys/boot/ofw/libofw/ofw_memory.c
/freebsd-11-stable/sys/boot/sparc64/loader/main.c
/freebsd-11-stable/sys/boot/userboot/userboot/userboot_disk.c
/freebsd-11-stable/sys/boot/zfs/zfs.c
/freebsd-11-stable/sys/boot/zfs/zfsimpl.c
/freebsd-11-stable/sys/dev/agp/agp.c
/freebsd-11-stable/sys/dev/an/if_an.c
/freebsd-11-stable/sys/dev/arcmsr/arcmsr.c
/freebsd-11-stable/sys/dev/bce/if_bce.c
/freebsd-11-stable/sys/dev/beri/virtio/virtio_block.c
/freebsd-11-stable/sys/dev/buslogic/bt_pci.c
/freebsd-11-stable/sys/dev/ce/if_ce.c
/freebsd-11-stable/sys/dev/cm/smc90cx6.c
/freebsd-11-stable/sys/dev/cp/if_cp.c
/freebsd-11-stable/sys/dev/ctau/ctddk.c
/freebsd-11-stable/sys/dev/ctau/if_ct.c
/freebsd-11-stable/sys/dev/cx/cxddk.c
/freebsd-11-stable/sys/dev/cx/if_cx.c
/freebsd-11-stable/sys/dev/de/if_de.c
/freebsd-11-stable/sys/dev/ed/if_ed.c
/freebsd-11-stable/sys/dev/fatm/if_fatm.c
/freebsd-11-stable/sys/dev/fe/if_fe.c
/freebsd-11-stable/sys/dev/firewire/if_fwip.c
/freebsd-11-stable/sys/dev/hptiop/hptiop.c
/freebsd-11-stable/sys/dev/hptmv/entry.c
/freebsd-11-stable/sys/dev/hptmv/gui_lib.c
/freebsd-11-stable/sys/dev/hptmv/hptproc.c
/freebsd-11-stable/sys/dev/hptmv/ioctl.c
/freebsd-11-stable/sys/dev/iicbus/if_ic.c
/freebsd-11-stable/sys/dev/isp/isp_pci.c
/freebsd-11-stable/sys/dev/le/am7990.c
/freebsd-11-stable/sys/dev/le/am79900.c
/freebsd-11-stable/sys/dev/le/lance.c
/freebsd-11-stable/sys/dev/md/md.c
/freebsd-11-stable/sys/dev/ncr/ncr.c
/freebsd-11-stable/sys/dev/ofw/ofw_bus_subr.c
/freebsd-11-stable/sys/dev/patm/if_patm_tx.c
/freebsd-11-stable/sys/dev/pccard/pccard.c
/freebsd-11-stable/sys/dev/pms/RefTisa/sallsdk/spc/sainit.c
/freebsd-11-stable/sys/dev/pms/RefTisa/tisa/sassata/common/tdioctl.c
/freebsd-11-stable/sys/dev/pms/freebsd/driver/ini/src/agtiapi.c
/freebsd-11-stable/sys/dev/ppbus/if_plip.c
/freebsd-11-stable/sys/dev/ppbus/ppbconf.c
/freebsd-11-stable/sys/dev/ppc/ppc.c
/freebsd-11-stable/sys/dev/sbni/if_sbni_isa.c
/freebsd-11-stable/sys/dev/sn/if_sn.c
/freebsd-11-stable/sys/dev/sym/sym_hipd.c
/freebsd-11-stable/sys/dev/vx/if_vx.c
/freebsd-11-stable/sys/libkern/iconv_xlat16.c
/freebsd-11-stable/sys/net/if_fddisubr.c
/freebsd-11-stable/sys/net/if_iso88025subr.c
/freebsd-11-stable/sys/net/iflib.c
/freebsd-11-stable/sys/netpfil/ipfw/ip_fw_sockopt.c
302408 08-Jul-2016 gjb

Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, as nothing has been merged
here.

Additional commits post-branch will follow.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


/freebsd-11-stable/MAINTAINERS
/freebsd-11-stable/cddl
/freebsd-11-stable/cddl/contrib/opensolaris
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/zfs
/freebsd-11-stable/cddl/contrib/opensolaris/lib/libzfs
/freebsd-11-stable/contrib/amd
/freebsd-11-stable/contrib/apr
/freebsd-11-stable/contrib/apr-util
/freebsd-11-stable/contrib/atf
/freebsd-11-stable/contrib/binutils
/freebsd-11-stable/contrib/bmake
/freebsd-11-stable/contrib/byacc
/freebsd-11-stable/contrib/bzip2
/freebsd-11-stable/contrib/com_err
/freebsd-11-stable/contrib/compiler-rt
/freebsd-11-stable/contrib/dialog
/freebsd-11-stable/contrib/dma
/freebsd-11-stable/contrib/dtc
/freebsd-11-stable/contrib/ee
/freebsd-11-stable/contrib/elftoolchain
/freebsd-11-stable/contrib/elftoolchain/ar
/freebsd-11-stable/contrib/elftoolchain/brandelf
/freebsd-11-stable/contrib/elftoolchain/elfdump
/freebsd-11-stable/contrib/expat
/freebsd-11-stable/contrib/file
/freebsd-11-stable/contrib/gcc
/freebsd-11-stable/contrib/gcclibs/libgomp
/freebsd-11-stable/contrib/gdb
/freebsd-11-stable/contrib/gdtoa
/freebsd-11-stable/contrib/groff
/freebsd-11-stable/contrib/ipfilter
/freebsd-11-stable/contrib/ldns
/freebsd-11-stable/contrib/ldns-host
/freebsd-11-stable/contrib/less
/freebsd-11-stable/contrib/libarchive
/freebsd-11-stable/contrib/libarchive/cpio
/freebsd-11-stable/contrib/libarchive/libarchive
/freebsd-11-stable/contrib/libarchive/libarchive_fe
/freebsd-11-stable/contrib/libarchive/tar
/freebsd-11-stable/contrib/libc++
/freebsd-11-stable/contrib/libc-vis
/freebsd-11-stable/contrib/libcxxrt
/freebsd-11-stable/contrib/libexecinfo
/freebsd-11-stable/contrib/libpcap
/freebsd-11-stable/contrib/libstdc++
/freebsd-11-stable/contrib/libucl
/freebsd-11-stable/contrib/libxo
/freebsd-11-stable/contrib/llvm
/freebsd-11-stable/contrib/llvm/projects/libunwind
/freebsd-11-stable/contrib/llvm/tools/clang
/freebsd-11-stable/contrib/llvm/tools/lldb
/freebsd-11-stable/contrib/llvm/tools/llvm-dwarfdump
/freebsd-11-stable/contrib/llvm/tools/llvm-lto
/freebsd-11-stable/contrib/mdocml
/freebsd-11-stable/contrib/mtree
/freebsd-11-stable/contrib/ncurses
/freebsd-11-stable/contrib/netcat
/freebsd-11-stable/contrib/ntp
/freebsd-11-stable/contrib/nvi
/freebsd-11-stable/contrib/one-true-awk
/freebsd-11-stable/contrib/openbsm
/freebsd-11-stable/contrib/openpam
/freebsd-11-stable/contrib/openresolv
/freebsd-11-stable/contrib/pf
/freebsd-11-stable/contrib/sendmail
/freebsd-11-stable/contrib/serf
/freebsd-11-stable/contrib/sqlite3
/freebsd-11-stable/contrib/subversion
/freebsd-11-stable/contrib/tcpdump
/freebsd-11-stable/contrib/tcsh
/freebsd-11-stable/contrib/tnftp
/freebsd-11-stable/contrib/top
/freebsd-11-stable/contrib/top/install-sh
/freebsd-11-stable/contrib/tzcode/stdtime
/freebsd-11-stable/contrib/tzcode/zic
/freebsd-11-stable/contrib/tzdata
/freebsd-11-stable/contrib/unbound
/freebsd-11-stable/contrib/vis
/freebsd-11-stable/contrib/wpa
/freebsd-11-stable/contrib/xz
/freebsd-11-stable/crypto/heimdal
/freebsd-11-stable/crypto/openssh
/freebsd-11-stable/crypto/openssl
/freebsd-11-stable/gnu/lib
/freebsd-11-stable/gnu/usr.bin/binutils
/freebsd-11-stable/gnu/usr.bin/cc/cc_tools
/freebsd-11-stable/gnu/usr.bin/gdb
/freebsd-11-stable/lib/libc/locale/ascii.c
/freebsd-11-stable/sys/cddl/contrib/opensolaris
/freebsd-11-stable/sys/contrib/dev/acpica
/freebsd-11-stable/sys/contrib/ipfilter
/freebsd-11-stable/sys/contrib/libfdt
/freebsd-11-stable/sys/contrib/octeon-sdk
/freebsd-11-stable/sys/contrib/x86emu
/freebsd-11-stable/sys/contrib/xz-embedded
/freebsd-11-stable/usr.sbin/bhyve/atkbdc.h
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.c
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.h
/freebsd-11-stable/usr.sbin/bhyve/console.c
/freebsd-11-stable/usr.sbin/bhyve/console.h
/freebsd-11-stable/usr.sbin/bhyve/pci_fbuf.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.h
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.c
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.h
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.c
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.h
/freebsd-11-stable/usr.sbin/bhyve/rfb.c
/freebsd-11-stable/usr.sbin/bhyve/rfb.h
/freebsd-11-stable/usr.sbin/bhyve/sockstream.c
/freebsd-11-stable/usr.sbin/bhyve/sockstream.h
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.c
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.h
/freebsd-11-stable/usr.sbin/bhyve/usb_mouse.c
/freebsd-11-stable/usr.sbin/bhyve/vga.c
/freebsd-11-stable/usr.sbin/bhyve/vga.h
300081 17-May-2016 imp

Implement UEFI set environment variable, as well as exporting the EFI
version. This is also scriptable, though additional scripting will be
needed.

Differential Review: https://reviews.freebsd.org/D4494
MFC After: 3 days


300080 17-May-2016 imp

Implement uuid-to-string and uuid-from-string. uuid-from-string takes
a string, interprets it as a standard UUID, and returns a binary from
of the UUID. uuid-to-string does the reverse. The binary UUID is in
allocated memory, so you'll need to free it with 'free' after you are
done using it. It won't be automatically garbage collected. Likewise
with the string...

MFC After: 3 days


300055 17-May-2016 imp

Minor space tweak to make things consistent.

MFC After: 3 days


296706 11-Mar-2016 bdrewery

Add more .NOMETA missed in r291320

Sponsored by: EMC / Isilon Storage Division


296079 26-Feb-2016 sgalabov

Currently BERI's loader is including the 32-bit version of the FICL MIPS sysdep.h (sys/boot/ficl/mips/sysdep.h) instead of the 64-bit version (sys/boot/ficl/mips64/sysdep.h).

Although this may not be an issue in practice, it would be more correct if the 64-bit version was used. Also, using the 64-bit version would make it easier to add support for 64-bit ubldr on MIPS.

Approved by: adrian (mentor)
Differential Revision: https://reviews.freebsd.org/D5310


295989 24-Feb-2016 bdrewery

DIRDEPS_BUILD: Regenerate without local dependencies.

These are no longer needed after the recent 'beforebuild: depend' changes
and hooking DIRDEPS_BUILD into a subset of FAST_DEPEND which supports
skipping 'make depend'.

Sponsored by: EMC / Isilon Storage Division


295410 08-Feb-2016 pfg

ficl: Replace rand(3) with random(3).

Be a little more consistent with random(3) and push an
unsigned value.

Again, this has no effect as this code doesn't get compiled
for the boot code.


295409 08-Feb-2016 pfg

ficl: Replace rand(3) with random(3).

While the later is a better random generator than the former, the main
reason of the change is that random() has a better chance to work with
libstand(3).

At this time we don't include random number generators in bootforth
so this has no effect.


295041 29-Jan-2016 br

Welcome the RISC-V 64-bit kernel.

This is the final step required allowing to compile and to run RISC-V
kernel and userland from HEAD.

RISC-V is a completely open ISA that is freely available to academia
and industry.

Thanks to all the people involved! Special thanks to Andrew Turner,
David Chisnall, Ed Maste, Konstantin Belousov, John Baldwin and
Arun Thomas for their help.
Thanks to Robert Watson for organizing this project.

This project sponsored by UK Higher Education Innovation Fund (HEIF5) and
DARPA CTSRD project at the University of Cambridge Computer Laboratory.

FreeBSD/RISC-V project home: https://wiki.freebsd.org/riscv

Reviewed by: andrew, emaste, kib
Relnotes: Yes
Sponsored by: DARPA, AFRL
Sponsored by: HEIF5
Differential Revision: https://reviews.freebsd.org/D4982


294926 27-Jan-2016 allanjude

ficl on i386 should cast to unsigned char output to support efi i386

make it possible for efi_console to recognize and translate box characters
on i386 build (unsigned versus signed char passed as int issue).

Submitted by: Toomas Soome <tsoome at me.com>
Reviewed by: emaste, smh, dteske
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D4993


293233 06-Jan-2016 emaste

loader.efi: add terminal emulation support

This is based on the vidconsole implementation.

Submitted by: Toomas Soome <tsoome@me.com>
Reviewed by: adrian
MFC after: 2 weeks
Relnotes: Yes
Differential Revision: https://reviews.freebsd.org/D4797


288228 25-Sep-2015 bdrewery

META_MODE: Remove DEP_MACHINE from Makefile.depend files.

This has not been needed since r246865 in projects/bmake.

Sponsored by: EMC / Isilon Storage Division


288226 25-Sep-2015 bdrewery

META_MODE: Remove DEP_RELDIR from Makefile.depend files.

This has not been needed since r284171 in projects/bmake.

Sponsored by: EMC / Isilon Storage Division


287227 27-Aug-2015 imp

Use CFLAGS_NO_SIMD in preference to varying lists of -mno-xxxx flags.
Go ahead and defined -D_STANDALONE for all targets (only strictly
needed for some architecture, but harmless on those it isn't required
for). Also add -msoft-float to all architectures uniformly rather
that higgley piggley like it is today.

Differential Revision: https://reviews.freebsd.org/D3496


284345 13-Jun-2015 sjg

Add META_MODE support.

Off by default, build behaves normally.
WITH_META_MODE we get auto objdir creation, the ability to
start build from anywhere in the tree.

Still need to add real targets under targets/ to build packages.

Differential Revision: D2796
Reviewed by: brooks imp


284142 08-Jun-2015 araujo

Revert my previoius commit as it explicit pollute the ficl on other
architectures. It will be reworked by GSoC students.

Requested by: ngie, bms and pfg.


284116 07-Jun-2015 araujo

Include header libi386.h to silence the clang warning of implicit declaration
of functions biospci_*.

Differential Revision: D2668
Reviewed by: rodrigc


281297 09-Apr-2015 andrew

Add the arm64 machine dependent parts of ficl. This is not machine
dependent, as most copies of these files are identical, but unfortunately
this is still needed.

Sponsored by: The FreeBSD Foundation


279949 13-Mar-2015 jhb

The System V ABI for amd64 allows functions to use space in a 128 byte
redzone below the stack pointer for scratch space and requires
interrupt and signal frames to avoid overwriting it. However, EFI uses
the Windows ABI which does not support this. As a result, interrupt
handlers in EFI push their interrupt frames directly on top of the
stack pointer. If the compiler used the red zone in a function in the
EFI loader, then a device interrupt that occurred while that function
was running could trash its local variables. In practice this happens
fairly reliable when using gzipfs as an interrupt during decompression
can trash the local variables in the inflate_table() function
resulting in corrupted output or hangs.

Fix this by disabling the redzone for amd64 EFI binaries. This
requires building not only the loader but any libraries used by the
loader without redzone support.

Thanks to Jilles for pointing me at the redzone once I found the stack
corruption.

Differential Revision: https://reviews.freebsd.org/D2054
Reviewed by: imp
MFC after: 2 weeks
Sponsored by: Cisco Systems, Inc.


274528 14-Nov-2014 imp

Cleanup trailing newlines noticed while looking for other issues.


271406 10-Sep-2014 imp

Add support for calling pcibios routines from the
bootloader. Implement the following routines:
pcibios-device-count count the number of instances of a devid
pcibios-read-config read pci config space
pcibios-write-config write pci config space
pcibios-find-devclass find the nth device with a given devclass
pcibios-find-device find the nth device with a given devid
pcibios-locator convert bus device function ti pcibios locator
These commands are thin wrappers over their PCI BIOS 2.1 counterparts. More
informaiton, such as it is, can be found in the standard.

Export a nunmber of pcibios.X variables into the environment to report
what the PCI IDENTIFY command returned.

Also implmenet a new command line primitive (pci-device-count), but don't
include it by default just yet, since it depends on the recently added
words and any errors here can render a system unbootable.

This is intended to allow the boot loader to do special things based
on the hardware it finds. This could be have special settings that are
optimized for the specific cards, or even loading special drivers. It
goes without saying that writing to pci config space should not be
done without a just cause and a sound mind.

Sponsored by: Netflix


268351 07-Jul-2014 marcel

Remove ia64.

This includes:
o All directories named *ia64*
o All files named *ia64*
o All ia64-specific code guarded by __ia64__
o All ia64-specific makefile logic
o Mention of ia64 in comments and documentation

This excludes:
o Everything under contrib/
o Everything under crypto/
o sys/xen/interface
o sys/sys/elf_common.h

Discussed at: BSDcan


264262 08-Apr-2014 emaste

Fix printf args for 64-bit archs

Sponsored by: The FreeBSD Foundation


264261 08-Apr-2014 emaste

Correct a variable's type for 64-bit Ficl

FICL_INT is long.


264199 06-Apr-2014 imp

Fix the mips64el build: mips64el should use the mips64 directory, not the mips64el directory.


264087 03-Apr-2014 emaste

Build boot/ficl as 64-bit library on amd64

The 32-bit bootloaders on amd64 now use the 32-bit version in ficl32,
as is done with libstand32. The native 64-bit ficl will be used by the
upcoming UEFI loader.

Sponsored by: The FreeBSD Foundation


262453 24-Feb-2014 rwatson

Build FICL support into little-endian 64-bit MIPS boot-loader fragments;
while this won't actually be used for anything (yet), it doesn't hurt to
ensure it is exposed to the tinderbox.

Requested by: imp, jmallett
MFC after: 3 weeks


262402 23-Feb-2014 rwatson

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


259913 26-Dec-2013 dim

For libstand and sys/boot, split off gcc-only flags into CFLAGS.gcc.

MFC after: 3 days
X-MFC-With: r259730


254155 09-Aug-2013 marcel

Fix the freaddir implementation for the stand-alone interpreter.

Bug pointed out by: Jan Beich <jbeich@tormail.org>


253862 01-Aug-2013 marcel

Fix the build of the testmain target. This target compiles a Forth
interpreter that can be run on the system and as such cannot be
compiled against libbstand. On the one hand this means we need to
include the usual headers for system interfaces that we use and
on the the other hand we can only use standard system interfaces.

While here, define local variables only when needed to make this
WARNS=2 clean on amd64.

PR: 172542
Obtained from: peterj@
Pointed out by: Jan Beich <jbeich@tormail.org>


253172 10-Jul-2013 marcel

Add 2 builtin words for working with directories:
isdir? ( fd -- bool )
freaddir ( fd -- ptr len TRUE | FALSE )

The 'isdir?' word returns `true' if the file descriptor is for a
directory and `false' otherwise.

The 'freaddir' word reads the next directory entry and if successful,
returns its name and 'true'. Otherwise 'false' is returned.

These words give the loader the ability to scan directories and read
files contained in them for 'rc.d'-like flexibility in handling which
modules to load and/or which tunables to set.

Obtained from: Juniper Networks, Inc.


249223 07-Apr-2013 kientzle

The CELL fields can be various integer types depending on the platform
(ARM uses 'int' and 'unsigned'; i386 uses 'long' and 'unsigned long'),
so we need explicit casts to long and unsigned long here to ensure
that the result matches the printf %ld and %lx specifiers.


249222 07-Apr-2013 kientzle

Fix two broken macros.


244531 21-Dec-2012 rpaulo

Build a 64 bit version of the FICL library. This is need for a 64 bit
EFI bootloader (amd64 only for now).

This is not yet connected to the build.


241785 20-Oct-2012 avg

boot: use -march=i386 for both i386 and amd64 builds

.. so that consistent compilation algorithms are used for both
architectures as in practice the binaries are expected to be
interchangeable (for time being).
Previously i386 used default setting which were equivalent to
-march=i486 -mtune=generic.
The only difference is using smaller but slower "leave" instructions.

Discussed with: jhb, dim
MFC after: 29 days


238795 26-Jul-2012 ache

Try to avoid all files dependence on the modification time of the large and
often modified directory created symbolic links points to - it cause
unnecessary full rebuilds each time make runs when directory is changed.
So do it only if symbolic link does not exists, which usually means that
objdir is clean anyway.

MFC after: 1 week


231042 05-Feb-2012 rpaulo

Fix clang warnings.


223695 30-Jun-2011 dfr

Add a version of the FreeBSD bootloader which can run in userland, packaged
as a shared library. This is intended to be used by BHyVe to load FreeBSD
kernels into new virtual machines.


218909 21-Feb-2011 brucec

Fix typos - remove duplicate "the".

PR: bin/154928
Submitted by: Eitan Adler <lists at eitanadler.com>
MFC after: 3 days


217033 05-Jan-2011 dim

On i386 and amd64, consistently use the following options whenever we
want to avoid using any "advanced" CPU features:

-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float


217030 05-Jan-2011 dim

Remove an empty .if/.endif pair from sys/boot/ficl/Makefile that I
forgot to cleanup in the last commit.


217029 05-Jan-2011 dim

In lib/libstand, sys/boot/ficl and sys/boot/zfs, -mno-sse3 should also
be used for amd64, not just for i386.


211678 23-Aug-2010 imp

MF tbemd: Minor tweaks, prefer MACHINE_CPUARCH generally to MACHINE_ARCH (which simplifies some powerpc/powerpc64 ifs)


209920 12-Jul-2010 nwhitehorn

Provide support in loader for booting 64-bit PowerPC kernels. Like amd64,
64-bit PowerPC kernels are loaded by a 32-bit loader, since nearly all
powerpc64 firmwares execute in 32-bit mode.


209361 20-Jun-2010 brian

Add a missing prototype

PR: 145232
Submitted by: gcooper
MFC after: 1 week


188824 19-Feb-2009 imp

Add basic mips support. This has been compile tested only.


183878 14-Oct-2008 raj

Initial support of loader(8) for ARM machines running U-Boot.

This uses the common U-Boot support lib (sys/boot/uboot, already used on
FreeBSD/powerpc), and assumes the underlying firmware has the modern API for
stand-alone apps enabled in the config (CONFIG_API).

Only netbooting is supported at the moment.

Obtained from: Marvell, Semihalf


172664 15-Oct-2007 nyan

Optimize for size on pc98. It enables to boot a kernel again.

I don't know what's wrong (loader, boot2 or others), but this change is
effective.

Tested by: NAKAJI Hiroyuki
MFC after: 3 days


167850 23-Mar-2007 jkim

Update to FICL 3.03 (the last release before FICL4 rewrite).

The relevant changes for FreeBSD (excerpt from the release note):

* Newly implemented CORE EXT words: CASE, OF, ENDOF, and ENDCASE. Also
added FALLTHROUGH, which works like ENDOF but jumps to the instruction
just after the next OF.
* Bugfix: John-Hopkins locals syntax now accepts | and -- in the comment
(between the first -- and the }.)
* Bugfix: Changed vmGetWord0() to make Purify happier. The resulting
code is no slower, no larger, and slightly more robust.


162717 28-Sep-2006 ru

Add -march=i386 to fix amd64 build by generating the same code
as i386 would do.


161454 18-Aug-2006 imp

Copy powerpc ficl files sysdep files (maybe we need a common one)


158466 12-May-2006 jhb

Remove Alpha bits for ficl.


148046 15-Jul-2005 ache

Add -mno-sse3 for prescott/nocona


146828 31-May-2005 obrien

Ensure GCC does not use FP registers in integer code.
I really don't like cluttering up the compiler invocation,
but this bigger hammer will fix reported problems for now.


138223 30-Nov-2004 scottl

Instead of just not defining a bunch of words when TESTMAIN is set, provide
stubs that at least handle the stack correctly. This makes it much easier to
experiment with loader scripts from userland.


136910 24-Oct-2004 ru

For variables that are only checked with defined(), don't provide
any fake value.


134148 22-Aug-2004 marcel

Part 2 of fixing the boot code: gcc 3.4 fixes.

The whole problem seems to be size. Which is odd, because it is said
that size doesn't matter. Anyway... Add -Os to strategic places in the
makefile to have the final loader be as mall as possible. This seems
to be enough to make it work. For now... I think something is more
fundamentally wrong; or something more fundamental is wrong. Potato,
potaato.


125556 07-Feb-2004 ru

Untangle building of AMD64 boot code.

Tested on: amd64 (sledge)


123374 10-Dec-2003 grehan

Disable floating point on PowerPC for the ficl library.


123373 10-Dec-2003 grehan

Define 'arch-powerpc'


123372 10-Dec-2003 grehan

FICL system-dependent files for powerpc. Taken from the i386 versions,
which were the most relevant.


117081 30-Jun-2003 ru

bsd.lib.mk,v 1.143 no longer uses ld(1) directly to strip
symbols from intermediate object files, so these hacks to
get AMD64 compile are no longer needed.

Tested on: sledge.FreeBSD.org


116864 26-Jun-2003 peter

Build on amd64. Yes, I know this isn't particularly nice.


116000 08-Jun-2003 nyan

Set arch-pc98 env to true for pc98.


108470 30-Dec-2002 schweikh

Fix typos, mostly s/ an / a / where appropriate and a few s/an/and/
Add FreeBSD Id tag where missing.


102657 31-Aug-2002 scottl

Make ficl work on sparc64. The assumption that int == long == void * is
very pervasive in this code. This fixes a few of those assumptions and
band-aids over some others.

Tested on: ia32 alpha sparc64

Reviewed by: peter jake (in concept)


102215 21-Aug-2002 scottl

Fix for stand-alone compiling

Reviewed by: mini


96962 19-May-2002 jake

MD ficl files for sparc64.


96755 16-May-2002 trhodes

More s/file system/filesystem/g


96513 13-May-2002 ru

Removed now unused INTERNALSTATICLIB.
INTERNALLIB now implies NOPIC and NOPROFILE.
Removed gratuitous NOMAN.


96455 12-May-2002 obrien

Back out last commit. I expect our bsd.*.mk gods to remove the need for
defining so many extra things in addition to INTERNALLIB. We don't like
repetitive C code and we shouldn't for make code either.


96415 11-May-2002 obrien

NOPIC, NOPROFILE, NOMAN, and INTERNALSTATICLIB are redundant when using
INTERNALLIB now.


96342 10-May-2002 obrien

-ffreestanding is the word.
(also resort some CFLAGS such that the more "important" value are first so
they are easier to see)


96261 09-May-2002 obrien

Partical style cleanup.


94290 09-Apr-2002 dcs

Upgrade to FICL version 3.02. Anything wrong is my fault, everything right is
due Jon Mini.

PR: 36308
Submitted by: Jon Mini <mini@haikugeek.com>
MFC after: 4 weeks


87636 11-Dec-2001 jhb

- Add 'fwrite' and 'fseek' words for writing to and seeking on files.
- Change the 'fopen' keyword to accept a mode parameter. Note that this
will break existing 4th scripts that use fopen. Thus, the loader
version has been bumped and loader.4th has been changed to check for a
sufficient version on i386 and alpha. Be sure that you either do a full
world build or install or full build and install of sys/boot after this
since loader.old won't work with the new 4th files and vice versa.

PR: kern/32389
Submitted by: Jonathan Mini <mini@haikugeek.com>
Sponsored by: ClickArray, Inc.


87265 03-Dec-2001 dcs

Remove unused filed.

PR: kern/32395
Submitted by: Jonathan Mini <mini@haikugeek.com>


85934 03-Nov-2001 obrien

Revert rev 1.7 which moved us away from POSIX character classes.
The community feels our base AWK must handle them.


85842 01-Nov-2001 obrien

Substitute "[:space:]" with the character constants it expands to.
This was a silent 'failure' when using Bell-Labs awk.

Submitted by: David Wolfskill <david@catwhisker.org>


82960 04-Sep-2001 dfr

Avoid an alignment fault on 64bit architectures.

Reviewed by: dcs


82941 04-Sep-2001 dfr

Add definition for arch-ia64.


82940 04-Sep-2001 dfr

Add ia64 system dependancies.


77443 29-May-2001 dcs

Turn dictthreshold and dictincrease into cell-sized variables, so
they can be used with cell operators like !.

As I did this, I noticed the whole CELL thing might have problems with
big endian architectures with sizeof(int)!=sizeof(void*).


77268 27-May-2001 dcs

As in with ":", check dictionary space and increase it if necessary before
"create".


76421 10-May-2001 dcs

FICL 2.05 has a flawed definition of BASE. Fix it.

Spotted by: Peter Jeremy <peter.jeremy@alcatel.com.au>


76116 29-Apr-2001 dcs

Bring in ficl 2.05.

This version has a step debugger, which now completely replaces the
old trace feature. Also, we moved all of the FreeBSD-specific MI
code to loader.c, reducing the diff between this and the official
FICL distribution.


73349 02-Mar-2001 ru

setlocale(3) has been fixed to match POSIX standard:
LC_ALL takes precedence over other LC_* envariables.


69430 01-Dec-2000 ache

Cosmetique: don't use localized `date`


68729 14-Nov-2000 obrien

Don't use the Gawkism strftime(). Pass in the date stamp on the awk
command line instead.

Approved by: dcs


65698 10-Sep-2000 dfr

Fix this so that we actually define HAVE_PNP when its available.


65677 10-Sep-2000 dfr

Only build PnP parts if the platform supports PnP.


65617 08-Sep-2000 dcs

Add the infrastructure necessary to handle PnP from a Forth script.

Also, export the file_findfile() function. Again, this is taken from
work in progress but frozen for the time being. Since it works, I'd
rather commit and remove any uglyness later than hide it on my tree.


64550 11-Aug-2000 peter

Add -mpreferred-stack-boundary=2 to CFLAGS for i386. This and libstand
reduces /boot/loader from 163840 bytes to 155648 and pxeboot from 165888
bytes to 157696 bytes.


61586 12-Jun-2000 dcs

Fix REFILL. It must throw RESTART instead of OUTOFTEXT so that
execution can take place at the point where it stopped after the
input buffer has been refilled.

Add ANS Forth CORE EXT and FILE word SOURCE-ID.


61584 12-Jun-2000 dcs

Make abort" functional in interpret mode. This behavior is undefined
by ANS Forth standard, but it's useful.

Also, define the constant true in a more strict way. C might garantee
2-complement math, but Forth doesn't.


61583 12-Jun-2000 dcs

Make comment reflect reality.


61374 07-Jun-2000 dcs

Add setenv, getenv, setenv?, unsetenv, copyin and copyout to FICL.


61372 07-Jun-2000 dcs

Remove a bug that caused local variables declarations in the format
{ | internal -- } to be rejected.


61182 02-Jun-2000 dcs

Apply a number of fixes for the Alpha platform.


61177 02-Jun-2000 dcs

Add something that was missing from the original 2.04 distribution.


61149 01-Jun-2000 dcs

Add "int" sized manipulation words.


60962 26-May-2000 dcs

Strip spaces and comments more agressively.


60959 26-May-2000 dcs

Bring in FICL 2.04. No bump of loader version is required by this
commit.


60480 12-May-2000 peter

Stop libficl from using floating point registers - this was cauing
dictDelete() to fault early on the Alpha and was the original cause of
the Alpha ficl failures.


60014 05-May-2000 dcs

Lay the groundwork for on-demand dictionary expansion.


60007 04-May-2000 dcs

Correct a bug whereby allocations to the dictionary would not be allowed
unless four times the space requested was available.


60000 04-May-2000 dcs

Add heap?, so we can tell how much free space we have left.


56719 28-Jan-2000 dcs

Implement a machine-independent (word size-independent) FICL_TRUE.


56718 28-Jan-2000 dcs

ANS Forth for logical not is 0=, not invert. Replace wrong usage.


56717 28-Jan-2000 dcs

Add testmain.o to CLEANFILES.


56716 28-Jan-2000 dcs

Try my hand again at removing ugly testmain target.


53777 27-Nov-1999 dcs

Zeroes structure before using it.


53636 23-Nov-1999 dcs

Revert ill-considered simplification in 1.13.

Pointed by: peter


53635 23-Nov-1999 dcs

Improve Makefile by using .PATH.

Taught by: peter


53634 23-Nov-1999 dcs

Improve on ficl port to alpha.

Files sysdep.[ch] are now in ${MACHINE_ARCH} subdirectory. Internal
#if's used to identify the platform where removed.

Make rule for target testmain was greatly simplified, because it was
easier simplifying it than changing it to support the new location of
sysdep.[ch].

(a repo-copy was done on sysdep.[ch], of course)


53633 23-Nov-1999 dcs

(Hopefully) make all necessary changes for ficl to support alpha.


51789 29-Sep-1999 dcs

Fix world-breaking bug, add $FreeBSD$ tag.

This happened to be my first "for real" broken world. I had broken
it once before, but nobody noticed, so it didn't count.

So, how do I get the "I broke world and all I got was the lousy t-shirt"
t-shirt?


51786 29-Sep-1999 dcs

Bring in ficl version 2.03. No version bump for loader.


50477 28-Aug-1999 peter

$Id$ -> $FreeBSD$


45355 06-Apr-1999 dcs

Reactivate trace! after making it egcs-friendly.


44839 17-Mar-1999 dcs

Disable trace! until it gets fixed.


44774 15-Mar-1999 dcs

Remove redundant code.


44322 28-Feb-1999 dcs

Make $ print different lines in, well, different lines.


43801 09-Feb-1999 jkh

Remove dictHashSummary internal function; it used doubles.

Submitted by: Daniel C. Sobral <dcs@newsguy.com>


43615 04-Feb-1999 dcs

Make FICL_TRACE default.

Add freebsd.fr, for FreeBSD specific forth source. Add $ and %, to
replace the lost @ and - functionality of include. $ has the opposite
behavior of @ though, since the default behavior was inverted.


43613 04-Feb-1999 dcs

Make ficlExec recursive. This removes vmReset and vmQuit from the
error cases, but the replacement should be doing everything they
did, except what did shouldn't be doing, and might do a little more
they ought to be doing.


43602 04-Feb-1999 dcs

Fix ficlExecFD to take kern/9412 changes into account. Also modify it
not to vmThrow errors. This is not what the comments say it does, and
it doesn't work when there is no ficlExec environment (like it's only
use in sys/boot/common/interp_forth.c).

PR: bin/9772


43601 04-Feb-1999 dcs

The trace facility was full of bugs. Correct that by using the
right variable.

PR: bin/9756


43599 04-Feb-1999 dcs

The previous fix for "type" was absolutely lousy. Not only the buffer
allocated was not big enough, but it ended up to being used where it
was supposed to be used. The person who did that ought to be shot, but
since I'm a good person, I'll forgive myself...

PR: bin/9743


43598 04-Feb-1999 dcs

Add conditional compilation facilities to ficl. This had been previously
committed to RELENG_3 instead of HEAD, so let's HEAD catch up.

PR: bin/9662


43139 24-Jan-1999 msmith

From the PR:

I added a FICL_TRACE-conditioned trace facility based on "see".
It is ugly because words' functions are almost all static, and ficlExec,
where the trace has to be located, can't get their pointers. So, #ifdef
this staticization, and add most of see's body into ficlExec. Duplication
of code, uglyness, etc. But it is cleanly #ifdef'ed, and works like a
charm.

It does not provide "step" facility, though, just trace. It is
tunable at run-time through "trace!". If anyone (most likely me :) ever
wants a step facility, I'll add it. Should be easy.

PR: bin/9652
Submitted by: "Daniel C. Sobral" <dcs@newsguy.com>


43135 24-Jan-1999 msmith

From the PR:

FICL's TYPE copies the counted string to HERE, as abial has
remarked. Answering to abial's question, this is NOT garanteed to have
enough space.
...
We have dynamic memory. Even before memory-alloc got in, we
already had dynamic memory. Use it, then! (ficlMalloc is sysdep, so I
suppose that's why it was not used for TYPE; ficl is probably designed
to work without a working ficlFree).

Submitted by: "Daniel C. Sobral" <dcs@newsguy.com>


43078 22-Jan-1999 msmith

Add EXCEPTION word set.

Make TIB handling use buffer size to conform with ANS Forth.

Add ANS MEMORY-ALLOC word set.

See the PRs for extensive details.

PR: kern/9412 kern/9442 kern/9514
Submitted by: PRs from Daniel Sobral <dcs@newsguy.com>


42807 18-Jan-1999 msmith

Transition from using Perl to using awk for our text-manipulation
needs. This removes the dependancy on Perl for the generation of the
loader, allowing the world to be built on a perl-free system.

Submitted by: Joe Abley <jabley@clear.co.nz>


42679 14-Jan-1999 abial

Change counter-intuitive pc@ and pc! to inb and outb.

Submitted by: jkh


42634 13-Jan-1999 abial

Add words "pc!" and "pc@" which allow to manipulate I/O ports. This can
be helpful when directly fiddling with PC hardware.

Also, define "arch-i386" appropriately, as suggested by Daniel C. Sobral.


42209 31-Dec-1998 abial

Add support for some FACILITY words:

key? ( -- flag) \ check to see if there's a key to be read from input
ms ( u -- ) \ wait that many milliseconds
seconds ( -- u ) \ get number of seconds from midnight.

'words' now outputs the list page by page - this probably should go
through libstand's pager, but will have to wait for closer integration of
built-ins with Forth...

Submitted partially by: W Gerald Hicks <wghicks@bellsouth.net>


42001 22-Dec-1998 abial

Add new word ".#" which acts like "." but doesn't output a space separator.
I found it impossible to output parametrized strings like "\033[%d;%dH"
without building them first in pad area.


40995 07-Nov-1998 jkh

o Add proper stack checking to all file words
o add fkey and fread
o eliminate fexists now that this can be expressed in HLL forth
( : fexists fopen dup -1 <> if fclose 1 else drop 0 then ; ) :-)

Once we get the ability to write files, it should be possible to do
stand-alone rescue work from the 3rd stage boot. :)


40989 07-Nov-1998 jkh

Eliminate much code cruft by extending simple file I/O API to include
fopen and fclose.


40987 07-Nov-1998 jkh

Take init out of here - it's a layering violation.


40982 07-Nov-1998 jkh

OK, fload/fexec work properly when both compiling and interpreting
now. Gack.


40978 06-Nov-1998 jkh

switch words to default mode.


40977 06-Nov-1998 jkh

Submit better fix to the prompt bug.


40976 06-Nov-1998 jkh

Make fexists/fload work with existing string literals instead. Doing
my own string literal handling is just too wonky.


40971 06-Nov-1998 jkh

Argh, I had this right[er] before. More commits to follow.


40951 06-Nov-1998 jkh

Use proper literal names.


40949 06-Nov-1998 msmith

Don't not print the prompt string; not doing this has funny side-effects.
Make the prompt an empty string instead.


40929 05-Nov-1998 jkh

Remember a bit more of my forth and do:

o Add fexists word to check for the presence of a file
o make fexists and fload immediate words which DTRT both interpreted
and compiled (doh!)
o add an init word which gets run at bootstrapping time to do extra
post-coldload initialization (in the default implementation, we
look for /boot/boot.4th and load it if found).


40927 05-Nov-1998 jkh

1. rebuild all elements of testmain properly for safety.
2. add fload and key prims for doing simple file and terminal I/O, respectively


40924 05-Nov-1998 msmith

Explicitly invoke perl to run the softwords.pl script in case the
script is not executable.
Submitted by: Don Lewis <Don.Lewis@tsc.tdk.com>


40890 04-Nov-1998 msmith

Improve the assertion testing for successful softword compilation.
The excessive use of assert() vs. robust error checking is annoying.


40883 04-Nov-1998 msmith

Fix includes; we were still pulling in <stdlib.h> in some places.
Support building a standalone interpreter with 'make testmain', remove
win32 and egregious gets() in testmain.c


40876 04-Nov-1998 msmith

Make this work in the libstand environment; don't use stdio/stdlib headers.


40843 03-Nov-1998 msmith

Add the Ficl (Forth Inspired Command Language) interpreter. If all goes well,
this will allow us to manage bloat in the loader by using a bytecoded HLL
rather than lots of C code. It also offers an opportunity for vendors
or others with special applications to significantly customise the boot
process without having to commit to a divergent code branch.

This early commit is to allow others to experiment with the most effective
mechanisms for integrating FICL with the loader as it currently stands.

Ficl is distributed with the following license conditions:

"Ficl is freeware. Use it in any way that you like, with the understanding
that the code is not supported."

All source files contain authorship attributions.

Obtained from: John Sadler (john_sadler@alum.mit.edu)