Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!snorkelwacker.mit.edu!ira.uka.de!rusmv1!theorie!usenet From: PATZEL@rzmain.rz.uni-ulm.de (Patzel Martin) Newsgroups: comp.sys.acorn Subject: Re: Archimedes Minix? Message-ID: <1991Mar27.111004.12443@informatik.uni-ulm.de> Date: 27 Mar 91 11:10:49 GMT References: <9396@star.cs.vu.nl> <2052@Terra.cc.brunel.ac.uk> Sender: usenet@informatik.uni-ulm.de (Name for nntp-posting) Organization: University of Ulm, Germany Lines: 67 In-Reply-To: eesrajm@cc.brunel.ac.uk's message of 23 Mar 91 21:32:35 GMT Nntp-Posting-Host: main01.rz.uni-ulm.de X-News-Reader: VMS NEWS 1.04 In <2052@Terra.cc.brunel.ac.uk> eesrajm@cc.brunel.ac.uk writes: > > I know of someone who is willing to port Minix to the Acorn Archimedes, but > > he isn't sure whether there has already been some effort to do that. > > I'd like to know about everyone who has tried it. Hello all, I've done a port of Minix 1.5.10 (PC-Version) to the Acorn Archimedes. Though my version seems to run quite stable, I don't want to post it to the rest of the world. There are missing the rs232 and parallel port driver and the driver for the floppy disk drive. The version is only intended to be for internal use here. > > There are two main problems to consider: > > (a). The compiler. Albert Koelmans and I got a working compiler in the end > but it is very slow - about 900 dhrystones per second. Compare this to the > 4000 or so from the Norcroft compiler. Unfortunately it is impossible to > use the existing RISCOS version of the Norcroft compiler. (This is my > standard aptitude test for people who have expressed interest in porting > MINIX to the Archimedes; if you think that can use the existing compiler, then > you might as well not bother to go any further). > No, I've used the Norcroft compiler (Version 2.xx?) and cross compiled all parts of Minix. There was much work to be done until all modules were compiled errorfree by the compiler (K&R <-> ANSI), but now nearly all modules compile without any warning. And the compiler ist pretty fast! Compilation takes much less time than in the PC-Version. > (b). Hardware. Although there are some books about the ARM hardware, what > you really need is some application sheets, and there weren't any last time > I looked. My original port was designed to use RS232 rather than the screen > and keyboard, because I couldn't find out enough about the keyboard and VIDC. > The other difficulty was the MMU, which *has* to be right, or you will never > get the machine to boot. Yes, this was my problem, too. I only had the documentation of the VLSI- chips and of the Arthur OS (yes, I upgraded this ARM here at the end of last year to RISC-OS, so some parts could be written better now...). I decided to write a Module (called Minix Driver) which should have been the back end from Minix to the RISC-OS. This driver supports all necessary functions which Minix needs to access the hardware. I got some big problems with handling the interrupts, but now all is ok. It's now possible in Minix to press Ctrl-Alt-F12 and you're back in RISC-OS! Access to the hard disk is realized via files under RISC-OS. I can create a 5MB file, pass it to mkfs (which runs under RISC-OS) and get a valid file system for Minix. > > I gave up because of lack of time, but Albert Koelmans is still, I think > trying to use it as a student project. You can try him for more details > (he might shoot me for saying so) - Albert.Koelmans@newcastle.ac.uk > Because the project took enough time, I stopped it, too. But you can work with it. All Minix utilities I compiled work nearly without any problems. Even Elvis 1.5 (Beta version) runs. Because the ARM has a (poor) MMU, I implemented paging to Minix. It's a cheap implementation, but it works. Now I have 400K of free memory available to normal user processes and additional 2MB of swap space which could be increased, of course. Every process has a maximum address space of 2MB (and my machine is a A310 with 1MB memory and a hard disk). This was a short overview about what I've done and what is possible. As said, I'm not willing to post the diffs to 1.5.10 because that's too much work. Nevertheless, you can ask me some questions and they may be discussed here. If someone (someONE, not all) is *really* interested in doing a port or in some details, I could send him some of the more important modules. Greetings, Martin