[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] hurd: Add support for pci-arbiter and rumpdisk
From: |
Samuel Thibault |
Subject: |
[PATCH] hurd: Add support for pci-arbiter and rumpdisk |
Date: |
Sun, 20 Feb 2022 20:23:03 +0100 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
This adds pci-arbiter and rumpdisk as bootstrap modules whenever they are
available. This opens the path for fully-userland disk support.
diff --git a/util/grub.d/10_hurd.in b/util/grub.d/10_hurd.in
index 3663d360e..2ab3a97e6 100644
--- a/util/grub.d/10_hurd.in
+++ b/util/grub.d/10_hurd.in
@@ -68,6 +68,18 @@ for i in /hurd/${hurd_fs}.static /hurd/exec ; do
fi
done
+if test -e '/hurd/pci-arbiter.static' ; then
+ pci_arbiter=true
+else
+ pci_arbiter=false
+fi
+
+if test -e '/hurd/rumpdisk.static' ; then
+ rumpdisk=true
+else
+ rumpdisk=false
+fi
+
if ${at_least_one} ; then : ; else
# no hurd here, aborting silently
exit 0
@@ -132,14 +144,46 @@ EOF
opts="--readonly"
fi
+ host_ports="--host-priv-port='\${host-port}'
--device-master-port='\${device-port}'"
+ resume_task="'\$(task-resume)'"
+
sed "s/^/$submenu_indentation/" << EOF
echo '$(echo "$message" | grub_quote)'
+EOF
+
+ if [ "$pci_arbiter" = true ] ; then
+ if [ "$rumpdisk" = true ] ; then
+ next_task='${disk-task}'
+ else
+ next_task='${fs-task}'
+ fi
+ sed "s/^/$submenu_indentation/" << EOF
+ module /hurd/pci-arbiter.static pci-arbiter \\
+ $host_ports \\
+ --next-task='$next_task' \\
+ '\$(pci-task=task-create)' $resume_task
+EOF
+ host_ports=""
+ resume_task=""
+ fi
+
+ if [ "$rumpdisk" = true ] ; then
+ sed "s/^/$submenu_indentation/" << EOF
+ module /hurd/rumpdisk.static rumpdisk \\
+ $host_ports \\
+ --next-task='\${fs-task}' \\
+ '\$(disk-task=task-create)' $resume_task
+EOF
+ host_ports=""
+ resume_task=""
+ fi
+
+ sed "s/^/$submenu_indentation/" << EOF
module /hurd/${hurd_fs}.static ${hurd_fs} $opts \\
--multiboot-command-line='\${kernel-command-line}' \\
- --host-priv-port='\${host-port}' \\
- --device-master-port='\${device-port}' \\
+ $host_ports \\
--exec-server-task='\${exec-task}' -T typed '\${root}'
\\
- '\$(task-create)' '\$(task-resume)'
+ '\$(fs-task=task-create)' $resume_task
module /lib/ld.so.1 exec /hurd/exec '\$(exec-task=task-create)'
}
EOF
- [PATCH] hurd: Add support for pci-arbiter and rumpdisk,
Samuel Thibault <=