Ok this is the current todo list. There are a number of things that need to be done that I do not have time to do and am unlikely to have time to do them in the near future. These are currently being left in the hope that users will do them instead and are marked with *. 1. replace netinet/in_cksum.c with an assembly version (*) 2. replace netns/ns_chsum.c with an assembly version (*) 3. drivers for currently unsupported podules (*) 4. replacing the C string functions in libc with assembly ones (work started but not finished) (*) 5. porting libpthread to arm32 architecture (*) 6. the ARM FPE postproc handler should check need_resched and CURSIG() in the assembly glue and only switch to SVC and do a userret() if required. UNDER DEVELOPMENT 7. L1 page tables should be freed when a process is swapped out and reallocated when the process is swapped in. 8. bcopy() needs optimising. (*) 9. cleanup video DRAM support on machine with VRAM 10. clean up prototype declarations 11. support reading and writing the rtc device UNDER DEVELOPMENT 13. debug / replace console code. UNDER DEVELOPMENT 14. fix FPA probing. UNDER DEVELOPMENT 15. optimise ARM FPE glue code. UNDER DEVELOPMENT 16. modify wd.c to avoid using the softc in the probe function 17. fix mainbus configuration code 18. optimise irq delivery code 19. improve fiq handling code 20. Debug kernel linking with the NetBSD linker 21. Complete hydra support 22. Debug GCC/arm 23. PIC support in GCC/arm 24. Shared libraries 25. Remove debug.c 26. Remove stubs.c 27. Remove kshell/* 28. Remove postmortem.c 29. Debug audio drivers 30. Merge in lmcaudio driver for the RC7500. 31. 16 bit sound driver. 32. Create generic SEEQ8004/8005 driver. 33. Create ea and eb front ends for the generic SEEQ driver. 34. Replace EtherH driver with new version UNDER DEVELOPMENT 35. Merge in Ether2 driver 36. Reorganise kernel VM space 37. Implement DMA transfers to buffer memory for the asc driver. 38. Add interrupt and DMA support to the cosc driver 39. Write ADFS filesystem (*) 40. Optimise Strong ARM support UNDER DEVELOPMENT 41. Debug multiple mappings in pmap.c UNDER DEVELOPMENT 42. Optimise data xfers for the ea and eb drivers 43. Debug printer support 44. Update drivers to use new bus space macros UNDER DEVELOPMENT 45. Develop ICS IDE driver UNDER DEVELOPMENT 46. Develop Cumana SCSI I driver 47. Kernel multithreading 48. Kernel mutliprocessor support 49. Removed dependancy on IOMD. 50. Split code dependant on RiscPC's into separate files. 51. Rewrite IDE driver, split into ATA, ATAPI, wd devices etc. 52. Removed dependancy on VIDC20. 53. Debug serial consoles. 54. Develop RapIDE driver UNDER DEVELOPMENT 55. Restructure config and attach of IOMD dependant devices. 56. Implement EtherM driver 57. Create generic DMA handling routines 58. Implement PIOC driver as parent for wd, fd, com & lpt. 59. the podule attach args should pass the interrupt number for podule or network slot so that the podulebus is the only driver that needs to know about the irq numbers. 60. A mechanism for obtaining the MAC address for netslot cards is needed instead of drivers building it from the bootconfig machine ID. 61. Implement interrupts on the Connect32 driver 62. Debug IOMD DMA handling. 63. Implement driver for etherlan500 podule 64. Improve com driver.