diff options
author | Warner Losh <imp@FreeBSD.org> | 2023-11-21 03:30:16 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2023-11-21 03:30:16 +0000 |
commit | 0abe05aeac29d99786401b9078e97dcead35f7f3 (patch) | |
tree | 50ccbe81b849c4949054d0d5463445ef75f06876 | |
parent | f213da893ca8c7c76e1656b36d3a10f93f9a1760 (diff) | |
download | src-0abe05aeac29d99786401b9078e97dcead35f7f3.tar.gz src-0abe05aeac29d99786401b9078e97dcead35f7f3.zip |
stand: bandaide for acpi
Old binaries do not set acpi.rsdp early enough. So when we boot with an
older loader.efi from an ESP that's not been updated, we assume there's
no ACPI on this system. This is unwise. Put a band-aide on this until we
can implement a proper 'feature' variable that the binary reports so we
can do conditionals for things like this in the future.
This is at best a rapid-response stop-gap.
Glanced at by: kevans
Sponsored by: Netflix
-rw-r--r-- | UPDATING | 6 | ||||
-rw-r--r-- | stand/lua/core.lua | 7 |
2 files changed, 12 insertions, 1 deletions
@@ -27,6 +27,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: world, or to merely disable the most expensive debugging functionality at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20231120: + If you have an arm64 system that uses ACPI, you will need to update your + loader.efi in the ESP when you update past this point. Detection of ACPI + was moved earlier in the binary so the scripts could use it, but old + binaries don't have this, so we default to 'no ACPI' in this case. + 20231113: The WITHOUT_LLD_IS_LD option has been removed. When LLD is enabled it is always installed as /usr/bin/ld. diff --git a/stand/lua/core.lua b/stand/lua/core.lua index 718783309687..f4a2815769c9 100644 --- a/stand/lua/core.lua +++ b/stand/lua/core.lua @@ -136,9 +136,14 @@ function core.hasACPI() return loader.getenv("acpi.rsdp") ~= nil end +function core.isX86() + return loader.machine_arch == "i386" or loader.machine_arch == "amd64" +end + function core.getACPI() if not core.hasACPI() then - return false + -- x86 requires ACPI pretty much + return false or core.isX86() end -- Otherwise, respect disabled if it's set |