public inbox for linux-8086@vger.kernel.org
 help / color / mirror / Atom feed
* BCC, ELKS 24 Bit addressing mode
@ 2006-03-23 11:01 Serdar Sutay
  2006-03-23 18:56 ` Segin
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Serdar Sutay @ 2006-03-23 11:01 UTC (permalink / raw)
  To: Linux-8086

Dear All,

I am porting ELKS to a special version of 80186 to be used in embedded 
devices. This special version known as Turbo186 is using 24 bit 
addressing using a special addressing scheme. So I need to modify bcc or 
as86 to support 24 bit addressing mode.

This type of operation is common in embedded usage. 24 bit addressing is 
working like this,

In normal 20 bit addressing when far jumps are used, two 16 bit operands 
are given for address calculation. First operand is left shifted 4 bits 
and added to second operand, then 20 bit address is calculated.

In 24 bit addressing mode, first operand is left shifted 8 bits and 
added to second operand, resulting in 24 bit address.

What am I required to do to support 24 bits addressing in bcc? Can you 
give me some insight or guide me to the correct person?

Thank you for your consideration and help.

Kindest regards,

Serdar Sutay

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: BCC, ELKS 24 Bit addressing mode
  2006-03-23 18:56 ` Segin
@ 2006-03-23 18:22   ` Serdar Sutay
  2006-03-24  5:11     ` Dan Olson
  0 siblings, 1 reply; 11+ messages in thread
From: Serdar Sutay @ 2006-03-23 18:22 UTC (permalink / raw)
  To: Segin; +Cc: Linux-8086

Segin wrote:
> Serdar Sutay wrote:
>
>> Dear All,
>>
>> I am porting ELKS to a special version of 80186 to be used in 
>> embedded devices. This special version known as Turbo186 is using 24 
>> bit addressing using a special addressing scheme. So I need to modify 
>> bcc or as86 to support 24 bit addressing mode.
>>
>> This type of operation is common in embedded usage. 24 bit addressing 
>> is working like this,
>>
>> In normal 20 bit addressing when far jumps are used, two 16 bit 
>> operands are given for address calculation. First operand is left 
>> shifted 4 bits and added to second operand, then 20 bit address is 
>> calculated.
>>
>> In 24 bit addressing mode, first operand is left shifted 8 bits and 
>> added to second operand, resulting in 24 bit address.
>>
>> What am I required to do to support 24 bits addressing in bcc? Can 
>> you give me some insight or guide me to the correct person?
>>
>> Thank you for your consideration and help.
>>
>> Kindest regards,
>>
>> Serdar Sutay
>> -
>> To unsubscribe from this list: send the line "unsubscribe linux-8086" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
> Basically you're working with a 286 that's been lobotmized down to a 
> 186 with the addressing features in place?
>
>
yes, but I need to address 16 Mbytes of RAM so I need to use 24 bit 
addressing mode.

Can Bcc compiler handle this automatically?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: BCC, ELKS 24 Bit addressing mode
  2006-03-23 11:01 BCC, ELKS 24 Bit addressing mode Serdar Sutay
@ 2006-03-23 18:56 ` Segin
  2006-03-23 18:22   ` Serdar Sutay
  2006-03-23 19:53 ` Jody
  2006-03-24 10:39 ` David Given
  2 siblings, 1 reply; 11+ messages in thread
From: Segin @ 2006-03-23 18:56 UTC (permalink / raw)
  To: Serdar Sutay; +Cc: Linux-8086

Serdar Sutay wrote:

> Dear All,
>
> I am porting ELKS to a special version of 80186 to be used in embedded 
> devices. This special version known as Turbo186 is using 24 bit 
> addressing using a special addressing scheme. So I need to modify bcc 
> or as86 to support 24 bit addressing mode.
>
> This type of operation is common in embedded usage. 24 bit addressing 
> is working like this,
>
> In normal 20 bit addressing when far jumps are used, two 16 bit 
> operands are given for address calculation. First operand is left 
> shifted 4 bits and added to second operand, then 20 bit address is 
> calculated.
>
> In 24 bit addressing mode, first operand is left shifted 8 bits and 
> added to second operand, resulting in 24 bit address.
>
> What am I required to do to support 24 bits addressing in bcc? Can you 
> give me some insight or guide me to the correct person?
>
> Thank you for your consideration and help.
>
> Kindest regards,
>
> Serdar Sutay
> -
> To unsubscribe from this list: send the line "unsubscribe linux-8086" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
Basically you're working with a 286 that's been lobotmized down to a 186 
with the addressing features in place?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: BCC, ELKS 24 Bit addressing mode
  2006-03-23 11:01 BCC, ELKS 24 Bit addressing mode Serdar Sutay
  2006-03-23 18:56 ` Segin
@ 2006-03-23 19:53 ` Jody
  2006-03-23 23:00   ` Eric des Courtis
  2006-03-24 10:39 ` David Given
  2 siblings, 1 reply; 11+ messages in thread
From: Jody @ 2006-03-23 19:53 UTC (permalink / raw)
  To: Linux-8086

So basically, you've got segmentation in 256-byte increments instead of 
16 in order to handle an additional four address lines, correct?

That sounds like something that shouldn't be difficult to change, but I 
know nothing about how to do it.

Jody

Serdar Sutay wrote:
> Dear All,
> 
> I am porting ELKS to a special version of 80186 to be used in embedded 
> devices. This special version known as Turbo186 is using 24 bit 
> addressing using a special addressing scheme. So I need to modify bcc or 
> as86 to support 24 bit addressing mode.
> 
> This type of operation is common in embedded usage. 24 bit addressing is 
> working like this,
> 
> In normal 20 bit addressing when far jumps are used, two 16 bit operands 
> are given for address calculation. First operand is left shifted 4 bits 
> and added to second operand, then 20 bit address is calculated.
> 
> In 24 bit addressing mode, first operand is left shifted 8 bits and 
> added to second operand, resulting in 24 bit address.
> 
> What am I required to do to support 24 bits addressing in bcc? Can you 
> give me some insight or guide me to the correct person?
> 
> Thank you for your consideration and help.
> 
> Kindest regards,
> 
> Serdar Sutay
> -
> To unsubscribe from this list: send the line "unsubscribe linux-8086" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: BCC, ELKS 24 Bit addressing mode
  2006-03-23 19:53 ` Jody
@ 2006-03-23 23:00   ` Eric des Courtis
  0 siblings, 0 replies; 11+ messages in thread
From: Eric des Courtis @ 2006-03-23 23:00 UTC (permalink / raw)
  To: Jody; +Cc: Linux-8086

Hi,

I cannot help you unfortunately But please let me know what happens I
am really interested!

Thanks,

Eric des Courtis

On 3/23/06, Jody <jbruchon@nc.rr.com> wrote:
> So basically, you've got segmentation in 256-byte increments instead of
> 16 in order to handle an additional four address lines, correct?
>
> That sounds like something that shouldn't be difficult to change, but I
> know nothing about how to do it.
>
> Jody
>
> Serdar Sutay wrote:
> > Dear All,
> >
> > I am porting ELKS to a special version of 80186 to be used in embedded
> > devices. This special version known as Turbo186 is using 24 bit
> > addressing using a special addressing scheme. So I need to modify bcc or
> > as86 to support 24 bit addressing mode.
> >
> > This type of operation is common in embedded usage. 24 bit addressing is
> > working like this,
> >
> > In normal 20 bit addressing when far jumps are used, two 16 bit operands
> > are given for address calculation. First operand is left shifted 4 bits
> > and added to second operand, then 20 bit address is calculated.
> >
> > In 24 bit addressing mode, first operand is left shifted 8 bits and
> > added to second operand, resulting in 24 bit address.
> >
> > What am I required to do to support 24 bits addressing in bcc? Can you
> > give me some insight or guide me to the correct person?
> >
> > Thank you for your consideration and help.
> >
> > Kindest regards,
> >
> > Serdar Sutay
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-8086" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >
> -
> To unsubscribe from this list: send the line "unsubscribe linux-8086" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: BCC, ELKS 24 Bit addressing mode
  2006-03-23 18:22   ` Serdar Sutay
@ 2006-03-24  5:11     ` Dan Olson
  2006-03-24  5:17       ` Jody
  2006-03-24  9:44       ` Andrey Romanenko
  0 siblings, 2 replies; 11+ messages in thread
From: Dan Olson @ 2006-03-24  5:11 UTC (permalink / raw)
  To: Linux-8086

>> Basically you're working with a 286 that's been lobotmized down to a 186 
>> with the addressing features in place?
>> 
>> 
> yes, but I need to address 16 Mbytes of RAM so I need to use 24 bit 
> addressing mode.

I hate to ask, but why bother with a 186 in the first place?  As I 
understand it, the only real difference (other than some hardware 
integration) between the two is that the 286 has a 24 bit address 
space....which you'd need if you're going to use 16M of RAM anyway.

 	Dan

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: BCC, ELKS 24 Bit addressing mode
  2006-03-24  5:11     ` Dan Olson
@ 2006-03-24  5:17       ` Jody
  2006-03-24  5:28         ` Dan Olson
  2006-03-24  9:44       ` Andrey Romanenko
  1 sibling, 1 reply; 11+ messages in thread
From: Jody @ 2006-03-24  5:17 UTC (permalink / raw)
  To: Linux-8086

186 CPUs have various non-CPU functionality integrated into the chip 
itself, which is one reason it's popular in some embedded designs.

Dan Olson wrote:
>>> Basically you're working with a 286 that's been lobotmized down to a 
>>> 186 with the addressing features in place?
>>>
>>>
>> yes, but I need to address 16 Mbytes of RAM so I need to use 24 bit 
>> addressing mode.
> 
> 
> I hate to ask, but why bother with a 186 in the first place?  As I 
> understand it, the only real difference (other than some hardware 
> integration) between the two is that the 286 has a 24 bit address 
> space....which you'd need if you're going to use 16M of RAM anyway.
> 
>     Dan
> -
> To unsubscribe from this list: send the line "unsubscribe linux-8086" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: BCC, ELKS 24 Bit addressing mode
  2006-03-24  5:17       ` Jody
@ 2006-03-24  5:28         ` Dan Olson
  2006-03-25 22:11           ` Gregg C Levine
  0 siblings, 1 reply; 11+ messages in thread
From: Dan Olson @ 2006-03-24  5:28 UTC (permalink / raw)
  To: Linux-8086

True, I undesrstand, I just thought that the extra banking logic needed 
and the software overhead might negate that added integration, but I'm not 
sure what your goal is in the project.  I've got some 186 CPUs sitting 
around if you have any need for a couple.

 	Dan


On Fri, 24 Mar 2006, Jody wrote:

> 186 CPUs have various non-CPU functionality integrated into the chip itself, 
> which is one reason it's popular in some embedded designs.
>
> Dan Olson wrote:
>>>> Basically you're working with a 286 that's been lobotmized down to a 186 
>>>> with the addressing features in place?
>>>> 
>>>> 
>>> yes, but I need to address 16 Mbytes of RAM so I need to use 24 bit 
>>> addressing mode.
>> 
>> 
>> I hate to ask, but why bother with a 186 in the first place?  As I 
>> understand it, the only real difference (other than some hardware 
>> integration) between the two is that the 286 has a 24 bit address 
>> space....which you'd need if you're going to use 16M of RAM anyway.
>> 
>>     Dan
>> -
>> To unsubscribe from this list: send the line "unsubscribe linux-8086" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-8086" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: BCC, ELKS 24 Bit addressing mode
  2006-03-24  5:11     ` Dan Olson
  2006-03-24  5:17       ` Jody
@ 2006-03-24  9:44       ` Andrey Romanenko
  1 sibling, 0 replies; 11+ messages in thread
From: Andrey Romanenko @ 2006-03-24  9:44 UTC (permalink / raw)
  To: Linux-8086

Dan Olson wrote:

> I hate to ask, but why bother with a 186 in the first place?  As I 
> understand it, the only real difference (other than some hardware 
> integration) between the two is that the 286 has a 24 bit address 
> space....which you'd need if you're going to use 16M of RAM anyway.
>
>     Dan

That was something I was thinking about after that post. I wonder what 
the benefits to have addressing mode even more constrained than found in 
286 and still bother with those crappy 64kb segments? Is that hardware 
really cheap or wide spread around?

Anyway, it looks like you may add this addressing mode handling to EXE 
image loader that would change all cross-segment access addresses to be 
compatible with this addressing mode. You may want to try it under plain 
DOS. Btw, seems this way you still keep all EXE compatible with 8088.

Andrey

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: BCC, ELKS 24 Bit addressing mode
  2006-03-23 11:01 BCC, ELKS 24 Bit addressing mode Serdar Sutay
  2006-03-23 18:56 ` Segin
  2006-03-23 19:53 ` Jody
@ 2006-03-24 10:39 ` David Given
  2 siblings, 0 replies; 11+ messages in thread
From: David Given @ 2006-03-24 10:39 UTC (permalink / raw)
  To: Linux-8086

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Serdar Sutay wrote:
[...]
> What am I required to do to support 24 bits addressing in bcc? Can you
> give me some insight or guide me to the correct person?

AFAIK, bcc knows nothing about segmentation --- it deals strictly with
16-bit code. Which means that nothing will need changing. If the
Turbo186 uses all the same opcodes as a normal 186, you wouldn't even
need to modify as86.

What *will* need modification is the kernel code that allocates segments
and sets up the segment registers for the user processes, and
unfortunately I don't know anything about how that works. It's entirely
feasible that all you would need to do is to change a few small chunks
of assembly.

- --
+- David Given --McQ-+
|  dg@cowlark.com    | "Those that repeat truisms, are also forced to
| (dg@tao-group.com) | repeat them." --- Anonymous from Slashdot
+- www.cowlark.com --+
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEI8xvf9E0noFvlzgRAh01AKC8FolbR6c3tUWN/HLK5Bm01na6dQCgyxXv
wYk7yV8D8LtzEosc1zTUsKM=
=9a2+
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: BCC, ELKS 24 Bit addressing mode
  2006-03-24  5:28         ` Dan Olson
@ 2006-03-25 22:11           ` Gregg C Levine
  0 siblings, 0 replies; 11+ messages in thread
From: Gregg C Levine @ 2006-03-25 22:11 UTC (permalink / raw)
  To: Dan Olson, Linux-8086

Hello!
As for your problems, sir, I also am interested. Please keep us advised.

As it happens, Dan Olson, I do have a need for some. Not too many. What do
we need to do to arrange this transaction?
---
Gregg C Levine obiwanthejediknight atsign att dot net
"The Force will be with you. Always."
----- Original Message ----- 
From: "Dan Olson" <dano@agora.rdrop.com>
To: "Linux-8086" <linux-8086@vger.kernel.org>
Sent: Friday, March 24, 2006 12:28 AM
Subject: Re: BCC, ELKS 24 Bit addressing mode


> True, I undesrstand, I just thought that the extra banking logic needed
> and the software overhead might negate that added integration, but I'm not
> sure what your goal is in the project.  I've got some 186 CPUs sitting
> around if you have any need for a couple.
>
>   Dan
>
>
> On Fri, 24 Mar 2006, Jody wrote:
>
> > 186 CPUs have various non-CPU functionality integrated into the chip
itself,
> > which is one reason it's popular in some embedded designs.
> >
> > Dan Olson wrote:
> >>>> Basically you're working with a 286 that's been lobotmized down to a
186
> >>>> with the addressing features in place?
> >>>>
> >>>>
> >>> yes, but I need to address 16 Mbytes of RAM so I need to use 24 bit
> >>> addressing mode.
> >>
> >>
> >> I hate to ask, but why bother with a 186 in the first place?  As I
> >> understand it, the only real difference (other than some hardware
> >> integration) between the two is that the 286 has a 24 bit address
> >> space....which you'd need if you're going to use 16M of RAM anyway.
> >>
> >>     Dan
> >> -
> >> To unsubscribe from this list: send the line "unsubscribe linux-8086"
in
> >> the body of a message to majordomo@vger.kernel.org
> >> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >>
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-8086" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >
> -
> To unsubscribe from this list: send the line "unsubscribe linux-8086" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2006-03-25 22:11 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-03-23 11:01 BCC, ELKS 24 Bit addressing mode Serdar Sutay
2006-03-23 18:56 ` Segin
2006-03-23 18:22   ` Serdar Sutay
2006-03-24  5:11     ` Dan Olson
2006-03-24  5:17       ` Jody
2006-03-24  5:28         ` Dan Olson
2006-03-25 22:11           ` Gregg C Levine
2006-03-24  9:44       ` Andrey Romanenko
2006-03-23 19:53 ` Jody
2006-03-23 23:00   ` Eric des Courtis
2006-03-24 10:39 ` David Given

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox