svn commit: r366691 - in releng/12.2/stand: efi/loader lua
Warner Losh
imp at FreeBSD.org
Wed Oct 14 01:47:01 UTC 2020
Author: imp
Date: Wed Oct 14 01:47:00 2020
New Revision: 366691
URL: https://svnweb.freebsd.org/changeset/base/366691
Log:
MFS12: r366422 r366588
r366588: fixes video display heuristic that prevented byhve and vmware
from detecting dual consoles.
r366422: Report the kernel console on the boot screen
Report what console the boot loader is telling the kernel to use and allow
toggling between them.
Approved by: re@ (gjb)
Modified:
releng/12.2/stand/efi/loader/main.c
releng/12.2/stand/lua/core.lua
releng/12.2/stand/lua/menu.lua
Directory Properties:
releng/12.2/ (props changed)
Modified: releng/12.2/stand/efi/loader/main.c
==============================================================================
--- releng/12.2/stand/efi/loader/main.c Wed Oct 14 00:01:17 2020 (r366690)
+++ releng/12.2/stand/efi/loader/main.c Wed Oct 14 01:47:00 2020 (r366691)
@@ -717,6 +717,10 @@ parse_uefi_con_out(void)
ep = buf + sz;
node = (EFI_DEVICE_PATH *)buf;
while ((char *)node < ep) {
+ if (IsDevicePathEndType(node)) {
+ if (pci_pending && vid_seen == 0)
+ vid_seen = ++seen;
+ }
pci_pending = false;
if (DevicePathType(node) == ACPI_DEVICE_PATH &&
DevicePathSubType(node) == ACPI_DP) {
@@ -749,8 +753,6 @@ parse_uefi_con_out(void)
}
node = NextDevicePathNode(node); /* Skip the end node */
}
- if (pci_pending && vid_seen == 0)
- vid_seen = ++seen;
/*
* Truth table for RB_MULTIPLE | RB_SERIAL
Modified: releng/12.2/stand/lua/core.lua
==============================================================================
--- releng/12.2/stand/lua/core.lua Wed Oct 14 00:01:17 2020 (r366690)
+++ releng/12.2/stand/lua/core.lua Wed Oct 14 01:47:00 2020 (r366691)
@@ -410,6 +410,40 @@ function core.popFrontTable(tbl)
return first_value, new_tbl
end
+function core.getConsoleName()
+ if loader.getenv("boot_multicons") ~= nil then
+ if loader.getenv("boot_serial") ~= nil then
+ return "Dual (Serial primary)"
+ else
+ return "Dual (Video primary)"
+ end
+ else
+ if loader.getenv("boot_serial") ~= nil then
+ return "Serial"
+ else
+ return "Video"
+ end
+ end
+end
+
+function core.nextConsoleChoice()
+ if loader.getenv("boot_multicons") ~= nil then
+ if loader.getenv("boot_serial") ~= nil then
+ loader.unsetenv("boot_serial")
+ else
+ loader.unsetenv("boot_multicons")
+ loader.setenv("boot_serial", "YES")
+ end
+ else
+ if loader.getenv("boot_serial") ~= nil then
+ loader.unsetenv("boot_serial")
+ else
+ loader.setenv("boot_multicons", "YES")
+ loader.setenv("boot_serial", "YES")
+ end
+ end
+end
+
recordDefaults()
hook.register("config.reloaded", core.clearCachedKernels)
return core
Modified: releng/12.2/stand/lua/menu.lua
==============================================================================
--- releng/12.2/stand/lua/menu.lua Wed Oct 14 00:01:17 2020 (r366690)
+++ releng/12.2/stand/lua/menu.lua Wed Oct 14 01:47:00 2020 (r366691)
@@ -241,6 +241,7 @@ menu.welcome = {
boot_entry_2,
menu_entries.prompt,
menu_entries.reboot,
+ menu_entries.console,
{
entry_type = core.MENU_SEPARATOR,
},
@@ -279,6 +280,16 @@ menu.welcome = {
core.boot()
end,
alias = {"s", "S"},
+ },
+ console = {
+ entry_type = core.MENU_ENTRY,
+ name = function()
+ return color.highlight("C") .. "ons: " .. core.getConsoleName()
+ end,
+ func = function()
+ core.nextConsoleChoice()
+ end,
+ alias = {"c", "C"},
},
prompt = {
entry_type = core.MENU_RETURN,
More information about the svn-src-all
mailing list