aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--website/content/en/portmgr/policies_eol.adoc1
-rw-r--r--website/content/en/status/report-2025-07-2025-09/ACPI.adoc80
-rw-r--r--website/content/en/status/report-2025-07-2025-09/bhyvemgr.adoc2
3 files changed, 81 insertions, 2 deletions
diff --git a/website/content/en/portmgr/policies_eol.adoc b/website/content/en/portmgr/policies_eol.adoc
index 69cbdea827..87d07d91d2 100644
--- a/website/content/en/portmgr/policies_eol.adoc
+++ b/website/content/en/portmgr/policies_eol.adoc
@@ -55,7 +55,6 @@ The _Estimated EoL (end-of-life)_ column gives the earliest date on which that b
* FreeBSD:16:aarch64
* FreeBSD:16:amd64
* FreeBSD:16:armv7
-* FreeBSD:16:powerpc
* FreeBSD:16:powerpc64
* FreeBSD:16:powerpc64le
|Best Effort
diff --git a/website/content/en/status/report-2025-07-2025-09/ACPI.adoc b/website/content/en/status/report-2025-07-2025-09/ACPI.adoc
new file mode 100644
index 0000000000..14a2f67524
--- /dev/null
+++ b/website/content/en/status/report-2025-07-2025-09/ACPI.adoc
@@ -0,0 +1,80 @@
+=== ACPI Lua Bindings
+
+Links: +
+link:https://www.github.com/kpowkitty/freebsd-src[Github] URL: link:https://www.github.com/kpowkitty/freebsd-src[] +
+link:https://www.github.com/freebsd/freebsd-src/pull/1740[PR: libsa: Add isprint()] URL: link:https://www.github.com/freebsd/freebsd-src/pull/1740[] +
+link:https://www.github.com/freebsd/freebsd-src/pull/1843[PR: loader: Move ACPI RSDP detection] URL: link:https://www.github.com/freebsd/freebsd-src/pull/1843[] +
+link:https://www.github.com/freebsd/freebsd-src/pull/1818[PR: efi: Create libacpi] URL: link:https://www.github.com/freebsd/freebsd-src/pull/1818[] +
+link:https://www.github.com/freebsd/freebsd-src/pull/1819[PR: liblua: ACPICA Lua bindings] URL: link:https://www.github.com/freebsd/freebsd-src/pull/1819[]
+
+Contact: Kayla Powell (AKA Kat) <kpowkitty@FreeBSD.org> +
+Mentor: Warner Losh <imp@FreeBSD.org>
+
+==== Introduction
+
+For Google Summer of Code 2025, I have been working on a project under mailto:imp@FreeBSD.org[Warner Losh] for ACPI Lua Bindings.
+ACPI (Advanced Power and Configuration Interface) is an interface for managing power in the OS, rather than in the BIOS.
+The goal is to expose ACPI to Lua in the loader for amd64 platforms, with future arm64 support.
+
+==== Outcomes
+
+* Lua is a much simpler, higher level scripting language that enables faster development.
+* It reduces ACPI-related guesswork in the bootloader.
+* It allows users to query and manipulate ACPI data before the kernel is entered, giving them control over loader-time configuration.
+
+==== Remarks
+
+If there are any specialized use cases for ACPI in the loader that my interface does not aid in, please reach out to me, and I will see what I can do.
+For now, this is the interface that I will be committing to the tree for GSoC, so while any extra work will have to come afterwards, I am interested in it (and encourage it).
+
+==== Current status
+
+* Completed:
+** ACPICA initialized in loader for amd64
+*** [.filename]#OsdMemory.c#
+*** [.filename]#osunixxf.c#
+*** AcpiInitializeSubsystem
+*** AcpiInitializeTables
+*** AcpiEnableSubsystem (in reduced hardware mode, with events enabled)
+*** AcpiLoadTables
+*** AcpiWalkNamespace
+*** AcpiEvaluateObject
+*** AcpiAttachData
+*** AcpiGetData
+*** AcpiDetachData
+** Lua bindings
+*** [.filename]#lacpi_walk.c#
+**** Users can walk and read nodes on the namespace
+*** [.filename]#lacpi_object.c#
+**** Users can evaluate objects
+*** [.filename]#lacpi_data.c#
+**** Users can attach, get, and detach data from nodes
+*** Man Page
+* Future plans:
+** [.filename]#lacpi_walk.c# (V2)
+*** Namespace printout format
+** [.filename]#lacpi_walk.c# (V3)
+*** Strategies for walking the namespace
+** arm64 compat
+
+==== Design constraints
+
+The loader is meant to be lightweight and prepare the kernel.
+In order to adhere to that, its initialization of ACPI has been reduced by 130 functions.
+These functions were picked such that they were not necessary for the above interface, or lacked possibility in the loader.
+They are:
+
+* AcpiInitializeObjects
+* AcpiInstallNotifyHandler
+* AcpiRemoveNotifyHandler
+
+Some functions needed to be stubbed in respect to the loader's limited library (specifically in [.filename]#osunixxf.c#).
+Some functions needed to handle physical addresses, rather than virtual memory mappings (specifically in [.filename]#OsdMemory.c#).
+
+==== Testing
+
+* Confirmation tests were performed, demonstrating that the ACPI namespace is initialized correctly by dumping it in the loader (in C and in Lua) and in the kernel (in C) and comparing the results.
+* Regression tests were performed, ensuring FreeBSD builds across all architectures with this change.
+* Unit tests were performed on the Lua bindings, verifying their functionality.
+
+Sponsor: Google Summer of Code 2025
diff --git a/website/content/en/status/report-2025-07-2025-09/bhyvemgr.adoc b/website/content/en/status/report-2025-07-2025-09/bhyvemgr.adoc
index 64d2ee6035..4aec57f06c 100644
--- a/website/content/en/status/report-2025-07-2025-09/bhyvemgr.adoc
+++ b/website/content/en/status/report-2025-07-2025-09/bhyvemgr.adoc
@@ -17,7 +17,7 @@ These are some highlights that were added:
- Add x86.verbosemsr setting on FreeBSD >=1500023.
- Add IPv6 support.
It enhances a better IPv6 support using package:dns/dnsmasq[].
- A host-record will be added to dnasmasq when Use_IPv6 is enabled.
+ A host-record will be added to dnsmasq when Use_IPv6 is enabled.
- Add a bridge IPv6 calculator at Bhyve Manager Settings.
It helps us to calculate what IPv6 must be assigned to bridge interface.
Take a look at README for more information about that.