john@chance.UUCP (John R. MacMillan) (12/29/90)
A friend and I are thinking of porting Minix to a spare AT&T UNIX PC that's lying around, and we wanted to know which port we should start with. The UNIX PC is a 68010 box; if you're not familiar with the 68010, it's (not surprisingly) between the 68020 and 68000. It has memory protection. Is it worth starting from a 386 version for the memory protection, and 32-bit stuff, or should we start from a 68000 version and add on? And if the latter, which one? We want the machine to boot Minix, not run it under the existing OS. Comments, suggestions, etc. welcome (hey, that's why I'm posting here, right? :-) ) by posting or email. Thanks! -- John R. MacMillan | I wish I had a nickname like Crusher, Snake or Dennis john@chance.UUCP | Because guys with nicknames always get the gal. ...!scocan!chance!john | -- barenaked ladies
eesrajm@cc.brunel.ac.uk (Andrew J Michael) (01/07/91)
In article <1990Dec29.014903.12192@chance.UUCP>, john@chance.UUCP (John R. MacMillan) writes: > > A friend and I are thinking of porting Minix to a spare AT&T > UNIX PC that's lying around, and we wanted to know which port > we should start with. > (Stuff deleted) > Is it worth starting from a 386 version > for the memory protection, and 32-bit stuff, or should we start > from a 68000 version and add on? And if the latter, which one? > We want the machine to boot Minix, not run it under the > existing OS. > > -- > John R. MacMillan | I wish I had a nickname like Crusher, Snake or Dennis > john@chance.UUCP | Because guys with nicknames always get the gal. > ...!scocan!chance!john | -- barenaked ladies I'd strongly suggest using MINIX-ST as a starting point, because you can use the existing ACK compiler to get a running system pretty quickly. Use the ST shadowing method until you have got something running, then try playing with the MMU on the AT&T box. Trying to get it all working, MMU and all in one go could be rather awkward. (Anyway, I like the divide and conquer approach personally !) Your main problem will be finding a host machine to compile your new version of MINIX in the first place. If you can find an ST/Mac/Amiga lying around then you should be OK. If not, you will need to cross-compile with gcc on a Sun or similar. The problem here is that gcc won't compile the out-of-the-box sources without some modifications. Regardless of the method used, beware the stack frame in kernel/stmpx.s at the point where it is set up around label L5 (if I remember correctly). The code assumes the use of a 68000, and therefore doesn't set up the format word. This is instant death on a 68010 or 68020. (I've posted this rather than emailed because people keep asking me about MINIX on 68010 and 68020. Perhaps I should do a FAQ ....) Regards Andy Michael -- Andy Michael (eesrajm@cc.brunel.ac.uk) " Emulation is the sincerest 85 Hawthorne Crescent form of pottery." West Drayton Middlesex - William Frend De Morgan UB7 9PA
HBO043%DJUKFA11.BITNET@cunyvm.cuny.edu (Christoph van Wuellen) (01/09/91)
Why do people always say gcc does not compile out-of-the-box MINIX 1.5 correctly? I remember I once patched gcc to make sizeof int (not long) and to pass unsigned 8-bit items correctly, but since then, I can cross-compile MINIX on this Sun without modification and without problems, so what the hell do you mean should be modified? C.v.W.
eesrajm@cc.brunel.ac.uk (Andrew J Michael) (01/13/91)
In article <41242@nigel.ee.udel.edu>, HBO043%DJUKFA11.BITNET@cunyvm.cuny.edu (Christoph van Wuellen) writes: > Why do people always say gcc does not compile out-of-the-box MINIX 1.5 > correctly? (Stuff deleted) > what the hell do you mean should be modified? > > C.v.W. The problem here is what you mean by gcc. In the MINIX-68k world, I take this to mean the port carried out by Jhawar Bammi, or variants thereof. This port can compile with either 16 or 32-bit ints. Since it is actually a 32-bit compiler internally, you need some casts to sizeof() in the MINIX-1.5 source to get it to compile properly. More importantly, this version of gcc uses gas, and gas only understands MIT syntax for 68k assembler. The assembler files in MINIX-68k are written in Motorola syntax, and need converting before gcc/gas can cope with them. Andy Michael -- Andy Michael (eesrajm@cc.brunel.ac.uk) " Emulation is the sincerest 85 Hawthorne Crescent form of pottery." West Drayton Middlesex - William Frend De Morgan UB7 9PA
) (01/14/91)
Andrew J Michael <eesrajm@CC.BRUNEL.AC.UK> writes: >More importantly, this version of gcc uses gas, and gas only understands MIT >syntax for 68k assembler. The assembler files in MINIX-68k are written in >Motorola syntax, and need converting before gcc/gas can cope with them. I am compiling a modified version of minix-st 1.5.10 with gcc. To circumvent the gas/mot assembler syntax problem i wrote a tool called cv68 which converts motorola syntax to gas syntax. The tool is written using flex which was ported to minix times ago. Since i used flex and not yacc everything is quite simple- minded. Some very special addressing mode (absolute address with short/long specification - used in tools/boot.s) confuses it, but every other asm file coming with 1.5.10 can be converted and compiled by gas correctly. As far as i know R.Orth (ro@thp.uni-koeln.de) is preparing a new gcc kit which will contain my cv68 tool. However, i can post it now if there's enough interest. ========================================================================= " This space intentionally left blank " Kai-Uwe Bloem, I5110401@DBSTU1.BitNet, ...!unido!dbstu1.bitnet!i5110401, I5110401%DBSTU1.BITNET@CORNELLC.CCS.CORNELL.EDU (or other known gateways) Technische Universitaet Braunschweig / germany