From 61ae6cf32807d572feff3c981e2f9c18c43a6df3 Mon Sep 17 00:00:00 2001
From: bjorn3 <17426603+bjorn3@users.noreply.github.com>
Date: Sat, 16 Mar 2024 21:28:48 +0100
Subject: [PATCH] Run pcid on aarch64

---
 recipes/core/drivers-initfs/recipe.toml       | 30 +++++++++++--------
 recipes/core/drivers/recipe.toml              |  3 +-
 .../core/initfs/aarch64-unknown-redox/init.rc |  2 ++
 3 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/recipes/core/drivers-initfs/recipe.toml b/recipes/core/drivers-initfs/recipe.toml
index e1e91f5bb..74a1f4825 100644
--- a/recipes/core/drivers-initfs/recipe.toml
+++ b/recipes/core/drivers-initfs/recipe.toml
@@ -5,42 +5,48 @@ git = "https://gitlab.redox-os.org/redox-os/drivers.git"
 template = "custom"
 script = """
 BINS=(
-    ahcid
     fbcond
     inputd
     nvmed
     pcid
     vesad
-    virtio-blkd
-    virtio-gpud
     lived
 )
 
-aarch64_redefine_bin()
+virt_bins()
+{
+    BINS+=(virtio-blkd virtio-gpud)
+}
+
+x86_common_bins()
+{
+    BINS+=(ahcid ided ps2d vesad)
+    virt_bins
+}
+
+aarch64_bins()
 {
-    BINS=(inputd lived)
     case "${BOARD}" in
-        raspi3bp)
-            BINS+=(bcm2835-sdhcid)
-        ;;
-        raspi3b)
+        raspi3b | raspi3bp)
             BINS+=(bcm2835-sdhcid)
         ;;
         *)
         #qemu-virt
+            virt_bins
         ;;
     esac
 }
 
 case "${TARGET}" in
     i686-unknown-redox)
-        BINS+=(ided ps2d)
+        x86_common_bins
         ;;
     x86_64-unknown-redox)
-        BINS+=(acpid ided ps2d)
+        x86_common_bins
+        BINS+=(acpid)
         ;;
     aarch64-unknown-redox)
-        aarch64_redefine_bin
+        aarch64_bins
         ;;
     *)
         ;;
diff --git a/recipes/core/drivers/recipe.toml b/recipes/core/drivers/recipe.toml
index b40d86662..3df8bc520 100644
--- a/recipes/core/drivers/recipe.toml
+++ b/recipes/core/drivers/recipe.toml
@@ -10,6 +10,7 @@ BINS=(
     e1000d
     ihdad
     ixgbed
+    pcid
     rtl8139d
     rtl8168d
     usbctl
@@ -24,7 +25,7 @@ BINS=(
 # depending on the target architecture
 case "${TARGET}" in
     i686-unknown-redox | x86_64-unknown-redox)
-        BINS+=(ac97d bgad pcid pcspkrd sb16d vboxd)
+        BINS+=(ac97d bgad pcspkrd sb16d vboxd)
         ;;
     *)
         ;;
diff --git a/recipes/core/initfs/aarch64-unknown-redox/init.rc b/recipes/core/initfs/aarch64-unknown-redox/init.rc
index f794e3ca6..3acd25801 100644
--- a/recipes/core/initfs/aarch64-unknown-redox/init.rc
+++ b/recipes/core/initfs/aarch64-unknown-redox/init.rc
@@ -1,5 +1,6 @@
 export PATH /scheme/initfs/bin
 export TMPDIR /tmp
+export RUST_BACKTRACE 1
 nulld
 zerod
 randd
@@ -11,6 +12,7 @@ fbcond 1 2
 logd /scheme/debug /scheme/fbcon/1
 stdio /scheme/log
 ramfs logging
+pcid /scheme/initfs/etc/pcid/initfs.toml
 lived
 unset DISK_LIVE_ADDR DISK_LIVE_SIZE
 redoxfs --uuid $REDOXFS_UUID file $REDOXFS_BLOCK
-- 
GitLab