rc2014: turn on networking
authorAlan Cox <alan@linux.intel.com>
Sun, 9 Sep 2018 23:19:09 +0000 (00:19 +0100)
committerAlan Cox <alan@linux.intel.com>
Sun, 9 Sep 2018 23:19:09 +0000 (00:19 +0100)
Kernel/platform-rc2014/Makefile
Kernel/platform-rc2014/config.h
Kernel/platform-rc2014/devtty.c
Kernel/platform-rc2014/fuzix.lnk

index e43dbbd..59f295c 100644 (file)
@@ -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
 
index d2006d9..bf5ba99 100644 (file)
@@ -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 */
index 40bc3ae..4cd196b 100644 (file)
@@ -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)
index 8102847..1c40d41 100644 (file)
@@ -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