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