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