TODO revision 1.5
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- pmap.c is getting compilation warnings (for gcc6 & gcc7) like 19 /var/tmp//cckQKcKn.s:7614: Warning: Use of 'st8' may violate RAW dependency 'RR#' (data) 20 ... 21 how to change compile flags for specific kernel file like "CFLAGS.pmap.c+= -O0" ? 22- context switching and forking appear unfinished, 23 vm_machdep.c::cpu_lwp_fork() appears incomplete 24- pmap module, imported from freebsd but still needs more work and 25 testing 26- IA64 Stack unwind code: Support remaining unwind descriptor 27 types. (See arch/ia64/unwind/TODO). ddb() traces need to print line 28 information also. Seems like a lot of this could be re-used 29 from freebsd 30- redo _regset.h in netbsd style with __greg_t __gregset_t 31- some commands in ski are not yet implemented, 2 important ones 32 are still missing, "cstack" and "pm", which view the stack and 33 source code lines respectively 34- create a ski network driver 35- create a ski disk driver 36- implement ld.elf_so, MK_DYNAMICROOT 37- fix memory detection, on real hardware doesn't find all memory 38- implement interrupts (sacpi & pci), can be mostly from freebsd? 39- MKGDB for ia64 40- implement fp[gs]etsticky, [make|get|set|swap]context 41- floating point, fenv functions were imported from freebsd, but haven't been tested 42- implement core_machdep.c 43- implement __cloneS ptrace.S sbrk.S shmat.S 44- implement kvm_ia64.c 45- implement pmc (performance monitoring counters) for ia64 pmc registers 46- implement ia64 md code for cpuctl, intrctl as needed 47- optional(?) mutex.h/lock_stubs.S, mutex_enter()/mutex_exit() __HAVE_MUTEX_STUBS 48 mutex_spin_enter()/mutex_spin_exit() __HAVE_SPIN_MUTEX_STUBS 49- rwlock.h rw_enter(),rw_exit(),rw_tryenter() __HAVE_RW_STUBS, implemented already? 50- add efipart_dev to read gpt/ffs disks for bootloader 51- fix printf of lx in bootloader/libsa ? 52- sort out bootloader/loader.efi stuff, is freebsd one good enough or 53 do we want commands more like netbsd i386 bootloader? e.g., add 54 command to boot nfs from loader.efi instead of hack now 55- ia64 implement __HAVE_FAST_SOFTINTS? 56- want or need __HAVE_CPU_UAREA_ROUTINES, cpu_uarea_alloc, cpu_uarea_free 57- fix all "[Nn]ot yet" and "XXX" functions everywhere 58- create/fix sys/arch/ia64/include/pci_machdep.h and implement actual functions, 59 need to handle "multiple" pci busses like from http://www.openpa.net/systems/il/rp3400-bus.txt, 60 add pchb, looks like one here 61 http://mail-index.netbsd.org/port-ia64/2010/06/29/msg000116.html 62 and/or could port from freebsd 63- Kernel module pre-loading via the bootloader 64- SMP 65- write console and/or X framebuffer driver. freebsd has vgapci 66 device that may be portable 67- add ia32 emulation, port from freebsd 68- create install EFI/cdrom/netbsd 69- fix ski to run on other archs beside i386, or at least amd64 70 71Pie in the sky 72- Xen and itanium! 73- qemu and itanium 74