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 <samuel.thiba...@ens-lyon.org> 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}'