cvs commit: src/sys/conf Makefile.sun4v files.sun4v
options.sun4v src/sys/sun4v/compile .cvsignore
src/sys/sun4v/conf DEFAULTS GENERIC GENERIC.hints MAC
Makefile NOTES src/sys/sun4v/include _bus.h _inttypes.h
_limits.h _stdint.h _types.h asi.h asm.h ...
John Birrell
jb at what-creek.com
Thu Oct 5 00:29:30 PDT 2006
On Thu, Oct 05, 2006 at 06:14:29AM +0000, Kip Macy wrote:
> kmacy 2006-10-05 06:14:29 UTC
>
> FreeBSD src repository
>
> Added files:
> sys/conf Makefile.sun4v files.sun4v options.sun4v
> sys/sun4v/compile .cvsignore
> sys/sun4v/conf DEFAULTS GENERIC GENERIC.hints MAC
> Makefile NOTES
> sys/sun4v/include _bus.h _inttypes.h _limits.h _stdint.h
> _types.h asi.h asm.h asmacros.h atomic.h
> bus.h bus_common.h bus_dma.h
> bus_private.h cache.h ccr.h clock.h cpu.h
> cpufunc.h db_machdep.h elf.h endian.h
> exec.h float.h floatingpoint.h fp.h
> frame.h fsr.h gdb_machdep.h hv_pcivar.h
> hviommu.h hypervisor_api.h
> hypervisorvar.h idprom.h ieee.h ieeefp.h
> in_cksum.h instr.h intr_machdep.h
> iommureg.h iommuvar.h kdb.h kerneldump.h
> ktr.h limits.h lsu.h md_var.h mdesc_bus.h
> mdesc_bus_subr.h memdev.h metadata.h
> mmu.h mutex.h nexusvar.h ofw_bus.h
> ofw_machdep.h ofw_mem.h ofw_nexus.h
> ofw_upa.h param.h pcb.h pcpu.h pmap.h
> pmc_mdep.h proc.h profile.h pstate.h
> ptrace.h reg.h reloc.h resource.h runq.h
> sc_machdep.h setjmp.h sf_buf.h sigframe.h
> signal.h smp.h stdarg.h sun4v_cpufunc.h
> sysarch.h tick.h tlb.h trap.h tsb.h
> tstate.h tte.h tte_hash.h ucontext.h
> upa.h utrap.h varargs.h ver.h vmparam.h
> watch.h wstate.h
> sys/sun4v/include/cddl mdesc.h mdesc_impl.h
> sys/sun4v/mdesc mdesc_bus_if.m mdesc_bus_subr.c
> mdesc_diff.c mdesc_findname.c
> mdesc_findnodeprop.c mdesc_fini.c
> mdesc_getbinsize.c mdesc_getgen.c
> mdesc_getpropdata.c mdesc_getpropstr.c
> mdesc_getpropval.c mdesc_init.c
> mdesc_init_intern.c mdesc_nodecount.c
> mdesc_rootnode.c mdesc_scandag.c
> mdesc_subr.c mdesc_vdevfindval.c
> sys/sun4v/sun4v autoconf.c bus_machdep.c clock.c
> counter.c db_disasm.c db_hwwatch.c
> db_interface.c db_trace.c dump_machdep.c
> eeprom.c elf_machdep.c exception.S
> fpemu.c gdb_machdep.c genassym.c hcall.S
> hv_pci.c hvcons.c hviommu.c identcpu.c
> in_cksum.c interrupt.S intr_machdep.c
> iommu.c locore.S machdep.c mem.c
> mp_exception.S mp_locore.S mp_machdep.c
> nexus.c ofw_bus.c ofw_machdep.c pmap.c
> prof_machdep.c rtc.c rwindow.c simdisk.c
> support.S swtch.S sys_machdep.c t1_copy.S
> tick.c tlb.c trap.c trap_trace.S tsb.c
> tte.c tte_hash.c uio_machdep.c
> vm_machdep.c vnex.c wbuf.S
A couple of things I'll add:
There are a few of us who have been running this code, and while it's not
bug free or a complete port, we need to have it in -current so that changes to
-current take sun4v into account.
The FreeBSD Foundation has sourced 2 T1000 boxes which will allow FreeBSD
developers access to the platform. As a developer group we need to take
advantage of that investment.
There is work to do to implement floating point support.
When self-hosting on local disk on the T2000 (with SATA drives) there is a
bug which causes a processor to go off into the weeds. To debug this, kmacy
needs someone to donate another SATA drive. Sun hasn't been responsive to
his request for one. 8-( Can anyone help with that?
There is a binutils update required to -current before sun4v will build
out of the box. It seems we have a problem being able to make non-vendor
branch commits to GNU tools just to support building a new arch. This is
a bit disappointing. Surely we should be able to handle taking one or
two files off the vendor branch on the odd occasion we add a significant
new arch!
Thread support is a problem because with KSE in the kernel, signal
delivery on sun4v is a problem. In fact it is such a problem that a
simple buildworld won't complete. When the T1000s are added to the
FreeBSD cluster, there is work required by KSE folks to fix those problems
or a non-KSE solution will be required. This is a major problem.
My personal interest in sun4v is based on the fact that Sun Microsystems
sent me a T2000 with all the bells and whistles in response to my work
on DTrace for FreeBSD. In return I would like to see sun4v supported
nicely in FreeBSD. One good turn deserves another. Sun has been generous
in their support for FreeBSD, so we should return the favour.
--
John Birrell
More information about the cvs-src
mailing list