head	1.10;
access;
symbols
	perseant-exfatfs-base-20261102:1.10
	netbsd-11-1-RELEASE:1.10
	netbsd-10-2-RELEASE:1.10
	netbsd-9-5-RELEASE:1.7
	netbsd-11-0-RELEASE:1.10
	netbsd-11-0-RC7:1.10
	netbsd-11-0-RC6:1.10
	netbsd-11-0-RC5:1.10
	netbsd-11-0-RC4:1.10
	netbsd-11-0-RC3:1.10
	netbsd-11-0-RC2:1.10
	netbsd-11-0-RC1:1.10
	perseant-exfatfs-base-20250801:1.10
	netbsd-11:1.10.0.32
	netbsd-11-base:1.10
	netbsd-10-1-RELEASE:1.10
	perseant-exfatfs-base-20240630:1.10
	perseant-exfatfs:1.10.0.30
	perseant-exfatfs-base:1.10
	netbsd-9-4-RELEASE:1.7
	netbsd-10-0-RELEASE:1.10
	netbsd-10-0-RC6:1.10
	netbsd-10-0-RC5:1.10
	netbsd-10-0-RC4:1.10
	netbsd-10-0-RC3:1.10
	netbsd-10-0-RC2:1.10
	thorpej-ifq:1.10.0.28
	thorpej-ifq-base:1.10
	thorpej-altq-separation:1.10.0.26
	thorpej-altq-separation-base:1.10
	netbsd-10-0-RC1:1.10
	netbsd-10:1.10.0.24
	netbsd-10-base:1.10
	bouyer-sunxi-drm:1.10.0.22
	bouyer-sunxi-drm-base:1.10
	netbsd-9-3-RELEASE:1.7
	thorpej-i2c-spi-conf2:1.10.0.20
	thorpej-i2c-spi-conf2-base:1.10
	thorpej-futex2:1.10.0.18
	thorpej-futex2-base:1.10
	thorpej-cfargs2:1.10.0.16
	thorpej-cfargs2-base:1.10
	cjep_sun2x-base1:1.10
	cjep_sun2x:1.10.0.14
	cjep_sun2x-base:1.10
	cjep_staticlib_x-base1:1.10
	netbsd-9-2-RELEASE:1.7
	cjep_staticlib_x:1.10.0.12
	cjep_staticlib_x-base:1.10
	thorpej-i2c-spi-conf:1.10.0.10
	thorpej-i2c-spi-conf-base:1.10
	thorpej-cfargs:1.10.0.8
	thorpej-cfargs-base:1.10
	thorpej-futex:1.10.0.6
	thorpej-futex-base:1.10
	netbsd-9-1-RELEASE:1.7
	bouyer-xenpvh-base2:1.10
	phil-wifi-20200421:1.10
	bouyer-xenpvh-base1:1.10
	phil-wifi-20200411:1.10
	bouyer-xenpvh:1.10.0.4
	bouyer-xenpvh-base:1.10
	is-mlppp:1.10.0.2
	is-mlppp-base:1.10
	phil-wifi-20200406:1.10
	ad-namecache-base3:1.10
	netbsd-9-0-RELEASE:1.7
	netbsd-9-0-RC2:1.7
	ad-namecache-base2:1.9
	ad-namecache-base1:1.9
	ad-namecache:1.9.0.2
	ad-namecache-base:1.9
	netbsd-9-0-RC1:1.7
	phil-wifi-20191119:1.9
	netbsd-9:1.7.0.2
	netbsd-9-base:1.7
	phil-wifi-20190609:1.7
	isaki-audio2:1.5.0.2
	isaki-audio2-base:1.5
	pgoyette-compat-merge-20190127:1.1.2.3
	pgoyette-compat-20190127:1.2
	pgoyette-compat-20190118:1.2
	pgoyette-compat-1226:1.2
	pgoyette-compat-1126:1.2
	pgoyette-compat-1020:1.1
	pgoyette-compat-0930:1.1
	pgoyette-compat-0906:1.1
	pgoyette-compat-0728:1.1
	phil-wifi:1.1.0.4
	phil-wifi-base:1.1
	pgoyette-compat-0625:1.1
	pgoyette-compat-0521:1.1
	pgoyette-compat-0502:1.1
	pgoyette-compat-0422:1.1
	pgoyette-compat:1.1.0.2
	pgoyette-compat-0415:1.1;
locks; strict;
comment	@# @;


1.10
date	2020.02.03.02.56.25;	author scole;	state Exp;
branches;
next	1.9;
commitid	RVZz5PKOpKfqUaVB;

1.9
date	2019.11.17.16.52.29;	author scole;	state Exp;
branches
	1.9.2.1;
next	1.8;
commitid	uCCVU5OkIbUG2eLB;

1.8
date	2019.11.11.18.06.47;	author scole;	state Exp;
branches;
next	1.7;
commitid	Pl1kYtaV7kz8EsKB;

1.7
date	2019.05.22.15.34.26;	author scole;	state Exp;
branches;
next	1.6;
commitid	f43NdwlIJ8ZDmdoB;

1.6
date	2019.05.05.16.45.34;	author scole;	state Exp;
branches;
next	1.5;
commitid	JKbWVwYCBltVi2mB;

1.5
date	2019.04.03.21.03.06;	author scole;	state Exp;
branches;
next	1.4;
commitid	wdkMVqUcEQV2LWhB;

1.4
date	2019.01.30.22.53.22;	author scole;	state Exp;
branches;
next	1.3;
commitid	PjEAOsDo06vqoR9B;

1.3
date	2019.01.29.19.44.03;	author scole;	state Exp;
branches;
next	1.2;
commitid	9rg8ASh985wtnI9B;

1.2
date	2018.11.14.20.13.14;	author scole;	state Exp;
branches;
next	1.1;
commitid	BZwEY4CIljTWYWZA;

1.1
date	2018.04.14.20.21.09;	author scole;	state Exp;
branches
	1.1.2.1
	1.1.4.1;
next	;
commitid	EOsUs8ZkAeE8UryA;

1.9.2.1
date	2020.02.29.20.18.25;	author ad;	state Exp;
branches;
next	;
commitid	3HPOJ2wqM6gUPBYB;

1.1.2.1
date	2018.04.14.20.21.09;	author pgoyette;	state dead;
branches;
next	1.1.2.2;
commitid	qk3nktk0szmTIByA;

1.1.2.2
date	2018.04.16.01.59.55;	author pgoyette;	state Exp;
branches;
next	1.1.2.3;
commitid	qk3nktk0szmTIByA;

1.1.2.3
date	2018.11.26.01.52.25;	author pgoyette;	state Exp;
branches;
next	;
commitid	Zj4q5SspGdKXto1B;

1.1.4.1
date	2019.06.10.22.06.23;	author christos;	state Exp;
branches;
next	1.1.4.2;
commitid	jtc8rnCzWiEEHGqB;

1.1.4.2
date	2020.04.13.08.03.55;	author martin;	state Exp;
branches;
next	;
commitid	X01YhRUPVUDaec4C;


desc
@@


1.10
log
@Update architectures ski is known to run on
@
text
@$ NetBSD: TODO,v 1.10 2020/02/03 02:54:23 scole Exp $

What works:
  The ski simulator (pkgsrc/emulators/ski) is known to work on NetBSD
  i386, amd64 and macppc. It "should" work on other archs as well.

  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:
- 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 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
- 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
- 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 only compile 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
- implement ia64 md code for cpuctl, intrctl as needed
- 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
- 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
- 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
- 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

Pie in the sky:
- Xen and itanium!
- qemu and itanium
@


1.9
log
@Mention ski works on amd64 and probably other archs
@
text
@d1 1
a1 1
$ NetBSD: TODO,v 1.1 2018/04/14 12:06:03 scole Exp $
d5 1
a5 2
  i386 and amd64, and probably will work on other archs as well.  It
  can run and step through in assembly.
@


1.9.2.1
log
@Sync with head.
@
text
@d1 1
a1 1
$ NetBSD: TODO,v 1.10 2020/02/03 02:54:23 scole Exp $
d5 2
a6 1
  i386, amd64 and macppc. It "should" work on other archs as well.
@


1.8
log
@ski should run on i386 and amd64 with patches from http://gnats.netbsd.org/54690
@
text
@d4 3
a6 2
  The ski simulator (pkgsrc/emulators/ski) works on NetBSD/i386, can run
  and step through in assembly.
@


1.7
log
@LOCKDEBUG kernels should work now.
@
text
@a70 1
- fix ski to run on other archs beside i386, or at least amd64
@


1.6
log
@a little bit of clean up, sort ski items, and some notes about libunwind
@
text
@a30 1
- kernel with LOCKDEBUG option crashes in pmap startup somewhere
@


1.5
log
@add note about pmap.c compilation warnings
@
text
@d4 1
a4 1
  The ski simulator (pkgsrc/emulators/ski) works on NetBSD, can run
d16 1
a16 6
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" ?
d19 1
a19 2
- pmap module, imported from freebsd but still needs more work and
  testing
d22 10
a31 2
  information also.  Seems like a lot of this could be re-used
  from freebsd
a32 5
- 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
d35 1
a35 1
- implement interrupts (sacpi & pci), can be mostly from freebsd?
d38 1
a38 1
- floating point, fenv functions were imported from freebsd, but haven't been tested
d48 3
a50 4
- 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
d64 8
a71 1
- create install EFI/cdrom/netbsd
d74 1
a74 1
Pie in the sky
@


1.4
log
@RUMP building on ia64 now
@
text
@d18 4
@


1.3
log
@add more items
@
text
@a63 1
- add rump stuff/MKRUMP
@


1.2
log
@add more items
@
text
@d35 1
a35 1
- MKLINT and MKGDB for ia64?
d42 1
a42 1
- cpuctl
d66 1
@


1.1
log
@List some obvious remaining items to-do
@
text
@d42 1
d52 1
d66 4
@


1.1.4.1
log
@Sync with HEAD
@
text
@d4 1
a4 1
  The ski simulator (pkgsrc/emulators/ski) works on NetBSD/i386, can run
d16 2
a17 1
Tasks remaining:
d20 2
a21 1
- pmap module, imported from freebsd but still needs more work and testing
d24 2
a25 9
  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
d27 5
d34 2
a35 2
- implement interrupts (sacpi & pci)
- MKGDB for ia64
d37 1
a37 1
- floating point, fenv functions were imported from freebsd, but only compile tested
a41 1
- implement ia64 md code for cpuctl, intrctl as needed
d46 4
a49 3
- 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
a50 1
- want or need __HAVE_CPU_UAREA_ROUTINES, cpu_uarea_alloc,  cpu_uarea_free
d62 2
a63 13
- 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:
- Xen and itanium!
- qemu and itanium
@


1.1.4.2
log
@Mostly merge changes from HEAD upto 20200411
@
text
@d1 1
a1 1
$ NetBSD: TODO,v 1.10 2020/02/03 02:54:23 scole Exp $
d4 2
a5 2
  The ski simulator (pkgsrc/emulators/ski) is known to work on NetBSD
  i386, amd64 and macppc. It "should" work on other archs as well.
d71 1
@


1.1.2.1
log
@file TODO was added on branch pgoyette-compat on 2018-04-16 01:59:55 +0000
@
text
@d1 63
@


1.1.2.2
log
@Sync with HEAD, resolve some conflicts
@
text
@a0 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
@


1.1.2.3
log
@Sync with HEAD, resolve a couple of conflicts
@
text
@a41 1
- cpuctl
a50 1
- want or need __HAVE_CPU_UAREA_ROUTINES, cpu_uarea_alloc,  cpu_uarea_free
a63 4

Pie in the sky
- Xen and itanium!
- qemu and itanium
@


