Module Name:    src
Committed By:   scole
Date:           Sat Apr 14 20:21:09 UTC 2018

Added Files:
        src/sys/arch/ia64: TODO

Log Message:
List some obvious remaining items to-do


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/arch/ia64/TODO

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

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

Reply via email to