TODO revision 1.3
1$ NetBSD: TODO,v 1.1 2018/04/14 12:06:03 scole Exp $ 2 3What works: 4 The ski simulator (pkgsrc/emulators/ski) works on NetBSD, can run 5 and step through in assembly. 6 7 Netbooting may work on some machines, basically you need to boot 8 diskless with the loader.efi (from src/sys/arch/ia64/stand/ia64/) 9 using dhcpd and put the kernel in a nfs accessible directory. There 10 is info here https://www.netbsd.org/docs/network/netboot/ and 11 http://gnats.netbsd.org/49717 about how to setup. 12 13 Also, a successful report of booting off the CD is here 14 http://mail-index.netbsd.org/port-ia64/2009/06/18/msg000102.html 15 16Tasks remaining, first couple seem most important: 17 18- context switching and forking appear unfinished, 19 vm_machdep.c::cpu_lwp_fork() appears incomplete 20- pmap module, imported from freebsd but still needs more work and 21 testing 22- IA64 Stack unwind code: Support remaining unwind descriptor 23 types. (See arch/ia64/unwind/TODO). ddb() traces need to print line 24 information also. Seems like a lot of this could be re-used 25 from freebsd 26- redo _regset.h in netbsd style with __greg_t __gregset_t 27- some commands in ski are not yet implemented, 2 important ones 28 are still missing, "cstack" and "pm", which view the stack and 29 source code lines respectively 30- create a ski network driver 31- create a ski disk driver 32- implement ld.elf_so, MK_DYNAMICROOT 33- fix memory detection, on real hardware doesn't find all memory 34- implement interrupts (sacpi & pci), can be mostly from freebsd? 35- MKGDB for ia64 36- implement fp[gs]etsticky, [make|get|set|swap]context 37- floating point, fenv functions were imported from freebsd, but haven't been tested 38- implement core_machdep.c 39- implement __cloneS ptrace.S sbrk.S shmat.S 40- implement kvm_ia64.c 41- implement pmc (performance monitoring counters) for ia64 pmc registers 42- implement ia64 md code for cpuctl, intrctl as needed 43- optional(?) mutex.h/lock_stubs.S, mutex_enter()/mutex_exit() __HAVE_MUTEX_STUBS 44 mutex_spin_enter()/mutex_spin_exit() __HAVE_SPIN_MUTEX_STUBS 45- rwlock.h rw_enter(),rw_exit(),rw_tryenter() __HAVE_RW_STUBS, implemented already? 46- add efipart_dev to read gpt/ffs disks for bootloader 47- fix printf of lx in bootloader/libsa ? 48- sort out bootloader/loader.efi stuff, is freebsd one good enough or 49 do we want commands more like netbsd i386 bootloader? e.g., add 50 command to boot nfs from loader.efi instead of hack now 51- ia64 implement __HAVE_FAST_SOFTINTS? 52- want or need __HAVE_CPU_UAREA_ROUTINES, cpu_uarea_alloc, cpu_uarea_free 53- fix all "[Nn]ot yet" and "XXX" functions everywhere 54- create/fix sys/arch/ia64/include/pci_machdep.h and implement actual functions, 55 need to handle "multiple" pci busses like from http://www.openpa.net/systems/il/rp3400-bus.txt, 56 add pchb, looks like one here 57 http://mail-index.netbsd.org/port-ia64/2010/06/29/msg000116.html 58 and/or could port from freebsd 59- Kernel module pre-loading via the bootloader 60- SMP 61- write console and/or X framebuffer driver. freebsd has vgapci 62 device that may be portable 63- add ia32 emulation, port from freebsd 64- add rump stuff/MKRUMP 65- create install EFI/cdrom/netbsd 66- fix ski to run on other archs beside i386, or at least amd64 67 68Pie in the sky 69- Xen and itanium! 70- qemu and itanium 71