From: Alan Cox Date: Sun, 9 Sep 2018 23:19:09 +0000 (+0100) Subject: rc2014: turn on networking X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=f02b84f75f39641c1343861c5d5d7eee955bb9c3;p=FUZIX.git rc2014: turn on networking --- diff --git a/Kernel/platform-rc2014/Makefile b/Kernel/platform-rc2014/Makefile index e43dbbdf..59f295c7 100644 --- a/Kernel/platform-rc2014/Makefile +++ b/Kernel/platform-rc2014/Makefile @@ -7,6 +7,7 @@ DISCARD_DSRCS = ../dev/devide_discard.c ../dev/ds1302_discard.c DSRCS = ../dev/devfd.c ../dev/devide.c ../dev/mbr.c ../dev/blkdev.c DSRCS += ../dev/devrd.c ../dev/ds1302.c DASRCS = ../dev/devfd_hw.s ../dev/devrd_hw.s ../dev/ds1302_rc2014.s +NSRCS = ../dev/net/net_native.c AOBJS = $(ASRCS:.s=.rel) COBJS = $(CSRCS:.c=.rel) @@ -14,10 +15,11 @@ DISCARD_COBJS = $(DISCARD_CSRCS:.c=.rel) DISCARD_DOBJS = $(patsubst ../dev/%.c,%.rel, $(DISCARD_DSRCS)) DOBJS = $(patsubst ../dev/%.c,%.rel, $(DSRCS)) DAOBJS = $(patsubst ../dev/%.s,%.rel, $(DASRCS)) +NOBJS = $(patsubst ../dev/net/%.c,%.rel, $(NSRCS)) -OBJS = $(AOBJS) $(COBJS) $(DOBJS) $(DAOBJS) $(DISCARD_DOBJS) $(DISCARD_COBJS) +OBJS = $(AOBJS) $(COBJS) $(DOBJS) $(DAOBJS) $(DISCARD_DOBJS) $(DISCARD_COBJS) $(NOBJS) -CROSS_CCOPTS += -I../dev/ +CROSS_CCOPTS += -I../dev/ -I../dev/net/ JUNK = *.rel *.lst *.asm *.sym *.rst *.map *.ihx *.bin @@ -41,6 +43,9 @@ $(DISCARD_COBJS): %.rel: %.c $(DISCARD_DOBJS): %.rel: ../dev/%.c $(CROSS_CC) $(CROSS_CCOPTS) $(CROSS_CC_SEGDISC) -c $< +$(NOBJS): %.rel: ../dev/net/%.c + $(CROSS_CC) $(CROSS_CCOPTS) -c $< + clean: rm -f $(OBJS) $(JUNK) core *~ bootrom.ihx bootrom.bin diskboot.bin fuzix.com fuzix.rom diff --git a/Kernel/platform-rc2014/config.h b/Kernel/platform-rc2014/config.h index d2006d9a..bf5ba99e 100644 --- a/Kernel/platform-rc2014/config.h +++ b/Kernel/platform-rc2014/config.h @@ -67,6 +67,11 @@ extern unsigned int swap_dev; #define CONFIG_INPUT /* Input device for joystick */ #define CONFIG_INPUT_GRABMAX 0 /* No keyboard to grab */ +/* Core Networking support */ +#define CONFIG_NET +/* User mode uIP TCP/IP daemon */ +#define CONFIG_NET_NATIVE + /* Device parameters */ #define CONFIG_DEV_MEM /* enable /dev/mem driver */ @@ -81,6 +86,7 @@ extern unsigned int swap_dev; #define NUM_DEV_TTY 2 + /* UART0 as the console */ #define BOOT_TTY (512 + 1) #define TTY_INIT_BAUD B115200 /* Hardwired generally */ diff --git a/Kernel/platform-rc2014/devtty.c b/Kernel/platform-rc2014/devtty.c index 40bc3ae2..4cd196be 100644 --- a/Kernel/platform-rc2014/devtty.c +++ b/Kernel/platform-rc2014/devtty.c @@ -39,6 +39,10 @@ void tty_pollirq_sio(void) { uint8_t ca, cb; + /* FIXME: need to process error/event interrupts as we can get + spurious characters or lines on an unused SIO floating */ + /* In the true poll case we also need to deal with fake reti as we + won't actually reti */ SIOA_C = 0; // read register 0 ca = SIOA_C; if (ca & 1) diff --git a/Kernel/platform-rc2014/fuzix.lnk b/Kernel/platform-rc2014/fuzix.lnk index 8102847c..1c40d41f 100644 --- a/Kernel/platform-rc2014/fuzix.lnk +++ b/Kernel/platform-rc2014/fuzix.lnk @@ -34,6 +34,7 @@ syscall_proc.rel syscall_fs2.rel syscall_fs3.rel syscall_other.rel +syscall_net.rel mm.rel swap.rel bank16k.rel @@ -53,4 +54,5 @@ platform-rc2014/devinput.rel platform-rc2014/ds1302.rel platform-rc2014/ds1302_discard.rel platform-rc2014/ds1302_rc2014.rel +platform-rc2014/net_native.rel -e