2020-02-03 05:56:25 +03:00
|
|
|
$ NetBSD: TODO,v 1.10 2020/02/03 02:54:23 scole Exp $
|
2018-04-14 23:21:09 +03:00
|
|
|
|
|
|
|
What works:
|
2019-11-17 19:52:29 +03:00
|
|
|
The ski simulator (pkgsrc/emulators/ski) is known to work on NetBSD
|
2020-02-03 05:56:25 +03:00
|
|
|
i386, amd64 and macppc. It "should" work on other archs as well.
|
2018-04-14 23:21:09 +03:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2019-05-05 19:45:34 +03:00
|
|
|
Tasks remaining:
|
2018-04-14 23:21:09 +03:00
|
|
|
- context switching and forking appear unfinished,
|
|
|
|
vm_machdep.c::cpu_lwp_fork() appears incomplete
|
2019-05-05 19:45:34 +03:00
|
|
|
- pmap module, imported from freebsd but still needs more work and testing
|
2018-04-14 23:21:09 +03:00
|
|
|
- IA64 Stack unwind code: Support remaining unwind descriptor
|
|
|
|
types. (See arch/ia64/unwind/TODO). ddb() traces need to print line
|
2019-05-05 19:45:34 +03:00
|
|
|
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
|
2018-04-14 23:21:09 +03:00
|
|
|
- redo _regset.h in netbsd style with __greg_t __gregset_t
|
|
|
|
- implement ld.elf_so, MK_DYNAMICROOT
|
|
|
|
- fix memory detection, on real hardware doesn't find all memory
|
2019-05-05 19:45:34 +03:00
|
|
|
- implement interrupts (sacpi & pci)
|
2019-01-29 22:44:03 +03:00
|
|
|
- MKGDB for ia64
|
2018-04-14 23:21:09 +03:00
|
|
|
- implement fp[gs]etsticky, [make|get|set|swap]context
|
2019-05-05 19:45:34 +03:00
|
|
|
- floating point, fenv functions were imported from freebsd, but only compile tested
|
2018-04-14 23:21:09 +03:00
|
|
|
- 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
|
2019-01-29 22:44:03 +03:00
|
|
|
- implement ia64 md code for cpuctl, intrctl as needed
|
2018-04-14 23:21:09 +03:00
|
|
|
- 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
|
2019-05-05 19:45:34 +03:00
|
|
|
- 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
|
2018-04-14 23:21:09 +03:00
|
|
|
- ia64 implement __HAVE_FAST_SOFTINTS?
|
2018-11-14 23:13:14 +03:00
|
|
|
- want or need __HAVE_CPU_UAREA_ROUTINES, cpu_uarea_alloc, cpu_uarea_free
|
2018-04-14 23:21:09 +03:00
|
|
|
- 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
|
2019-05-05 19:45:34 +03:00
|
|
|
- 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
|
2018-11-14 23:13:14 +03:00
|
|
|
|
2019-05-05 19:45:34 +03:00
|
|
|
Pie in the sky:
|
2018-11-14 23:13:14 +03:00
|
|
|
- Xen and itanium!
|
|
|
|
- qemu and itanium
|