a little bit of clean up, sort ski items, and some notes about libunwind

This commit is contained in:
scole 2019-05-05 16:45:34 +00:00
parent 4612a321f5
commit f9fc993566
1 changed files with 27 additions and 24 deletions

View File

@ -1,7 +1,7 @@
$ 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
The ski simulator (pkgsrc/emulators/ski) works on NetBSD/i386, can run
and step through in assembly.
Netbooting may work on some machines, basically you need to boot
@ -13,32 +13,29 @@ What works:
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:
- pmap.c is getting compilation warnings (for gcc6 & gcc7) like
/var/tmp//cckQKcKn.s:7614: Warning: Use of 'st8' may violate RAW dependency 'RR#' (data)
...
how to change compile flags for specific kernel file like "CFLAGS.pmap.c+= -O0" ?
Tasks remaining:
- 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
- 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
information also. Seems like there are a few options:
1) fix and finish current unwind that is minimal, incomplete, and buggy
2) import FreeBSD/ia64 implementation, may be derived from HP originally:
http://lists.llvm.org/pipermail/cfe-dev/2016-September/050649.html
3) import this version
https://www.nongnu.org/libunwind/man/libunwind-ia64(3).html
originally written by one of ia64 gurus but still looks maintained
and portable
4) something else
- kernel with LOCKDEBUG option crashes in pmap startup somewhere
- 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?
- implement interrupts (sacpi & pci)
- 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
- floating point, fenv functions were imported from freebsd, but only compile tested
- implement core_machdep.c
- implement __cloneS ptrace.S sbrk.S shmat.S
- implement kvm_ia64.c
@ -48,10 +45,9 @@ Tasks remaining, first couple seem most important:
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
- sort out bootloader/loader.efi stuff, make it more like netbsd and
less like freebsd, command to boot nfs from loader.efi instead of
hack that exists now
- ia64 implement __HAVE_FAST_SOFTINTS?
- want or need __HAVE_CPU_UAREA_ROUTINES, cpu_uarea_alloc, cpu_uarea_free
- fix all "[Nn]ot yet" and "XXX" functions everywhere
@ -65,9 +61,16 @@ Tasks remaining, first couple seem most important:
- write console and/or X framebuffer driver. freebsd has vgapci
device that may be portable
- add ia32 emulation, port from freebsd
- create install EFI/cdrom/netbsd
- installation media for EFI/cdrom/usb
ski emulator tasks:
- 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
- fix ski to run on other archs beside i386, or at least amd64
Pie in the sky
Pie in the sky:
- Xen and itanium!
- qemu and itanium