git: 064f00ec274f - main - arm64: Grab the RSDP from acpi.rsdp like x86

From: Warner Losh <imp_at_FreeBSD.org>
Date: Sat, 02 Jul 2022 14:04:07 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=064f00ec274fbfdcab19ed8150afb187468a0c4f

commit 064f00ec274fbfdcab19ed8150afb187468a0c4f
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2022-07-02 14:00:27 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2022-07-02 14:02:12 +0000

    arm64: Grab the RSDP from acpi.rsdp like x86
    
    arm64 wasn't updated to grab this from acpi.rsdp when x86 was
    update. belatedly update the kernel to grab this information from the
    preferred kenv.
    
    Sponsored by:           Netflix
    Reviewed by:            andrew, jhb
    Differential Revision:  https://reviews.freebsd.org/D35631
---
 sys/arm64/acpica/OsdEnvironment.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/sys/arm64/acpica/OsdEnvironment.c b/sys/arm64/acpica/OsdEnvironment.c
index 6efcee9646d0..3d8afd0ab2d5 100644
--- a/sys/arm64/acpica/OsdEnvironment.c
+++ b/sys/arm64/acpica/OsdEnvironment.c
@@ -60,6 +60,16 @@ acpi_get_root_from_loader(void)
 {
 	long acpi_root;
 
+	if (TUNABLE_ULONG_FETCH("acpi.rsdp", &acpi_root))
+		return (acpi_root);
+
+	/*
+	 * The hints mechanism is unreliable (it fails if anybody ever
+	 * compiled in hints to the kernel). It has been replaced
+	 * by the tunable method, but is used here as a fallback to
+	 * retain maximum compatibility between old loaders and new
+	 * kernels. It can be removed after 14.0R.
+	 */
 	if (resource_long_value("acpi", 0, "rsdp", &acpi_root) == 0)
 		return (acpi_root);