🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.xinu
Article #161

Re: XINU on 80286 in protected mode

#161
From: Andreas Stuebinger
Date: Wed, 15 May 1991 12:25
44 lines
2711 bytes
Hello,

In article <csgr.674122345@alpha> 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 <routine>

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	*
*************************************************************************
Technical Details
Message-ID: <1991May15.122501.23427@forwiss.uni-passau.de>
Path: arc1-ca.pugleaf.net!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
References: <csgr.674122345@alpha>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!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: <csgr.674122345@alpha>
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