stand/lua: Set reasonable ACPI default based on presence

Set it based on hint.acpi.0.rsdp. Initially, hint.acpi.0.disabled will be
respected. "Using System Defaults" will override whether it's explicitly
disabled by hint and re-load it based on whether it's present on the system.

Unlike the 4th version, this is not restricted to x86. I have no strong
reasoning for this, so this is definitely open to change.
This commit is contained in:
Kyle Evans 2018-02-16 04:03:15 +00:00
parent 6a5a7e8a53
commit 6401094f62
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=329351

View File

@ -58,6 +58,20 @@ function core.setSingleUser(b)
core.su = b;
end
function core.getACPIPresent(checkingSystemDefaults)
local c = loader.getenv("hint.acpi.0.rsdp");
if (c ~= nil) then
if (checkingSystemDefaults == true) then
return true;
end
-- Otherwise, respect disabled if it's set
c = loader.getenv("hint.acpi.0.disabled");
return (c == nil) or (tonumber(c) ~= 1);
end
return false;
end
function core.setACPI(b)
if (b == nil) then
b = not core.acpi;
@ -120,7 +134,7 @@ function core.kernelList()
end
function core.setDefaults()
core.setACPI(true);
core.setACPI(core.getACPIPresent(true));
core.setSafeMode(false);
core.setSingleUser(false);
core.setVerbose(false);
@ -155,4 +169,5 @@ function core.bootserial()
return false;
end
core.acpi = core.getACPIPresent(false)
return core