north bridge question - memory hole

I’ve got a question about x86 architecture.

I have a Pentium based PC104plus computer with the Intel 82439TX North
Bridge/82371AB South Bridge chipset.

What I want to do is memory map a large portion of the ISA 16Mb range
for a video device. (The top 8 Mb)

In order to do this, I need to tell the north bridge to create a memory
hole, however it only gives me up to 2 Mb from 14 - 16 Mb.
What this memory hole is (as I understand it) is reroute addresses from
RAM to PCI bus; then if no PCI device claims the address, the south
bridge offers it to ISA.

Is there any way to increase the size of this memory hole with the Intel
82439TX North Bridge?

Is there a better approach? Should I just not bother with ISA and place
my device on the PCI bus - would that be easiest?

Also, and this is a QNX related question: when QNX boots up (and shuts
down), it accesses memory in the 14-16 Mb range, even though I’ve
configured the kernel to hide this memory using the -r option for
startup-bios (startup-bios -s64k -r 0xC00000,0x400000). What is QNX
doing then? Is it likely the IPL doing these accesses? I’d like more
details on the -r option.

Thanks

Tony

In article <3FBA7D22.3010007@questertangent.com>, tnordstrom@questertangent.com says…

I’ve got a question about x86 architecture.

I have a Pentium based PC104plus computer with the Intel 82439TX North
Bridge/82371AB South Bridge chipset.

What I want to do is memory map a large portion of the ISA 16Mb range
for a video device. (The top 8 Mb)

In order to do this, I need to tell the north bridge to create a memory
hole, however it only gives me up to 2 Mb from 14 - 16 Mb.
What this memory hole is (as I understand it) is reroute addresses from
RAM to PCI bus; then if no PCI device claims the address, the south
bridge offers it to ISA.

Is there any way to increase the size of this memory hole with the Intel
82439TX North Bridge?

Is there a better approach? Should I just not bother with ISA and place
my device on the PCI bus - would that be easiest?

Also, and this is a QNX related question: when QNX boots up (and shuts
down), it accesses memory in the 14-16 Mb range, even though I’ve
configured the kernel to hide this memory using the -r option for
startup-bios (startup-bios -s64k -r 0xC00000,0x400000). What is QNX
doing then? Is it likely the IPL doing these accesses?

Probably the IPL is doing these accesses during boot up (I have no idea about shut down). Before the
kernel starts doing its job, the IPL should place the kernel somewhere in memory. Try image=xx
parameter in your build file to change location where IPL will put the image. I believe, image=16m
is by default.

And as Igor already mentioned, ISA bus for video device… it looks like nonsense to me for
nowadays.

Eduard.

I’d like more
details on the -r option.

Thanks

Tony

You better ask this question in some intel forum. Going with PCI would
almost certainly be better way though. Subtractive decoding for ISA will add
latency to all transactions, not to mention limited bandwidth of ISA.

“Tony Nordstrom” <tnordstrom@questertangent.com> wrote in message
news:3FBA7D22.3010007@questertangent.com

I’ve got a question about x86 architecture.

I have a Pentium based PC104plus computer with the Intel 82439TX North
Bridge/82371AB South Bridge chipset.

What I want to do is memory map a large portion of the ISA 16Mb range
for a video device. (The top 8 Mb)

In order to do this, I need to tell the north bridge to create a memory
hole, however it only gives me up to 2 Mb from 14 - 16 Mb.
What this memory hole is (as I understand it) is reroute addresses from
RAM to PCI bus; then if no PCI device claims the address, the south
bridge offers it to ISA.

Is there any way to increase the size of this memory hole with the Intel
82439TX North Bridge?

Is there a better approach? Should I just not bother with ISA and place
my device on the PCI bus - would that be easiest?

Also, and this is a QNX related question: when QNX boots up (and shuts
down), it accesses memory in the 14-16 Mb range, even though I’ve
configured the kernel to hide this memory using the -r option for
startup-bios (startup-bios -s64k -r 0xC00000,0x400000). What is QNX
doing then? Is it likely the IPL doing these accesses? I’d like more
details on the -r option.

Thanks

Tony