TODO revision 1.6 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.6 scole The ski simulator (pkgsrc/emulators/ski) works on NetBSD/i386, can run
5 1.1 scole and step through in assembly.
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.6 scole - kernel with LOCKDEBUG option crashes in pmap startup somewhere
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.3 scole - fix ski to run on other archs beside i386, or at least amd64
73 1.2 scole
74 1.6 scole Pie in the sky:
75 1.2 scole - Xen and itanium!
76 1.2 scole - qemu and itanium
77