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