Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!samsung!emory!ox.com!math.fu-berlin.de!mailgzrz!opal!fauern!forwiss.uni-passau.de!eniac.fmi.uni-passau.de!stuebing From: stuebing@eniac.fmi.uni-passau.de (Andreas Stuebinger) Newsgroups: comp.os.xinu Subject: Re: XINU on 80286 in protected mode Message-ID: <1991May15.122501.23427@forwiss.uni-passau.de> Date: 15 May 91 12:25:01 GMT References: Sender: usenet@forwiss.uni-passau.de (USENET News System) Organization: University of Passau, W-Germany Lines: 44 Nntp-Posting-Host: eniac.fmi.uni-passau.de Hello, In article csgr@alpha.cs.ru.ac.za (Geoff Rehmet) writes: >I am at the moment looking into porting the PX-XINU sources to the >80286 running in protected mode, with the intention of making use >of the 286's hardware task management and memory protection features. > >A major problem which I forsee is in compiling the XINU C sources, as >I do not have a C compiler available for the 80286. (The main problem >is that existing C compilers generate code which will run fine in real mode >but which does not handle the 286's memory management features - resulting >in problems with segment references.) It's possible to do a port of PC-XINU into 80286 protected mode without special C-compilers. I did a port of PC-XINU Version 6 with Turbo-C V2.0. But: I did it only in small-memory model, no large-memory version. I also used the hardware task management and some of the memory protection features available by the 80286. >(I have thought of tricks such as modifying the objects and executables >generated by existing DOS C compilers, such as Turbo C, but I would like >to try and find a cleaner method.) No special tricks were needed for the port, just some thoughts. You have to compile all the C sources in Turbo-C's tiny model and link it with the small memory startup-code to get enough memory. You HAVE to compile in tiny model, because Turbo-C calls some runtime-routines with a "jmp far xxx". In tiny model Turbo-C uses the following sequence: push cs call near With Turbo-C++ this trick won't help because Borland did another trick in their runtime library. Sorry for my bad english, but perhaps I could help you. For more questions just contact me by email. Ciao Andreas ************************************************************************* * Andreas Stuebinger Rosstraenke 9 D-8390 Passau **49-851-35600 * * email: stuebing@eniac.fmi.uni-passau.de let's try MINIX * * Zur Not auch: or90020@ibm.rz.uni-passau.de or90020@dpaurz1.bitnet * *************************************************************************