summaryrefslogtreecommitdiffstats
path: root/stand/ficl
Commit message (Collapse)AuthorAgeFilesLines
* MFC r330806-r330815, r330837, r330864, r330883kevans2018-04-069-47/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* MFC r329345: Eliminate bsd.stand.mk and -fPIC 32-bit intel buildskevans2018-04-061-1/+0
| | | | | | | | | | 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.
* MFC r330612: stand/ficl: Fix testmainkevans2018-03-201-1/+2
| | | | | | | | 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.
* MFC Loader Fixes Final: r327612,r327703,r327704,r327878,r327879,r327881,kevans2018-02-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* MFC Loader Fixes 2017q4p7: r324844,r326089,r326926,r326440,r326484,r326494,kevans2018-02-122-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* MFC r325834,r325997,326502: Move sys/boot to stand/kevans2018-02-1250-0/+20701
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.
OpenPOWER on IntegriCloud