TODO revision 1.1.2.2 1 1.1.2.2 pgoyette $ NetBSD: TODO,v 1.1 2018/04/14 12:06:03 scole Exp $
2 1.1.2.2 pgoyette
3 1.1.2.2 pgoyette What works:
4 1.1.2.2 pgoyette The ski simulator (pkgsrc/emulators/ski) works on NetBSD, can run
5 1.1.2.2 pgoyette and step through in assembly.
6 1.1.2.2 pgoyette
7 1.1.2.2 pgoyette Netbooting may work on some machines, basically you need to boot
8 1.1.2.2 pgoyette diskless with the loader.efi (from src/sys/arch/ia64/stand/ia64/)
9 1.1.2.2 pgoyette using dhcpd and put the kernel in a nfs accessible directory. There
10 1.1.2.2 pgoyette is info here https://www.netbsd.org/docs/network/netboot/ and
11 1.1.2.2 pgoyette http://gnats.netbsd.org/49717 about how to setup.
12 1.1.2.2 pgoyette
13 1.1.2.2 pgoyette Also, a successful report of booting off the CD is here
14 1.1.2.2 pgoyette http://mail-index.netbsd.org/port-ia64/2009/06/18/msg000102.html
15 1.1.2.2 pgoyette
16 1.1.2.2 pgoyette Tasks remaining, first couple seem most important:
17 1.1.2.2 pgoyette
18 1.1.2.2 pgoyette - context switching and forking appear unfinished,
19 1.1.2.2 pgoyette vm_machdep.c::cpu_lwp_fork() appears incomplete
20 1.1.2.2 pgoyette - pmap module, imported from freebsd but still needs more work and
21 1.1.2.2 pgoyette testing
22 1.1.2.2 pgoyette - IA64 Stack unwind code: Support remaining unwind descriptor
23 1.1.2.2 pgoyette types. (See arch/ia64/unwind/TODO). ddb() traces need to print line
24 1.1.2.2 pgoyette information also. Seems like a lot of this could be re-used
25 1.1.2.2 pgoyette from freebsd
26 1.1.2.2 pgoyette - redo _regset.h in netbsd style with __greg_t __gregset_t
27 1.1.2.2 pgoyette - some commands in ski are not yet implemented, 2 important ones
28 1.1.2.2 pgoyette are still missing, "cstack" and "pm", which view the stack and
29 1.1.2.2 pgoyette source code lines respectively
30 1.1.2.2 pgoyette - create a ski network driver
31 1.1.2.2 pgoyette - create a ski disk driver
32 1.1.2.2 pgoyette - implement ld.elf_so, MK_DYNAMICROOT
33 1.1.2.2 pgoyette - fix memory detection, on real hardware doesn't find all memory
34 1.1.2.2 pgoyette - implement interrupts (sacpi & pci), can be mostly from freebsd?
35 1.1.2.2 pgoyette - MKLINT and MKGDB for ia64?
36 1.1.2.2 pgoyette - implement fp[gs]etsticky, [make|get|set|swap]context
37 1.1.2.2 pgoyette - floating point, fenv functions were imported from freebsd, but haven't been tested
38 1.1.2.2 pgoyette - implement core_machdep.c
39 1.1.2.2 pgoyette - implement __cloneS ptrace.S sbrk.S shmat.S
40 1.1.2.2 pgoyette - implement kvm_ia64.c
41 1.1.2.2 pgoyette - implement pmc (performance monitoring counters) for ia64 pmc registers
42 1.1.2.2 pgoyette - optional(?) mutex.h/lock_stubs.S, mutex_enter()/mutex_exit() __HAVE_MUTEX_STUBS
43 1.1.2.2 pgoyette mutex_spin_enter()/mutex_spin_exit() __HAVE_SPIN_MUTEX_STUBS
44 1.1.2.2 pgoyette - rwlock.h rw_enter(),rw_exit(),rw_tryenter() __HAVE_RW_STUBS, implemented already?
45 1.1.2.2 pgoyette - add efipart_dev to read gpt/ffs disks for bootloader
46 1.1.2.2 pgoyette - fix printf of lx in bootloader/libsa ?
47 1.1.2.2 pgoyette - sort out bootloader/loader.efi stuff, is freebsd one good enough or
48 1.1.2.2 pgoyette do we want commands more like netbsd i386 bootloader? e.g., add
49 1.1.2.2 pgoyette command to boot nfs from loader.efi instead of hack now
50 1.1.2.2 pgoyette - ia64 implement __HAVE_FAST_SOFTINTS?
51 1.1.2.2 pgoyette - fix all "[Nn]ot yet" and "XXX" functions everywhere
52 1.1.2.2 pgoyette - create/fix sys/arch/ia64/include/pci_machdep.h and implement actual functions,
53 1.1.2.2 pgoyette need to handle "multiple" pci busses like from http://www.openpa.net/systems/il/rp3400-bus.txt,
54 1.1.2.2 pgoyette add pchb, looks like one here
55 1.1.2.2 pgoyette http://mail-index.netbsd.org/port-ia64/2010/06/29/msg000116.html
56 1.1.2.2 pgoyette and/or could port from freebsd
57 1.1.2.2 pgoyette - Kernel module pre-loading via the bootloader
58 1.1.2.2 pgoyette - SMP
59 1.1.2.2 pgoyette - write console and/or X framebuffer driver. freebsd has vgapci
60 1.1.2.2 pgoyette device that may be portable
61 1.1.2.2 pgoyette - add ia32 emulation, port from freebsd
62 1.1.2.2 pgoyette - add rump stuff/MKRUMP
63 1.1.2.2 pgoyette - create install EFI/cdrom/netbsd
64