diff --git a/repos/gems/run/sculpt.run b/repos/gems/run/sculpt.run
index 1125764329..74ef12d63b 100644
--- a/repos/gems/run/sculpt.run
+++ b/repos/gems/run/sculpt.run
@@ -150,22 +150,35 @@ proc log_route { } {
}
-proc nic_drv { } {
+##
+# ROM routes that relabel generic NIC driver names to platform-specific binaries
+#
+proc nic_driver_routes { } {
- if {[have_board pc]} { return ipxe_nic_drv }
- if {[have_board imx8q_evk]} { return fec_nic_drv }
- if {[have_board mnt_reform2]} { return fec_nic_drv }
+ set result(pc) {
+
+
+ }
- return nic_unavailable
-}
+ set result(mnt_reform2) {
+
+
+ }
+ set result(imx8q_evk) {
+
+
+ }
-proc nic_drv_dtb { } {
+ set result(pinephone) {
+
+
+ }
- if {[have_board imx8q_evk]} { return fec_nic_drv-imx8q_evk.dtb }
- if {[have_board mnt_reform2]} { return fec_nic_drv-mnt_reform2.dtb }
+ if {[info exists result([board])]} {
+ return $result([board]); }
- return nic_unavailable
+ return "";
}
@@ -627,9 +640,7 @@ install_config {
- } [log_route] {
-
-
+ } [log_route] [nic_driver_routes] {
diff --git a/repos/gems/src/app/sculpt_manager/runtime/wifi_drv.cc b/repos/gems/src/app/sculpt_manager/runtime/wifi_drv.cc
index e4a6b6b62a..b8059320de 100644
--- a/repos/gems/src/app/sculpt_manager/runtime/wifi_drv.cc
+++ b/repos/gems/src/app/sculpt_manager/runtime/wifi_drv.cc
@@ -19,12 +19,10 @@ void Sculpt::gen_wifi_drv_start_content(Xml_generator &xml)
Cap_quota{250}, Ram_quota{32*1024*1024},
Priority::NETWORK);
- xml.node("binary", [&] () {
- xml.attribute("name", "pc_wifi_drv");
- });
-
xml.node("config", [&] () {
+ xml.attribute("dtb", "wifi_drv.dtb");
+
xml.node("vfs", [&] () {
gen_named_node(xml, "dir", "dev", [&] () {
xml.node("null", [&] () {});
@@ -60,7 +58,8 @@ void Sculpt::gen_wifi_drv_start_content(Xml_generator &xml)
xml.node("parent", [&] () {
xml.attribute("label", "wifi"); }); });
- gen_parent_rom_route(xml, "pc_wifi_drv");
+ gen_parent_rom_route(xml, "wifi_drv");
+ gen_parent_rom_route(xml, "wifi_drv.dtb");
gen_parent_rom_route(xml, "ld.lib.so");
gen_parent_rom_route(xml, "libcrypto.lib.so");
gen_parent_rom_route(xml, "vfs.lib.so");
@@ -70,6 +69,7 @@ void Sculpt::gen_wifi_drv_start_content(Xml_generator &xml)
gen_parent_rom_route(xml, "vfs_wifi.lib.so");
gen_parent_rom_route(xml, "libssl.lib.so");
gen_parent_rom_route(xml, "wifi.lib.so");
+ gen_parent_rom_route(xml, "a64_wifi.lib.so");
gen_parent_rom_route(xml, "wpa_driver_nl80211.lib.so");
gen_parent_rom_route(xml, "wpa_supplicant.lib.so");
gen_parent_rom_route(xml, "iwlwifi-1000-5.ucode");