TODO revision 1.2
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.2Sscole- cpuctl 431.1Sscole- optional(?) mutex.h/lock_stubs.S, mutex_enter()/mutex_exit() __HAVE_MUTEX_STUBS 441.1Sscole mutex_spin_enter()/mutex_spin_exit() __HAVE_SPIN_MUTEX_STUBS 451.1Sscole- rwlock.h rw_enter(),rw_exit(),rw_tryenter() __HAVE_RW_STUBS, implemented already? 461.1Sscole- add efipart_dev to read gpt/ffs disks for bootloader 471.1Sscole- fix printf of lx in bootloader/libsa ? 481.1Sscole- sort out bootloader/loader.efi stuff, is freebsd one good enough or 491.1Sscole do we want commands more like netbsd i386 bootloader? e.g., add 501.1Sscole command to boot nfs from loader.efi instead of hack now 511.1Sscole- ia64 implement __HAVE_FAST_SOFTINTS? 521.2Sscole- want or need __HAVE_CPU_UAREA_ROUTINES, cpu_uarea_alloc, cpu_uarea_free 531.1Sscole- fix all "[Nn]ot yet" and "XXX" functions everywhere 541.1Sscole- create/fix sys/arch/ia64/include/pci_machdep.h and implement actual functions, 551.1Sscole need to handle "multiple" pci busses like from http://www.openpa.net/systems/il/rp3400-bus.txt, 561.1Sscole add pchb, looks like one here 571.1Sscole http://mail-index.netbsd.org/port-ia64/2010/06/29/msg000116.html 581.1Sscole and/or could port from freebsd 591.1Sscole- Kernel module pre-loading via the bootloader 601.1Sscole- SMP 611.1Sscole- write console and/or X framebuffer driver. freebsd has vgapci 621.1Sscole device that may be portable 631.1Sscole- add ia32 emulation, port from freebsd 641.1Sscole- add rump stuff/MKRUMP 651.1Sscole- create install EFI/cdrom/netbsd 661.2Sscole 671.2SscolePie in the sky 681.2Sscole- Xen and itanium! 691.2Sscole- qemu and itanium 70