From 72b40c2ccb1f54deb4d448c6ff8016469f3920d1 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Mon, 26 Sep 2022 21:51:32 +0200 Subject: [PATCH] templates: Add support for acpi on Hurd This adds acpi as bootstrap module whenever it is available. This opens the path for proper IRQ routing for fully-userland disk drivers. Signed-off-by: Samuel Thibault Reviewed-by: Daniel Kiper --- util/grub.d/10_hurd.in | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/util/grub.d/10_hurd.in b/util/grub.d/10_hurd.in index 4294bbe4c..a021d02c2 100644 --- a/util/grub.d/10_hurd.in +++ b/util/grub.d/10_hurd.in @@ -68,6 +68,12 @@ for i in /hurd/${hurd_fs}.static /hurd/exec ; do fi done +if test -e '/hurd/acpi.static' ; then + acpi=true +else + acpi=false +fi + if test -e '/hurd/pci-arbiter.static' ; then pci_arbiter=true else @@ -153,6 +159,24 @@ EOF echo '$(echo "$message" | grub_quote)' EOF + if [ "$acpi" = true ] ; then + if [ "$pci_arbiter" = true ] ; then + next_task='${pci-task}' + elif [ "$rumpdisk" = true ] ; then + next_task='${disk-task}' + else + next_task='${fs-task}' + fi + sed "s/^/$submenu_indentation/" << EOF + module /hurd/acpi.static acpi \\ + $host_ports \\ + --next-task='$next_task' \\ + '\$(acpi-task=task-create)' $resume_task +EOF + host_ports="" + resume_task="" + fi + if [ "$pci_arbiter" = true ] ; then if [ "$rumpdisk" = true ] ; then next_task='${disk-task}'