#
9398a495 |
| 27-Feb-2024 |
Warner Losh <imp@FreeBSD.org> |
loader: Add loader.exit
Add loader.exit(status). While one can get alomst this behavior with loader.perform("quit"), quit doesn't allow a value to be returned to the firmware. The interpretation of
loader: Add loader.exit
Add loader.exit(status). While one can get alomst this behavior with loader.perform("quit"), quit doesn't allow a value to be returned to the firmware. The interpretation of 'status' is firmware specific. This can be used when autobooting doesn't work in scripts, for example, to allow the firmware to try something else...
Sponsored by: Netflix
Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D44094
show more ...
|
#
9b162310 |
| 16-Feb-2024 |
Warner Losh <imp@FreeBSD.org> |
loader: Create new gfx table
Create a new gfx global table. Put into it all the graphics bindings that we have in loader today. For now, have compatability binding for loader. Remove them from loade
loader: Create new gfx table
Create a new gfx global table. Put into it all the graphics bindings that we have in loader today. For now, have compatability binding for loader. Remove them from loader.
Sponsored by: Netflix Reviewed by: kevans, jhb Differential Revision: https://reviews.freebsd.org/D43902
show more ...
|
#
061b68a7 |
| 16-Feb-2024 |
Warner Losh <imp@FreeBSD.org> |
loader: Separate gfx to a new file.
Move gfx lua hook registration to a new file.
Sponsored by: Netflix Reviewed by: kevans, jhb Differential Revision: https://reviews.freebsd.org/D43901
|
#
1dac5a34 |
| 16-Feb-2024 |
Warner Losh <imp@FreeBSD.org> |
loader: Register the gfx stuff separately.
Move registration of the gfx stuff to separate function. However, no change in functionality is intended.
Sponsored by: Netflix Reviewed by: kevans, jhb
loader: Register the gfx stuff separately.
Move registration of the gfx stuff to separate function. However, no change in functionality is intended.
Sponsored by: Netflix Reviewed by: kevans, jhb Differential Revision: https://reviews.freebsd.org/D43900
show more ...
|
#
7fc95c31 |
| 16-Feb-2024 |
Warner Losh <imp@FreeBSD.org> |
loader: Simplify the loader.has_command
luaL_checkstring already checks for the right number of arguments. There's no need to do that by hand here. Now an exception will be thrown like any other fun
loader: Simplify the loader.has_command
luaL_checkstring already checks for the right number of arguments. There's no need to do that by hand here. Now an exception will be thrown like any other function with the wrong args. Also, push a boolean instead of an int.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D43820
show more ...
|
#
62a52c15 |
| 14-Feb-2024 |
Warner Losh <imp@FreeBSD.org> |
loader: export the CMD_ constants in loader table
Export the CMD_OK, etc constants in the loader table. They are the return values of loader.perform, etc.
Sponsored by: Netflix Differential Revisi
loader: export the CMD_ constants in loader table
Export the CMD_OK, etc constants in the loader table. They are the return values of loader.perform, etc.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D43821
show more ...
|
#
1631382c |
| 08-Dec-2023 |
Kyle Evans <kevans@FreeBSD.org> |
loader: provide a features table for binary compatibility advertisement
liblua now provides a loader.has_feature() function to probe the loader binary for features advertised. name => desc mappings
loader: provide a features table for binary compatibility advertisement
liblua now provides a loader.has_feature() function to probe the loader binary for features advertised. name => desc mappings are provided in loader.features to get a list of all of the features loader *can* support. core.hasFeature is provided as a shim to loader.has_feature so that individual consumers don't need to think about the logic of the loader module not providing has_feature; we know that means the feature isn't enabled.
The first consumer of this will be EARLY_ACPI to advertise that the loader binary probes for ACPI presence before the interpreter has started, so that we know whether we can trust the presence of acpi.rsdp as relatively authoritative. In general, it's intended to be used to avoid breaking new scripts on older loaders within reason.
This will be used in lua as `core.hasFeature("EARLY_ACPI")`, while the C bits of loader will `feature_enable(FEATURE_EARLY_ACPI)`.
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D42695
show more ...
|
#
7c43148a |
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
stand: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Rem
stand: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
show more ...
|
Revision tags: release/14.0.0 |
|
#
1d386b48 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
a50d73d5 |
| 18-Apr-2023 |
Stephen J. Kiernan <stevek@FreeBSD.org> |
loader: Change version calculation to be more consistent.
Use 1000 * major + minor when calculating the version number that gets set in the Ficl environment or lua loader property. This allows for m
loader: Change version calculation to be more consistent.
Use 1000 * major + minor when calculating the version number that gets set in the Ficl environment or lua loader property. This allows for more room if the minor number needs to go above 9.
Add loader.version property to lua loader.
Reviewed by: imp Obtained from: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D39631
show more ...
|
Revision tags: release/13.2.0, release/12.4.0 |
|
#
29fc4075 |
| 01-Sep-2022 |
Warner Losh <imp@FreeBSD.org> |
stand: Add lua binding loader.has_command
Give scripts the ability to determine if the currently running loader has provided a command.
Sponsored by: Netflix Differential Revision: https://reviews
stand: Add lua binding loader.has_command
Give scripts the ability to determine if the currently running loader has provided a command.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36365
show more ...
|
Revision tags: release/13.1.0, release/12.3.0, release/13.0.0 |
|
#
3630506b |
| 21-Dec-2020 |
Toomas Soome <tsoome@FreeBSD.org> |
loader: implement framebuffer console
Draw console on efi. Add vbe framebuffer for BIOS loader (vbe off, vbe on, vbe list, vbe set xxx). autoload font (/boot/fonts) based on resolution and font size
loader: implement framebuffer console
Draw console on efi. Add vbe framebuffer for BIOS loader (vbe off, vbe on, vbe list, vbe set xxx). autoload font (/boot/fonts) based on resolution and font size. Add command loadfont (set font by file) and variable screen.font (set font by size). Pass loaded font to kernel.
Export variables: screen.height screen.width screen.depth
Add gfx primitives to draw the screen and put png image on the screen. Rework menu draw to iterate list of consoles to enamble device specific output.
Probably something else I forgot...
Relnotes: yes Differential Revision: https://reviews.freebsd.org/D27420
show more ...
|
Revision tags: release/12.2.0, release/11.4.0 |
|
#
63172bf6 |
| 02-Nov-2019 |
Kyle Evans <kevans@FreeBSD.org> |
liblua: add loader.lua_path
As described previously, loader.lua_path is absolute path where scripts are installed. A future commit will use this to build paths for dofile in try_include, rather than
liblua: add loader.lua_path
As described previously, loader.lua_path is absolute path where scripts are installed. A future commit will use this to build paths for dofile in try_include, rather than the current pcall/require setup that makes it more difficult to coordinate loader aborts from local.lua -- we do not need the flexibility of require(), and local.lua is in-fact not a 'module-like' file as we will not be referencing anything from it.
show more ...
|
Revision tags: release/12.1.0, release/11.3.0, release/12.0.0 |
|
#
fda9adaf |
| 27-Oct-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r339670 through r339812.
|
#
3078173c |
| 25-Oct-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Improve module loading diagnostics
Some fixes:
- Maintain historical behavior more accurately w.r.t verbose_loading; verbose_loading strictly prints "${module_name...}" and later "fail
lualoader: Improve module loading diagnostics
Some fixes:
- Maintain historical behavior more accurately w.r.t verbose_loading; verbose_loading strictly prints "${module_name...}" and later "failed!" or "ok" based on load success - With or without verbose_loading, dump command_errbuf on load failure. This usually happens prior to ok/failed if we're verbose_loading
Reviewed by: imp MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D17694
show more ...
|
Revision tags: release/11.2.0 |
|
#
697f127d |
| 07-Mar-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Expose loader.parse and add cli_execute_unparsed
This will be used for scenarios where the command to execute is coming in via the environment (from, for example, loader.conf(5)) and is t
lualoader: Expose loader.parse and add cli_execute_unparsed
This will be used for scenarios where the command to execute is coming in via the environment (from, for example, loader.conf(5)) and is thus not necessarily trusted.
cli_execute_unparsed will immediately be used for handling module_{before,after,error} as well as menu_timeout_command. We still want to offer these variables the ability to execute Lua-intercepted loader commands, but we don't want them to be able to execute arbitrary Lua.
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D14580
show more ...
|
#
dc4e0284 |
| 03-Mar-2018 |
Kyle Evans <kevans@FreeBSD.org> |
liblua: Add loader.interpret
This allows lua to pass back a command string to be executed as if it were typed at the loader prompt- loader tries to execute the string first as pure lua, then parses
liblua: Add loader.interpret
This allows lua to pass back a command string to be executed as if it were typed at the loader prompt- loader tries to execute the string first as pure lua, then parses it and gives lua a chance to intercept before it tries to execute it itself.
This will be used to implement menu_timeout_command, among other things, which *should* be used to execute basic loader commands independent of the chosen interpreter.
show more ...
|
#
a16664ce |
| 02-Mar-2018 |
Kyle Evans <kevans@FreeBSD.org> |
liblua: Use putc instead of printf for printc
printc does not need the features or the overhead of printf. It does not take formatting strings, and it pipes the single string argument through an "%s
liblua: Use putc instead of printf for printc
printc does not need the features or the overhead of printf. It does not take formatting strings, and it pipes the single string argument through an "%s" format.
Instead, use putc directly. This pipes the string through in its entirety as a series of 'unsigned char's, generally straight to the console emulator.
Discussed with: tsoome
show more ...
|
#
59cccc5b |
| 02-Mar-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Register loader.printc as global printc
|
#
82c85a42 |
| 24-Feb-2018 |
Kyle Evans <kevans@FreeBSD.org> |
liblua: Implement write support
Write support (even if it only works on UFS) will be needed for nextboot functionality.
Reviewed by: cem, imp Differential Revision: https://reviews.freebsd.org/D144
liblua: Implement write support
Write support (even if it only works on UFS) will be needed for nextboot functionality.
Reviewed by: cem, imp Differential Revision: https://reviews.freebsd.org/D14478
show more ...
|
#
2630b89b |
| 20-Feb-2018 |
Kyle Evans <kevans@FreeBSD.org> |
liblua: Add loader.machine and loader.machine_arch properties
Provisioned from MACHINE/MACHINE_ARCH on the system, expose loader.machine and loader.machine_arch respectively.
These may be used to h
liblua: Add loader.machine and loader.machine_arch properties
Provisioned from MACHINE/MACHINE_ARCH on the system, expose loader.machine and loader.machine_arch respectively.
These may be used to hide ACPI option on non-applicable archs.
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D14446
show more ...
|
#
a83546e5 |
| 20-Feb-2018 |
Warner Losh <imp@FreeBSD.org> |
Implement loader.command
This is just like loader.perform, except it takes pre-parsed arguments.
Review: https://reviews.freebsd.org/D14448
|
#
929c9bd0 |
| 18-Feb-2018 |
Kyle Evans <kevans@FreeBSD.org> |
liblua: Fix missing '}' in lutil.c after r329499
|
#
6771d4a8 |
| 18-Feb-2018 |
Conrad Meyer <cem@FreeBSD.org> |
interp_lua: Register io/loader with regular Lua module system
Reviewed by: kevans Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D14421
|
#
f276951a |
| 17-Feb-2018 |
Conrad Meyer <cem@FreeBSD.org> |
liblua: Clean up io/loader C module registration
Utilize registration APIs Lua provides to make module definition a little cleaner.
Discussed with: imp Sponsored by: Dell EMC Isilon
|