From 6401094f6244088a9c71b15d1b77260eba374775 Mon Sep 17 00:00:00 2001 From: Kyle Evans Date: Fri, 16 Feb 2018 04:03:15 +0000 Subject: [PATCH] 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. --- stand/lua/core.lua | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/stand/lua/core.lua b/stand/lua/core.lua index d523493993f..ccb364a74d6 100644 --- a/stand/lua/core.lua +++ b/stand/lua/core.lua @@ -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 -- 2.45.0