From: Brett Gordon Date: Thu, 22 Sep 2016 14:12:34 +0000 (-0400) Subject: coco3: bring platform up to level 2 w/ coredumps + networking X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=5b5e167076cefacb93ddf92272fac52d5ea4e863;p=FUZIX.git coco3: bring platform up to level 2 w/ coredumps + networking --- diff --git a/Kernel/platform-coco3/Makefile b/Kernel/platform-coco3/Makefile index c80441e4..04ce096c 100644 --- a/Kernel/platform-coco3/Makefile +++ b/Kernel/platform-coco3/Makefile @@ -5,15 +5,17 @@ CSRCS += devices.c main.c libc.c devsdc.c CDSRCS = ../dev/devide_discard.c DSRCS = ../dev/devdw.c ../dev/blkdev.c ../dev/devide.c +NSRCS = ../dev/net/net_native.c ASRCS = coco3.s crt0.s ../platform-dragon-nx32/ide.s ASRCS += tricks.s commonmem.s usermem_gime.s drivewire.s sdc.s videoll.s COBJS = $(CSRCS:.c=$(BINEXT)) AOBJS = $(ASRCS:.s=$(BINEXT)) -DOBJS = devdw.o blkdev.o devide.o +DOBJS = devdw.o blkdev.o devide.o +NOBJS = net_native.o CDOBJS = $(CDSRCS:.c=$(BINEXT)) -OBJS = $(COBJS) $(AOBJS) $(DOBJS) $(CDOBJS) +OBJS = $(COBJS) $(AOBJS) $(DOBJS) $(CDOBJS) $(NOBJS) CROSS_CCOPTS += -I../dev/ @@ -30,6 +32,9 @@ $(CDOBJS): %$(BINEXT): %.c $(DOBJS): %$(BINEXT): ../dev/%.c $(CROSS_CC) $(CROSS_CCOPTS) -c $< +$(NOBJS): %$(BINEXT): ../dev/net/%.c + $(CROSS_CC) $(CROSS_CCOPTS) -c $< + $(AOBJS): %$(BINEXT): %.s $(CROSS_AS) $(ASOPTS) $< -o $*.o @@ -54,7 +59,9 @@ image: ../tty.o ../devsys.o ../usermem.o ../syscall_fs2.o ../syscall_exec16.o \ ../syscall_fs3.o \ ../usermem_std-6809.o devtty.o libc.o ../vt.o usermem_gime.o video.o \ - videoll.o dwtime.o + videoll.o dwtime.o \ + ../level2.o ../syscall_level2.o ../select.o ../syscall_net.o \ + net_native.o boot.bin: boot/boot.s lwasm -lboot.list -oboot.bin boot/boot.s diff --git a/Kernel/platform-coco3/config.h b/Kernel/platform-coco3/config.h index 2460370a..3e025cbc 100644 --- a/Kernel/platform-coco3/config.h +++ b/Kernel/platform-coco3/config.h @@ -91,3 +91,8 @@ extern unsigned char vt_map( unsigned char c ); #define CONFIG_RTC /* enable RTC code */ #define CONFIG_DWTIME_INTERVAL 10 /* time between dw timer polls in secs */ + +/* Level 2 groups, coredumps, network */ +#define CONFIG_LEVEL_2 +#define CONFIG_NET +#define CONFIG_NET_NATIVE diff --git a/Kernel/platform-coco3/devices.c b/Kernel/platform-coco3/devices.c index ea84f951..e2a24ba6 100644 --- a/Kernel/platform-coco3/devices.c +++ b/Kernel/platform-coco3/devices.c @@ -9,7 +9,7 @@ #include #include #include - +#include struct devsw dev_tab[] = /* The device driver switch table */ { @@ -24,7 +24,7 @@ struct devsw dev_tab[] = /* The device driver switch table */ /* 3: /dev/lpr Printer devices */ { nxio_open, no_close, no_rdwr, no_rdwr, no_ioctl }, /* 4: /dev/mem etc System devices (one offs) */ - { no_open, no_close, sys_read, sys_write, sys_ioctl }, + { no_open, sys_close, sys_read, sys_write, sys_ioctl }, /* Pack to 7 with nxio if adding private devices and start at 8 */ { nxio_open, no_close, no_rdwr, no_rdwr, no_ioctl }, { nxio_open, no_close, no_rdwr, no_rdwr, no_ioctl }, @@ -50,5 +50,6 @@ void device_init(void) #endif dwtime_init( ); inittod(); + sock_init(); } diff --git a/Kernel/platform-coco3/main.c b/Kernel/platform-coco3/main.c index c2459b87..ffe004ae 100644 --- a/Kernel/platform-coco3/main.c +++ b/Kernel/platform-coco3/main.c @@ -85,3 +85,20 @@ uint8_t platform_param(char *p) { return 0; } + + +#ifdef CONFIG_LEVEL_2 + +/* We always use 512 byte paths so no special pathbuf needed */ + +char *pathbuf(void) +{ + return tmpbuf(); +} + +void pathfree(char *tb) +{ + brelse(tb); +} + +#endif