diff options
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. |