TODO revision 1.1
11.1Sscole$ NetBSD: TODO,v 1.1 2018/04/14 12:06:03 scole Exp $ 21.1Sscole 31.1SscoleWhat works: 41.1Sscole The ski simulator (pkgsrc/emulators/ski) works on NetBSD, can run 51.1Sscole and step through in assembly. 61.1Sscole 71.1Sscole Netbooting may work on some machines, basically you need to boot 81.1Sscole diskless with the loader.efi (from src/sys/arch/ia64/stand/ia64/) 91.1Sscole using dhcpd and put the kernel in a nfs accessible directory. There 101.1Sscole is info here https://www.netbsd.org/docs/network/netboot/ and 111.1Sscole http://gnats.netbsd.org/49717 about how to setup. 121.1Sscole 131.1Sscole Also, a successful report of booting off the CD is here 141.1Sscole http://mail-index.netbsd.org/port-ia64/2009/06/18/msg000102.html 151.1Sscole 161.1SscoleTasks remaining, first couple seem most important: 171.1Sscole 181.1Sscole- context switching and forking appear unfinished, 191.1Sscole vm_machdep.c::cpu_lwp_fork() appears incomplete 201.1Sscole- pmap module, imported from freebsd but still needs more work and 211.1Sscole testing 221.1Sscole- IA64 Stack unwind code: Support remaining unwind descriptor 231.1Sscole types. (See arch/ia64/unwind/TODO). ddb() traces need to print line 241.1Sscole information also. Seems like a lot of this could be re-used 251.1Sscole from freebsd 261.1Sscole- redo _regset.h in netbsd style with __greg_t __gregset_t 271.1Sscole- some commands in ski are not yet implemented, 2 important ones 281.1Sscole are still missing, "cstack" and "pm", which view the stack and 291.1Sscole source code lines respectively 301.1Sscole- create a ski network driver 311.1Sscole- create a ski disk driver 321.1Sscole- implement ld.elf_so, MK_DYNAMICROOT 331.1Sscole- fix memory detection, on real hardware doesn't find all memory 341.1Sscole- implement interrupts (sacpi & pci), can be mostly from freebsd? 351.1Sscole- MKLINT and MKGDB for ia64? 361.1Sscole- implement fp[gs]etsticky, [make|get|set|swap]context 371.1Sscole- floating point, fenv functions were imported from freebsd, but haven't been tested 381.1Sscole- implement core_machdep.c 391.1Sscole- implement __cloneS ptrace.S sbrk.S shmat.S 401.1Sscole- implement kvm_ia64.c 411.1Sscole- implement pmc (performance monitoring counters) for ia64 pmc registers 421.1Sscole- optional(?) mutex.h/lock_stubs.S, mutex_enter()/mutex_exit() __HAVE_MUTEX_STUBS 431.1Sscole mutex_spin_enter()/mutex_spin_exit() __HAVE_SPIN_MUTEX_STUBS 441.1Sscole- rwlock.h rw_enter(),rw_exit(),rw_tryenter() __HAVE_RW_STUBS, implemented already? 451.1Sscole- add efipart_dev to read gpt/ffs disks for bootloader 461.1Sscole- fix printf of lx in bootloader/libsa ? 471.1Sscole- sort out bootloader/loader.efi stuff, is freebsd one good enough or 481.1Sscole do we want commands more like netbsd i386 bootloader? e.g., add 491.1Sscole command to boot nfs from loader.efi instead of hack now 501.1Sscole- ia64 implement __HAVE_FAST_SOFTINTS? 511.1Sscole- fix all "[Nn]ot yet" and "XXX" functions everywhere 521.1Sscole- create/fix sys/arch/ia64/include/pci_machdep.h and implement actual functions, 531.1Sscole need to handle "multiple" pci busses like from http://www.openpa.net/systems/il/rp3400-bus.txt, 541.1Sscole add pchb, looks like one here 551.1Sscole http://mail-index.netbsd.org/port-ia64/2010/06/29/msg000116.html 561.1Sscole and/or could port from freebsd 571.1Sscole- Kernel module pre-loading via the bootloader 581.1Sscole- SMP 591.1Sscole- write console and/or X framebuffer driver. freebsd has vgapci 601.1Sscole device that may be portable 611.1Sscole- add ia32 emulation, port from freebsd 621.1Sscole- add rump stuff/MKRUMP 631.1Sscole- create install EFI/cdrom/netbsd 64