Home | History | Annotate | Line # | Download | only in ia64
TODO revision 1.1
      1 $ NetBSD: TODO,v 1.1 2018/04/14 12:06:03 scole Exp $
      2 
      3 What 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 
     16 Tasks 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 - MKLINT and 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 - optional(?) mutex.h/lock_stubs.S, mutex_enter()/mutex_exit() __HAVE_MUTEX_STUBS
     43        mutex_spin_enter()/mutex_spin_exit() __HAVE_SPIN_MUTEX_STUBS
     44 - rwlock.h rw_enter(),rw_exit(),rw_tryenter() __HAVE_RW_STUBS, implemented already?
     45 - add efipart_dev to read gpt/ffs disks for bootloader
     46 - fix printf of lx in bootloader/libsa ?
     47 - sort out bootloader/loader.efi stuff, is freebsd one good enough or
     48   do we want commands more like netbsd i386 bootloader? e.g., add
     49   command to boot nfs from loader.efi instead of hack now
     50 - ia64 implement __HAVE_FAST_SOFTINTS?
     51 - fix all "[Nn]ot yet" and "XXX" functions everywhere
     52 - create/fix sys/arch/ia64/include/pci_machdep.h and implement actual functions,
     53   need to handle "multiple" pci busses like from http://www.openpa.net/systems/il/rp3400-bus.txt,
     54   add pchb, looks like one here
     55    http://mail-index.netbsd.org/port-ia64/2010/06/29/msg000116.html
     56   and/or could port from freebsd
     57 - Kernel module pre-loading via the bootloader
     58 - SMP
     59 - write console and/or X framebuffer driver.  freebsd has vgapci
     60   device that may be portable
     61 - add ia32 emulation, port from freebsd
     62 - add rump stuff/MKRUMP
     63 - create install EFI/cdrom/netbsd
     64