TODO revision 1.10 1 1.10 scole $ NetBSD: TODO,v 1.10 2020/02/03 02:54:23 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.10 scole i386, amd64 and macppc. It "should" work on other archs as well.
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.1 scole - redo _regset.h in netbsd style with __greg_t __gregset_t
32 1.1 scole - implement ld.elf_so, MK_DYNAMICROOT
33 1.1 scole - fix memory detection, on real hardware doesn't find all memory
34 1.6 scole - implement interrupts (sacpi & pci)
35 1.3 scole - MKGDB for ia64
36 1.1 scole - implement fp[gs]etsticky, [make|get|set|swap]context
37 1.6 scole - floating point, fenv functions were imported from freebsd, but only compile tested
38 1.1 scole - implement core_machdep.c
39 1.1 scole - implement __cloneS ptrace.S sbrk.S shmat.S
40 1.1 scole - implement kvm_ia64.c
41 1.1 scole - implement pmc (performance monitoring counters) for ia64 pmc registers
42 1.3 scole - implement ia64 md code for cpuctl, intrctl as needed
43 1.1 scole - optional(?) mutex.h/lock_stubs.S, mutex_enter()/mutex_exit() __HAVE_MUTEX_STUBS
44 1.1 scole mutex_spin_enter()/mutex_spin_exit() __HAVE_SPIN_MUTEX_STUBS
45 1.1 scole - rwlock.h rw_enter(),rw_exit(),rw_tryenter() __HAVE_RW_STUBS, implemented already?
46 1.1 scole - add efipart_dev to read gpt/ffs disks for bootloader
47 1.6 scole - sort out bootloader/loader.efi stuff, make it more like netbsd and
48 1.6 scole less like freebsd, command to boot nfs from loader.efi instead of
49 1.6 scole hack that exists now
50 1.1 scole - ia64 implement __HAVE_FAST_SOFTINTS?
51 1.2 scole - want or need __HAVE_CPU_UAREA_ROUTINES, cpu_uarea_alloc, cpu_uarea_free
52 1.1 scole - fix all "[Nn]ot yet" and "XXX" functions everywhere
53 1.1 scole - create/fix sys/arch/ia64/include/pci_machdep.h and implement actual functions,
54 1.1 scole need to handle "multiple" pci busses like from http://www.openpa.net/systems/il/rp3400-bus.txt,
55 1.1 scole add pchb, looks like one here
56 1.1 scole http://mail-index.netbsd.org/port-ia64/2010/06/29/msg000116.html
57 1.1 scole and/or could port from freebsd
58 1.1 scole - Kernel module pre-loading via the bootloader
59 1.1 scole - SMP
60 1.1 scole - write console and/or X framebuffer driver. freebsd has vgapci
61 1.1 scole device that may be portable
62 1.1 scole - add ia32 emulation, port from freebsd
63 1.6 scole - installation media for EFI/cdrom/usb
64 1.6 scole
65 1.6 scole ski emulator tasks:
66 1.6 scole - some commands in ski are not yet implemented. 2 important ones
67 1.6 scole are still missing, "cstack" and "pm", which view the stack and
68 1.6 scole source code lines respectively
69 1.6 scole - create a ski network driver
70 1.6 scole - create a ski disk driver
71 1.2 scole
72 1.6 scole Pie in the sky:
73 1.2 scole - Xen and itanium!
74 1.2 scole - qemu and itanium
75