From: Stuart M. <stu...@st...> - 2002-02-27 23:54:16
|
Folks Following the release of an SH5 compiler and associated tools last week, I pleased to be able to say that we are also almost ready to release an SH5 Linux kernel. This work has been going for some time, in another group within ST, but it is only now that the tools are available, and the architecture is public, that we are able to release it. I say almost ready, because there are some last minute details to tidy up, but mainly because I'd like to get people's suggestions on where we should be putting this. First a bit of background: As far as a kernel is concerned, SH5 is not a variant of the current SH architecture, in the way that SH3 and SH4 are. It is a 64 bit processor, with more and wider registers, different caches, MMU, interrupt controller etc. The CPU supports two instruction sets, the new instruction set (called SH-Media) gives access to all the new facilities of the machine, however it also supports a second instruction set (SH-Compact) which is a subset of the SH4 instruction set, sufficient to support native execution of SH4 _user_ _mode_ binaries. This means that a new kernel must, at least in part, be written in SH-Media instructions. It could also use SH-Compact if desired, but we've chosen not to do this at the moment. And yes, Linux could support the native execution of SH4 binaries if somebody felt like doing the necessary work in the kernel. So for this reason we decided not to merge the SH5 code with the current SH3/4 kernel. We have created a new architecture called "sh5" in the kernel source code, which is completely separate from the current "sh" architecture. However it does share device drivers with the other SH devices, such as the SCIF. It could have been called sh64, but we decided against that as it is not really a 64 bit port - pointers and longs are still 32 bits. A full 64 bit port is still a possibility for the future. Work on this port started some time ago, and hasn't kept track with current kernel developments. So the port is still based on a 2.4.0-test4 kernel. One of the things we want to do in the not too distant future is upgrade to a more recent tree, but I'd rather release now and get people looking at it than wait any longer. So, the proposal: I'd like to get this code checked into a CVS repository on SourceForge as soon as possible. There are already several groups here who want access to the sources, so this is easier than just putting it up for FTP somewhere. Plus it allows other developers to join in as things develop. At the moment I think it may be better to create a new SourceForge project for this, rather than use the current LinuxSH one. This is mainly: - to try and reduce confusion - a lot of the current web content is not applicable to SH5, and adding qualifying statements would make it messy. - the kernel is currently only of interest to kernel hackers, its not ready for general consumption. - because the current SH5 code is based around the old kernel, and is still fairly immature, it doesn't make sense to put it in the "linux" directory in CVS. It could go in a separate directory in CVS though. - things are still very changable. Its quite possible major restructuring may still happen (renaming the architacture for example!), and we don't know at the moment how things will turn out. - I suspect the number of people interested in both ports is actually quite small - I may be wrong of course... and then at some point in the future when the kernel is more mature, and we know better what it will look like, we can think about merging it into the LinuxSH project. Comments please Stuart |