2004-02-01 09:20 caliston * EYModule.c, Makefile,fe1, if_cs.c: Disable serial debugging properly if SERIAL_DEBUG not defined 2004-01-31 15:12 caliston * Makefile,fe1, if_cs.c: First contact :-) Added cs_get_packet() rewritten over Christmas - now can ping Linux correctly 2003-10-28 20:06 caliston * docs/structure.txt: Added more to structure.txt 2003-10-24 22:07 caliston * docs/structure.txt: Started structure.txt code documentation 2003-09-16 21:49 caliston * EYEquates.h, Makefile,fe1, if_cs.c: if_cs.c: cs_get_packet(): Added bodge to claimbuf stuff for FRMLEVEL_MONITOR and _IEEE - so !Sniffer can see what we're sending to the protocol modules. Shows IP payloads are getting mangled somewhere. ARP seems to be OK - except ARP frames seem to be rounded up to 60 bytes (maybe just RISC OS being odd?). We get the 'Hello I'm a.b.c.d, anyone got a problem with that?' ARP frame - no reply unsurprisingly. Really need to rewrite claimbuf logic and code to pull packet off card. 2003-09-14 22:08 caliston * EYModule.c, Makefile,fe1, if_cs.c: EYModule.c: SWI EtherU_Transmit: now frees txb and other mbufs we own after we've transmitted. (disabled for the moment - needs testing) EYModule.c: SWI EtherU_Transmit: fixed transmit - now sends ARP request correctly; Castle's code was filling in a tx_buf structure in an mbuf which contains an LLC header plus extra gubbins - the cs driver was expecting an mbuf with just the LLC header, so the extra gubbins got transmitted, confusing everyone. ARP requests are getting through OK, but ping doesn't work. gondwana says: gondwana:~# arp -a paxos.dev.bellevue.vpn.ucam.org (172.24.228.130) at on eth2 (paxos being the A4). tcpdump sees lots of ARP requests, but no ARP replies. Tomorrow... 2003-09-12 20:23 caliston * Makefile,fe1, freebsdif.h, if_cs.c, io-a4econet.s, mbuf_c.h, TCPIPLibs/machine/endian.h, TCPIPLibs/net/if.h, TCPIPLibs/net/if_var.h: TCPIPLibs/net/if_var.h, if.h: added extra fields to struct if_data for DCI4 stats if_cs.c: cs_get_packet(): added Castle's receive filtering code. io-a4econet.s: insw(): Fixed counting bytes not 16 bit words - only read in half the data. Currently transmits frames with unwanted header (6ish bytes) according to tcpdump - between LLC header and payload. Thinks frame length is wrong as well (or overlong frames). 2003-09-11 15:35 caliston * EYEquates.h, EYModule.c, Equates.h, Makefile,fe1, cmhg/EYModHdr: Modified names/numbers to EtherU from EtherY 2003-09-11 12:55 caliston * EYModule.c, Makefile,fe1, freebsdif.c, freebsdif.h, if_cs.c, if_ethersubr.c, if_media.c, io-a4econet.s, mbuf_c.h, TCPIPLibs/net/if_var.h, TCPIPLibs/sys/_posix.h, TCPIPLibs/sys/linker_set.h, TCPIPLibs/sys/sockio.h: Altered struct ifnet to contain pointer to our softc. Now calls cs_attach() to attach to 'kernel' data structures, and set up media selection stuff (not used currently). Attach now means we have sc->buffer claimed so can transmit from DCI4 - ifconfig now works (sort of - sends out blank ARP frame, but at least it's recognisable an ARP frame :-). We get receive interrupts back, so at least we don't crash even if we can't currently handle the returned frames. Wrote an optimised cs_write_mbufs using mbuf calls (commented out) - but it's probably better in the long run if we rejig the old cs_write_mbufs to write to the hardware directly, rather than via a temporary buffer. Forced saved media type to be automatic - if_media stuff complained about no media otherwise. 2003-09-11 12:38 caliston * Makefile,fe1, if_cs.c, TCPIPLibs/LibraryDoc, TCPIPLibs/Licence, TCPIPLibs/bitstring.h, TCPIPLibs/dirent.h, TCPIPLibs/err.h, TCPIPLibs/errno.h, TCPIPLibs/kvm.h, TCPIPLibs/netdb.h, TCPIPLibs/nlist.h, TCPIPLibs/paths.h, TCPIPLibs/pwd.h, TCPIPLibs/resolv.h, TCPIPLibs/sgtty.h, TCPIPLibs/sysexits.h, TCPIPLibs/unistd.h, TCPIPLibs/utmp.h, TCPIPLibs/arpa/ftp.h, TCPIPLibs/arpa/inet.h, TCPIPLibs/arpa/nameser.h, TCPIPLibs/arpa/telnet.h, TCPIPLibs/arpa/tftp.h, TCPIPLibs/machine/Licence, TCPIPLibs/machine/ansi.h, TCPIPLibs/machine/cpufunc.h, TCPIPLibs/machine/endian.h, TCPIPLibs/machine/in_cksum.h, TCPIPLibs/machine/limits.h, TCPIPLibs/machine/param.h, TCPIPLibs/machine/proc.h, TCPIPLibs/machine/signal.h, TCPIPLibs/machine/stdarg.h, TCPIPLibs/machine/types.h, TCPIPLibs/net/ethernet.h, TCPIPLibs/net/if.h, TCPIPLibs/net/if_arp.h, TCPIPLibs/net/if_dl.h, TCPIPLibs/net/if_llc.h, TCPIPLibs/net/if_types.h, TCPIPLibs/net/if_var.h, TCPIPLibs/net/netisr.h, TCPIPLibs/net/radix.h, TCPIPLibs/net/raw_cb.h, TCPIPLibs/net/route.h, TCPIPLibs/netccitt/x25.h, TCPIPLibs/netinet/icmp_var.h, TCPIPLibs/netinet/if_ether.h, TCPIPLibs/netinet/igmp.h, TCPIPLibs/netinet/igmp_var.h, TCPIPLibs/netinet/in.h, TCPIPLibs/netinet/in_pcb.h, TCPIPLibs/netinet/in_systm.h, TCPIPLibs/netinet/in_var.h, TCPIPLibs/netinet/ip.h, TCPIPLibs/netinet/ip_fw.h, TCPIPLibs/netinet/ip_icmp.h, TCPIPLibs/netinet/ip_mroute.h, TCPIPLibs/netinet/ip_var.h, TCPIPLibs/netinet/tcp.h, TCPIPLibs/netinet/tcp_debug.h, TCPIPLibs/netinet/tcp_fsm.h, TCPIPLibs/netinet/tcp_seq.h, TCPIPLibs/netinet/tcp_timer.h, TCPIPLibs/netinet/tcp_var.h, TCPIPLibs/netinet/tcpip.h, TCPIPLibs/netinet/udp.h, TCPIPLibs/netinet/udp_var.h, TCPIPLibs/netiso/iso.h, TCPIPLibs/netiso/iso_var.h, TCPIPLibs/netns/ns.h, TCPIPLibs/netns/ns_if.h, TCPIPLibs/protocols/routed.h, TCPIPLibs/sys/_posix.h, TCPIPLibs/sys/acct.h, TCPIPLibs/sys/buf.h, TCPIPLibs/sys/callout.h, TCPIPLibs/sys/cdefs.h, TCPIPLibs/sys/clist.h, TCPIPLibs/sys/conf.h, TCPIPLibs/sys/dir.h, TCPIPLibs/sys/dirent.h, TCPIPLibs/sys/domain.h, TCPIPLibs/sys/errno.h, TCPIPLibs/sys/fcntl.h, TCPIPLibs/sys/file.h, TCPIPLibs/sys/filedesc.h, TCPIPLibs/sys/filio.h, TCPIPLibs/sys/ioccom.h, TCPIPLibs/sys/ioctl.h, TCPIPLibs/sys/ioctl_compat.h, TCPIPLibs/sys/ipc.h, TCPIPLibs/sys/kernel.h, TCPIPLibs/sys/linker_set.h, TCPIPLibs/sys/malloc.h, TCPIPLibs/sys/mount.h, TCPIPLibs/sys/namei.h, TCPIPLibs/sys/param.h, TCPIPLibs/sys/proc.h, TCPIPLibs/sys/protosw.h, TCPIPLibs/sys/queue.h, TCPIPLibs/sys/resource.h, TCPIPLibs/sys/select.h, TCPIPLibs/sys/signal.h, TCPIPLibs/sys/signalvar.h, TCPIPLibs/sys/socket.h, TCPIPLibs/sys/socketvar.h, TCPIPLibs/sys/sockio.h, TCPIPLibs/sys/stat.h, TCPIPLibs/sys/syscall.h, TCPIPLibs/sys/sysctl.h, TCPIPLibs/sys/syslimits.h, TCPIPLibs/sys/syslog.h, TCPIPLibs/sys/systm.h, TCPIPLibs/sys/termios.h, TCPIPLibs/sys/time.h, TCPIPLibs/sys/timeb.h, TCPIPLibs/sys/times.h, TCPIPLibs/sys/tty.h, TCPIPLibs/sys/ttychars.h, TCPIPLibs/sys/ttycom.h, TCPIPLibs/sys/ttydefaults.h, TCPIPLibs/sys/ttydev.h, TCPIPLibs/sys/types.h, TCPIPLibs/sys/ucred.h, TCPIPLibs/sys/uio.h, TCPIPLibs/sys/un.h, TCPIPLibs/sys/unistd.h, TCPIPLibs/sys/unpcb.h, TCPIPLibs/sys/user.h, TCPIPLibs/sys/vnode.h, TCPIPLibs/sys/wait.h: Imported Castle C/C++'s TCPIPLibs headers, at least those under a BSD licence from Berkeley or a BSD licence without the advertising clause from others. 2003-09-02 16:12 caliston * EYModule.c, Makefile,fe1, intveneer.s, cmhg/EYModHdr: Made CMHG generate IntVeneer rather than use Castle's assembler version. Global variables work now. 2003-09-01 22:28 caliston * CSEquates.h, EYEquates.h, EYModule.c, EYModule.h, EYStructs.h, Includes.h, Makefile,fe1, TODO, diagmacros.h, diagnostic.c, diagnostic.h, ethernet.h, freebsdif.h, if.c, if_cs.c, intveneer.s, io-a4econet.s, mbuf_c.h, modstruct.h, opt_fbsd.h, opt_posix.h, serialdbg.c, serialdbg.h, smc_support.c, cmhg/EYModHdr: Debugging interrupts: Added SetBorder/SetPointer macros/functions to monitor interrupt routines - not good on a mono A4 LCD without screen border (borders don't show in multiscan modes on monitor either, and AKF60 can't take TV modes :-( Added serial debugging functions to get better dump in interrupt routine Found bug in Castle's IntVeneer function: it assumes r12 points to 'workspace' struct. However C's global variables won't work unless r12 is module's private word as supplied from veneers. Need a new IntVeneer made by CMHG not Castle, and OS_Claim/ReleaseDeviceVector to supply right r12. Added file modification notices as required by the GPL. 2003-08-29 20:12 caliston * EYModule.c, EYModule.h, Includes.h, Makefile,fe1, a4econet.h, diagmacros.h, diagnostic.c, diagnostic.h, if_cs.c, if_cs.h, smc_support.c, syslog.h, syslog.s: Started work on interrupts. Added code to flash VIDC border to trace interrupt code, also brought in SysLog based logging. Interrupts are coming through, but causing an abort in insw(). Fixed two bugs (?) in Castle's code where interrupts weren't be turned on again, and where podule interrupt was being disabled on shutdown contrary to the PRM. 2003-08-29 17:35 caliston * EYModule.c, Makefile,fe1, if_cs.c, if_cs.h, intveneer.s, cmhg/EYModHdr: Put in test call to cs_get_packet - hardware does notice that frames are coming in. Fixed bug with insw()/outsw() not being NIC_SHIFTed - didn't matter on tests so far since they were using offset zero. Added SWI names. 2003-08-28 19:56 caliston * CSEquates.h, Includes.h, Makefile,fe1, ethernet.h, freebsdif.h, if.c, if.h, if_cs.c, if_csvar.h, if_media.h, intveneer.s: Ugh. Decided to change my build environment from Castle's TCPIPLibs to those supplied with RISC OS Ltd's StubsG. Of course all the header files have subtle differences. Which means lots of hackery just to get it to compile. What a mess. Gave up in the end to get on with something useful. Anyway we can now build without _KERNEL and KERNEL being set with Castle's library - but something in Castle's TCPIPLibs is setting them anyway. ROL's version is missing net/ethernet.h - so we include it here. struct arpcom is also missing from net/if_arp.h - we include it in if.h here if necessary (in Castle's version we can't _stop_ it being pulled in). Random errors not found in ROL's version are also included. In other news, intveneer.s has grown some CS89x0 interrupt disable code. So far untested. 2003-08-28 18:38 caliston * TODO, intveneer.s: Identified hardware specific parts of intveneer.s 2003-08-27 19:10 caliston * DCI.h, EYModule.c, EYStructs.h, Makefile,fe1, a4econet.h, if_cs.c, if_cs.h, if_csvar.h, io-a4econet.s: Fixed bug in outsw() - low byte was getting corrupted on writes to hardware Now send_test_pkt() sends a fake ARP packet - enough to fool tcpdump into displaying it correctly. Packet comes over the wire OK. Added basics of DCI4 stats gathering interface - not filled in, but *ShowStat displays some of it correctly. 2003-08-27 15:38 caliston * DCI.h, EYModule.c, EYStructs.h, Includes.h, Makefile,fe1, a4econet.h, freebsdif.h, if.c, if_cs.c, mbuf_c.h, smc_support.c, cmhg/EYModHdr: Now registers with MBufManager, returns DIB (stats not set up yet) 2003-08-26 16:30 caliston * EYModule.c, Makefile,fe1, TODO, a4econet.h, if_cs.c, if_cs.h, io-a4econet.s, cmhg/EYModHdr: Now correctly probes and inits hardware 2003-08-21 19:51 caliston * io.s: Drat: rechecked io.s out of head not this branch 2003-08-21 19:50 caliston * EYModule.c, Includes.h, Makefile,fe1, a4econet.h, if_csreg.h, io-a4econet.s, io.s: Abstracted hardware specific values into header file 2003-08-21 19:02 caliston * EYModule.c, Includes.h, Makefile,fe1, TODO, if_cs.c, if_cs.h, io.s: SMC stuff commented out enough to allow module to compile 2003-08-21 17:45 caliston * EYEquates.h, EYModule.c, EYModule.h, EYStructs.h, Includes.h, freebsdif.h, if.c, if.h, if_cs.c, if_cs.h, if_csreg.h, if_csvar.h, mbuf_c.h, modstruct.h, opt_fbsd.h, opt_posix.h: Modified FreeBSD src/sys/dev/cs sources enough to compile - most of the mbuf stuff is commented out 2003-08-21 17:37 caliston * if_cs.c, if_cs_isa.c, if_csreg.h, if_csvar.h, if_media.c, if_media.h: Imported sources from FreeBSD-current (dated 20030818) 2003-08-16 17:30 caliston * DCI.h, EYEquates.h, EYModule.c, EYModule.h, EYStructs.h, EYif.h, Includes.h, Makefile,fe1, TODO, cs89x0.c, cs89x0.h, cs89x0strc.h, if_ether.h, mbuf_c.h, ptrace.h, smc_support.c: Started work to cs89x0.c from Linux 2.5.66 to allow it to compile. Main areas of work: Alter from sk_buff to mbuf structures (10% done) Adapt to DCI4 stats structure (50% done) Linux-RISC OS interrupt handling needs work (5% done) - need to generalise EtherY away from Castle's hardware 2003-08-16 16:19 caliston * cs89x0.c, cs89x0.h, if_ether.h, ptrace.h: Added files cs89x0.*, if_ether.h, ptrace.h from Linux 2.5.66 2003-08-09 19:51 atm26 * Makefile,fe1, swis.h: Renamed swis.h to eyswis.h - clash with C:h.swis 2003-08-09 19:45 atm26 * Makefile,fe1, eyswis.h: Fixed abort on RISC OS 3.1 2003-08-09 19:38 atm26 * EYEquates.h, EYModule.c, Includes.h, Makefile,fe1: Now doesn't abort on RISC OS 3.1 2003-03-23 17:33 atm26 * Makefile,fe1: Initial import of Justin Fletcher's EtherY sources 2003-03-23 17:33 atm26 * Makefile,fe1: Initial revision 2003-03-21 04:50 atm26 * Notes: Initial import of Justin Fletcher's EtherY sources 2003-03-21 04:50 atm26 * Notes: Initial revision 2003-02-14 17:44 atm26 * diagmacros.h: Initial import of Justin Fletcher's EtherY sources 2003-02-14 17:44 atm26 * diagmacros.h: Initial revision 2003-02-14 16:38 atm26 * cmhg/EYModHdr: Initial import of Justin Fletcher's EtherY sources 2003-02-14 16:38 atm26 * cmhg/EYModHdr: Initial revision 2003-02-14 16:34 atm26 * io.s, testarea.s: Initial import of Justin Fletcher's EtherY sources 2003-02-14 16:34 atm26 * io.s, testarea.s: Initial revision 2003-02-14 16:30 atm26 * diagpr.s, intveneer.s: Initial import of Justin Fletcher's EtherY sources 2003-02-14 16:30 atm26 * diagpr.s, intveneer.s: Initial revision 2003-02-13 23:40 atm26 * SWINames.h, RegNames.h, Equates.h, bases.h, mbuf_c.h, DCI.h, smc91111.h, Includes.h, EYStructs.h, diagnostic.h, EYModule.h, EYEquates.h, swis.h: Initial import of Justin Fletcher's EtherY sources 2003-02-13 23:40 atm26 * SWINames.h, RegNames.h, Equates.h, bases.h, mbuf_c.h, DCI.h, smc91111.h, Includes.h, EYStructs.h, diagnostic.h, EYModule.h, EYEquates.h, swis.h: Initial revision 2003-02-13 23:21 atm26 * EYModule.c, smc91111.c, diagnostic.c, smc_support.c: Initial import of Justin Fletcher's EtherY sources 2003-02-13 23:21 atm26 * EYModule.c, smc91111.c, diagnostic.c, smc_support.c: Initial revision 2003-02-13 23:18 atm26 * bases.s: Initial import of Justin Fletcher's EtherY sources 2003-02-13 23:18 atm26 * bases.s: Initial revision 2002-08-10 00:50 atm26 * LICENSE: Initial import of Justin Fletcher's EtherY sources 2002-08-10 00:50 atm26 * LICENSE: Initial revision