🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

3 total messages Started by Geoff Rehmet Mon, 13 May 1991 08:12
RE: XINU on 80286 in protected mode
#159
Author: Geoff Rehmet
Date: Mon, 13 May 1991 08:12
31 lines
1883 bytes
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.)

(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.)

I was wandering if anybody else had looked into the idea of porting XINU
to the 80286, and if so, if they have any suggestions on how I could get
around the problem of compiling the C sources.  (I do not have a problem
of getting into protected mode as such, as I have the beginnings of a 
protected mode bios under development.)

Any suggestions would be welcomed.

Thanks.

Cheers, Geoff.

--
===============================================================================
 Geoff Rehmet, Botha House,    |Internet : csgr@alpha.cs.ru.ac.za 
 Private Bag 1028,             |uucp     : ..uunet!m2xenix!quagga!alpha!csgr
 Grahamstown, 6140, RSA        +----------------------------------------------
Re: XINU on 80286 in protected mode
#160
Author: Erick Engelke
Date: Mon, 13 May 1991 17:10
37 lines
2167 bytes
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.)
>
>(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.)
>
>I was wandering if anybody else had looked into the idea of porting XINU
>to the 80286, and if so, if they have any suggestions on how I could get
>around the problem of compiling the C sources.  (I do not have a problem
>of getting into protected mode as such, as I have the beginnings of a 
>protected mode bios under development.)
>
>Cheers, Geoff.
>

Try the Lattice C 286 compiler.  I believe it does exactly what you are
asking.  It generates code which can access full 286 memory, and is 
not just the word alignment and enter/leave calls enhacement of other
C compilers.  I have not used it, I'm mentioning this on memory of a
much relieved friend.
 
Erick

-- 
----------------------------------------------------------------------------
Erick Engelke                                       Watstar Computer Network
Watstar Network Guy                                   University of Waterloo
Erick@Development.Watstar.UWaterloo.ca              (519) 885-1211 Ext. 2965
Re: XINU on 80286 in protected mode
#161
Author: 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	*
*************************************************************************
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads