Subject: Projects for sparc64
To: David Brownlee <abs@netbsd.org>
From: Eduardo E. Horvath <eeh@one-o.com>
List: port-sparc
Date: 02/15/2000 10:19:58
> 	Do you want to put together a list of projects on which people
> 	could best help?

Sure.  I can even separate them into categories.  Off the top of my
head:

Kernel:

	COMPAT_NETBSD32: This needs a lot more work.  A number of
		system calls either need to be completely
		re-implemented inside this module or they need to be
		modularized so they don't issue copyin()/copyout()s
		and all the parameters can be converted.

	Move up KERNELBASE: KENELBASE is currently 0x00000000f1000000
		even on 64-bit kernels.  We need to either move it
		well into 64-bit land or bite the bullet and
		completely separate the user and kernel address
		spaces.

	Optimized bcopy: I recently coded a bzero/memset that uses
		block load/store instructions.  The same thing needs
		to be done to bcopy/memmove.

	Cleanup locore.s: Locore.s needs a cleanup.  Context switching
		could be improved.

	KGDB: I destroyed the kgdb code and never fixed it back up.

	MP: We need code to probe and attach multiple CPUs.  CPU
		structures need to be added.  The MMU code needs to be
		made MP complient.

	Core dumps: The kernel core dumping code needs to be fixed.

	Booting: The existing bootloader(s) only support booting from
		disk.  Work needs to be done on netbooting and CDROMs.


Driver:

	fas: Enhance the ncr53c9x driver to support the FAS 366 chip
		and create an FAS SBus front end.

	hme: Create a PCI frontend to the HME driver.

	su: We need to take the `com' driver (NS16450/NS16550AF), add
		an `ebus' frontend, and (somehow) hang the Sun
		keyboard and mouse drivers off it.

	se: A driver for the Siemens 82... (um... I need to look up
		the part number) serial chip and front ends for the
		`ebus'.

	ffb: Need to write a driver for this.


Kernel interface:

	libkvm: libkvm needs to be able to read kernel core dumps.

	32/64-bit interoperability: Most of userland does not need to
		be 64-bit.  It's sometimes more efficient to run
		32-bit binaries on a 64-bit kernel, and it would be
		nice to be able to share most of userland between the
		sparc64 and sparc ports.  Other userland utilities,
		such as `ps', use libkvm to grovel through the kernel
		data structures.  We need a cleaner scheme to use both
		32-bit and 64-bit binaries and shared libraries on the
		same machine than the current /eul/netbsd32 method.

	64-bit SVR4: Need to be able to run Solaris 7+ 64-bit
		applications with COMPAT_SVR4.

	32-bit SVR4: Need to be able to run 32-bit Solaris
		applications on a 64-bit kernel using something
		similar to COMPAT_NETBSD32.

Userland:

	X11: We need to fix the X server to support 64-bit SPARC.

	GCC/EGCS: The bugs in the gcc/egcs SPARC V9 code needs to be
		fixed.  64-bit PIC code needs to be fixed.

	Toolchain: We need a single toolchain that can generate
		either/both 32-bit and 64-bit binaries (on both sparc
		and sparc64) rather than the separate ones I'm
		currently using.

	Shared libraries: Once 64-bit PIC code can be generated,
		ld.elf_so needs to support sparc64, and needs to be
		able to interoperate with 32-bit dynamic libraries.

	Sysinst: Somebody want to work on this?

=========================================================================
Eduardo Horvath				eeh@netbsd.org
	"I need to find a pithy new quote." -- me