summaryrefslogtreecommitdiff
path: root/cmd/sbc_harness
diff options
context:
space:
mode:
authorLuke T. Shumaker <lukeshu@lukeshu.com>2025-02-02 02:01:30 -0700
committerLuke T. Shumaker <lukeshu@lukeshu.com>2025-02-09 23:42:11 -0700
commit06eed899486daeec8ad2718c74d70f91fa0dbb25 (patch)
treef402d1cc1e82f5e297db142f51fdfd4306a74f68 /cmd/sbc_harness
parentcb0c00a240c0d803e7202433f9940a91db849a5c (diff)
libhw_generic: net: Use libobj instead of vcall.h
Diffstat (limited to 'cmd/sbc_harness')
-rw-r--r--cmd/sbc_harness/main.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/cmd/sbc_harness/main.c b/cmd/sbc_harness/main.c
index 7b1d5c5..ce80711 100644
--- a/cmd/sbc_harness/main.c
+++ b/cmd/sbc_harness/main.c
@@ -15,7 +15,6 @@
#include <libhw/rp2040_hwtimer.h>
#include <libhw/w5500.h>
#include <libmisc/hash.h>
-#include <libmisc/vcall.h>
#include <libusb/usb_common.h>
#include <libdhcp/client.h>
#include <lib9p/srv.h>
@@ -43,15 +42,6 @@ static COROUTINE hello_world_cr(void *_chan) {
cr_end();
}
-static COROUTINE dhcp_cr(void *_chip) {
- struct w5500 *chip = _chip;
- cr_begin();
-
- dhcp_client_main(chip, "harness");
-
- cr_end();
-}
-
struct {
struct rp2040_hwspi dev_spi;
struct w5500 dev_w5500;
@@ -60,11 +50,19 @@ struct {
struct lib9p_srv srv;
} globals;
+static COROUTINE dhcp_cr(void *) {
+ cr_begin();
+
+ dhcp_client_main(lo_box_w5500_if_as_net_iface(&globals.dev_w5500), "harness");
+
+ cr_end();
+}
+
static COROUTINE read9p_cr(void *) {
cr_begin();
lib9p_srv_read_cr(&globals.srv,
- VCALL(&globals.dev_w5500, tcp_listen, CONFIG_9P_PORT));
+ LO_CALL(lo_box_w5500_if_as_net_iface(&globals.dev_w5500), tcp_listen, CONFIG_9P_PORT));
cr_end();
}
@@ -120,7 +118,7 @@ COROUTINE init_cr(void *) {
coroutine_add("usb_common", usb_common_cr, NULL);
coroutine_add("usb_keyboard", usb_keyboard_cr, &globals.keyboard_chan);
coroutine_add("hello_world", hello_world_cr, &globals.keyboard_chan);
- coroutine_add_with_stack_size(4*1024, "dhcp", dhcp_cr, &globals.dev_w5500);
+ coroutine_add_with_stack_size(4*1024, "dhcp", dhcp_cr, NULL);
for (int i = 0; i < _CONFIG_9P_NUM_SOCKS; i++) {
char name[] = {'r', 'e', 'a', 'd', '-', hexdig[i], '\0'};
coroutine_add(name, read9p_cr, NULL);