Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ===== Current Status ===== The sun4v (%%UltraSPARC%%-T1) code was removed from -HEAD in May 2011 in (see below). The reason was due to lack of stability somewhere in the VM system, combined with lack of interest from other developers once the initial developer ceased working on it. Because of the latter, the codebase was not keeping up with changes in -HEAD, leading to bitrot. As of mid-2015 there has been some interest on the mailing lists in picking up sun4v. The two main difficulties will be: * getting the existing code back in sync with all the SVN changes to the source tree in the years since the removal * finishing the existing code ===== Status as of code removal ===== The removal happened in two parts. It was disconnected from the build in [[https://svnweb.freebsd.org/base?view=revision&revision=221869|SVN commit 221869]] on 20150514 and then removed completely in [[https://svnweb.freebsd.org/base?view=revision&revision=221870|SVN commit 221870]] also on 20150514. The version of [[https://svnweb.freebsd.org/base/head/sys/sys/param.h?view=log|param.h]] just previous to the removal was [[https://svnweb.freebsd.org/base/head/sys/sys/param.h?r1=220770&r2=221862|900037]] on 20110513. **param.h** was not incremented as of the removal. The last time that the code was built as part of **make universe** is not yet known, but it is safe to assume that it was some time before the removal. The last merge of changes into the sun4v tree appears to be [[https://svnweb.freebsd.org/base/head/sys/sun4v/include/vmparam.h?r1=219608&sortdir=down&pathrev=221869&r2=221855&sortby=rev|SVN revision 221855]] of 20110513 affecting **vmparam.h**. Previous to that the last change to **GENERIC** was [[https://svnweb.freebsd.org/base/head/sys/sun4v/conf/GENERIC?r1=220982&r2=221124&pathrev=221124|SVN revision 221124]] of 20110427. Perhaps we can speculate that sun4v was still being build-tested as of that commit? In any case it might be the best place to start. As a further hint, you can directly compare [[https://svnweb.freebsd.org/base/head/sys/sparc64/?pathrev=221124|sys/sparc64 as of 221124]] to [[https://svnweb.freebsd.org/base/head/sys/sun4v/?pathrev=221124|sys/sun4v as of 221124]]. Happy spelunking. ===== Status as of around 7.0R ===== (below here are the notes from the original developer) %%UltraSPARC%%-T1 support is functionally complete. Recent changes: * tod support added * dynamic hash resizing * dynamic tsb resizing * fix TSO and PCIe support for em on sparc * cddl licensed hypervisor interface code removed and replaced with bsd licensed versions * "shutdown -r" and "shutdown -h" now work correctly * loadable modules now work on large memory systems * fixups for unaligned loads/stores now work Current work item: * Virtual network driver - LDC and mdesc support are in There are a number of known issues that need to be fixed before release: * serial port not currently supported The following is a list of items that I would like to see done by the time 7.0 is released. Longer-term work for logical domaining support: * virtual disk driver * CPU hotplug * memory hotplug - longer term issue, will not happen by 7.0 Desired platform-specific optimizations / features: * balance interrupts between cpus * MSI * profiling * dynamic TSB resizing - (not yet enabled) * superpage support * optimized copyin/copyout * optimized bzero / bcopy in libc * T2 10GigE support Desired platform-independent optimizations: * reduce coverage of vm page queue mutex * remove sched_lock Nice to have functionality: * minidumps * java support sun4v.txt Last modified: 2019/09/07 08:07by LorenzoSalvadore