Home | History | Annotate | Line # | Download | only in ia64
      1 $ NetBSD: TODO,v 1.10 2020/02/03 02:54:23 scole Exp $
      2 
      3 What works:
      4   The ski simulator (pkgsrc/emulators/ski) is known to work on NetBSD
      5   i386, amd64 and macppc. It "should" work on other archs as well.
      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:
     17 - context switching and forking appear unfinished,
     18   vm_machdep.c::cpu_lwp_fork() appears incomplete
     19 - pmap module, imported from freebsd but still needs more work and testing
     20 - IA64 Stack unwind code: Support remaining unwind descriptor
     21   types. (See arch/ia64/unwind/TODO). ddb() traces need to print line
     22   information also.  Seems like there are a few options:
     23    1) fix and finish current unwind that is minimal, incomplete, and buggy
     24    2) import FreeBSD/ia64 implementation, may be derived from HP originally:
     25       http://lists.llvm.org/pipermail/cfe-dev/2016-September/050649.html
     26    3) import this version
     27       https://www.nongnu.org/libunwind/man/libunwind-ia64(3).html
     28       originally written by one of ia64 gurus but still looks maintained
     29       and portable
     30    4) something else
     31 - redo _regset.h in netbsd style with __greg_t __gregset_t
     32 - implement ld.elf_so, MK_DYNAMICROOT
     33 - fix memory detection, on real hardware doesn't find all memory
     34 - implement interrupts (sacpi & pci)
     35 - MKGDB for ia64
     36 - implement fp[gs]etsticky, [make|get|set|swap]context
     37 - floating point, fenv functions were imported from freebsd, but only compile 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 - sort out bootloader/loader.efi stuff, make it more like netbsd and
     48   less like freebsd, command to boot nfs from loader.efi instead of
     49   hack that exists now
     50 - ia64 implement __HAVE_FAST_SOFTINTS?
     51 - want or need __HAVE_CPU_UAREA_ROUTINES, cpu_uarea_alloc,  cpu_uarea_free
     52 - fix all "[Nn]ot yet" and "XXX" functions everywhere
     53 - create/fix sys/arch/ia64/include/pci_machdep.h and implement actual functions,
     54   need to handle "multiple" pci busses like from http://www.openpa.net/systems/il/rp3400-bus.txt,
     55   add pchb, looks like one here
     56    http://mail-index.netbsd.org/port-ia64/2010/06/29/msg000116.html
     57   and/or could port from freebsd
     58 - Kernel module pre-loading via the bootloader
     59 - SMP
     60 - write console and/or X framebuffer driver.  freebsd has vgapci
     61   device that may be portable
     62 - add ia32 emulation, port from freebsd
     63 - installation media for EFI/cdrom/usb
     64 
     65 ski emulator tasks:
     66 - some commands in ski are not yet implemented. 2 important ones
     67   are still missing, "cstack" and "pm", which view the stack and
     68   source code lines respectively 
     69 - create a ski network driver
     70 - create a ski disk driver
     71 
     72 Pie in the sky:
     73 - Xen and itanium!
     74 - qemu and itanium
     75