pci-bios Problem

I am bringing up a new embedded board and having some trouble getting
pci-bios to run.

If I boot directly off of a IDE device then it runs correctly, thats the
good news…

The bad news is, if I boot via a DHCP bootrom built into the bios over a
RealTek 8139C (on motherboard) network NIC then pci-bios exits with a 1 all
the time. Specifying “-v” doesn’t provide any information. I am using
everything from the Patch B release. Has anyone got any ideas or alpha
versions of pci-bios that spit out more information that you can loan me?

Jerry Kirk

Hi Jerry,

Could you run sloginfo and post the output for us to review.

Regards,

Joe

Jerry Kirk <Jerry.Kirk@nexwarecorp.com> wrote:

I am bringing up a new embedded board and having some trouble getting
pci-bios to run.

If I boot directly off of a IDE device then it runs correctly, thats the
good news…

The bad news is, if I boot via a DHCP bootrom built into the bios over a
RealTek 8139C (on motherboard) network NIC then pci-bios exits with a 1 all
the time. Specifying “-v” doesn’t provide any information. I am using
everything from the Patch B release. Has anyone got any ideas or alpha
versions of pci-bios that spit out more information that you can loan me?

Jerry Kirk

How’s this?

5 17 0 pci_server: Feb 28 2001 11:57:37
2 17 0 pci_bios: No BIOS present - Status ffffffff - errno 14
2 17 0 pci_server: No dll loaded!


“Hardware Support Account” <hw@qnx.com> wrote in message
news:9bn9ju$bbl$1@nntp.qnx.com

Hi Jerry,

Could you run sloginfo and post the output for us to review.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
I am bringing up a new embedded board and having some trouble getting
pci-bios to run.

If I boot directly off of a IDE device then it runs correctly, thats the
good news…

The bad news is, if I boot via a DHCP bootrom built into the bios over a
RealTek 8139C (on motherboard) network NIC then pci-bios exits with a 1
all
the time. Specifying “-v” doesn’t provide any information. I am using
everything from the Patch B release. Has anyone got any ideas or alpha
versions of pci-bios that spit out more information that you can loan
me?

Jerry Kirk
\

Do you need anything else? Does this help?

“Jerry Kirk” <Jerry.Kirk@Nexwarecorp.com> wrote in message
news:9bnb3p$79p$1@inn.qnx.com

How’s this?

5 17 0 pci_server: Feb 28 2001 11:57:37
2 17 0 pci_bios: No BIOS present - Status ffffffff - errno 14
2 17 0 pci_server: No dll loaded!


“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9bn9ju$bbl$> 1@nntp.qnx.com> …
Hi Jerry,

Could you run sloginfo and post the output for us to review.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
I am bringing up a new embedded board and having some trouble getting
pci-bios to run.

If I boot directly off of a IDE device then it runs correctly, thats
the
good news…

The bad news is, if I boot via a DHCP bootrom built into the bios over
a
RealTek 8139C (on motherboard) network NIC then pci-bios exits with a
1
all
the time. Specifying “-v” doesn’t provide any information. I am using
everything from the Patch B release. Has anyone got any ideas or alpha
versions of pci-bios that spit out more information that you can loan
me?

Jerry Kirk


\

Hi Jerry,

Some boot roms screw up the bios and that is what we guess is happening
here. We have tried this on the Acer notebook, which uses the Intel PXE
boot protocol, and it doesn’t work either. Unfortunately there is nothing
we can do about this.

Erick.



Jerry Kirk <Jerry.Kirk@nexwarecorp.com> wrote:

Do you need anything else? Does this help?

“Jerry Kirk” <> Jerry.Kirk@Nexwarecorp.com> > wrote in message
news:9bnb3p$79p$> 1@inn.qnx.com> …
How’s this?

5 17 0 pci_server: Feb 28 2001 11:57:37
2 17 0 pci_bios: No BIOS present - Status ffffffff - errno 14
2 17 0 pci_server: No dll loaded!


“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9bn9ju$bbl$> 1@nntp.qnx.com> …
Hi Jerry,

Could you run sloginfo and post the output for us to review.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
I am bringing up a new embedded board and having some trouble getting
pci-bios to run.

If I boot directly off of a IDE device then it runs correctly, thats
the
good news…

The bad news is, if I boot via a DHCP bootrom built into the bios over
a
RealTek 8139C (on motherboard) network NIC then pci-bios exits with a
1
all
the time. Specifying “-v” doesn’t provide any information. I am using
everything from the Patch B release. Has anyone got any ideas or alpha
versions of pci-bios that spit out more information that you can loan
me?

Jerry Kirk


\

Ok thanks… We have found away around it using two partitions on a
DiskOnChip.

Is QSSL thinking about writing a “driver” that does not require a PCI Bios?
We have another board here
that QNX4 runs on but RTP does not because of the PCI Bios requirement…


Jerry

“Hardware Support Account” <hw@qnx.com> wrote in message
news:9bpnuj$q9c$1@nntp.qnx.com

Hi Jerry,

Some boot roms screw up the bios and that is what we guess is happening
here. We have tried this on the Acer notebook, which uses the Intel PXE
boot protocol, and it doesn’t work either. Unfortunately there is nothing
we can do about this.

Erick.



Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Do you need anything else? Does this help?

“Jerry Kirk” <> Jerry.Kirk@Nexwarecorp.com> > wrote in message
news:9bnb3p$79p$> 1@inn.qnx.com> …
How’s this?

5 17 0 pci_server: Feb 28 2001 11:57:37
2 17 0 pci_bios: No BIOS present - Status ffffffff - errno 14
2 17 0 pci_server: No dll loaded!


“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9bn9ju$bbl$> 1@nntp.qnx.com> …
Hi Jerry,

Could you run sloginfo and post the output for us to review.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
I am bringing up a new embedded board and having some trouble
getting
pci-bios to run.

If I boot directly off of a IDE device then it runs correctly,
thats
the
good news…

The bad news is, if I boot via a DHCP bootrom built into the bios
over
a
RealTek 8139C (on motherboard) network NIC then pci-bios exits with
a
1
all
the time. Specifying “-v” doesn’t provide any information. I am
using
everything from the Patch B release. Has anyone got any ideas or
alpha
versions of pci-bios that spit out more information that you can
loan
me?

Jerry Kirk




\

Is QSSL thinking about writing a “driver” that does not require a PCI
Bios?
We have another board here
that QNX4 runs on but RTP does not because of the PCI Bios requirement…

So, is this possible? Has there been any thought put into it?

Jerry Kirk

Hi Jerry,

The latest patch B should run on a machine without a pci bios.

Regards,

Joe

Jerry Kirk <Jerry.Kirk@nexwarecorp.com> wrote:

Is QSSL thinking about writing a “driver” that does not require a PCI
Bios?
We have another board here
that QNX4 runs on but RTP does not because of the PCI Bios requirement…

So, is this possible? Has there been any thought put into it?

Jerry Kirk

Really? I was trying to run it with Patch B. Do I just omit running the
PCI-BIOS program or is there an alternative program? How do network drivers
that live out on the PCI bus work now?

Jerry

“Hardware Support Account” <hw@qnx.com> wrote in message
news:9c47fb$8lk$1@nntp.qnx.com

Hi Jerry,

The latest patch B should run on a machine without a pci bios.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Is QSSL thinking about writing a “driver” that does not require a PCI
Bios?
We have another board here
that QNX4 runs on but RTP does not because of the PCI Bios
requirement…

So, is this possible? Has there been any thought put into it?

Jerry Kirk

Hi Jerry,

I think there was a misunderstanding. If you have a machine with a PCI bus, then you must run
pci-bios. I thought that the latest diskboot was shipped with patch B, but it doesn’t appear so.
To run a network driver on a PCI card, you need pci-bios.

Regards,

Joe

Jerry Kirk <Jerry.Kirk@nexwarecorp.com> wrote:

Really? I was trying to run it with Patch B. Do I just omit running the
PCI-BIOS program or is there an alternative program? How do network drivers
that live out on the PCI bus work now?

Jerry

“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9c47fb$8lk$> 1@nntp.qnx.com> …

Hi Jerry,

The latest patch B should run on a machine without a pci bios.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Is QSSL thinking about writing a “driver” that does not require a PCI
Bios?
We have another board here
that QNX4 runs on but RTP does not because of the PCI Bios
requirement…

So, is this possible? Has there been any thought put into it?

Jerry Kirk

Yes. But what I would like is an option for machines that do not have a
pci-bios but have things I need to talk to that are on the PCI bus. I have a
box that qnx4 works on quite nicely because it can just talk to the device
on the PCI bus without the bios but I can not use RTP on it. Are there any
plans for dealing with older hardware like this?

Jerry

“Hardware Support Account” <hw@qnx.com> wrote in message
news:9c6lcr$nnc$1@nntp.qnx.com

Hi Jerry,

I think there was a misunderstanding. If you have a machine with a PCI
bus, then you must run
pci-bios. I thought that the latest diskboot was shipped with patch B,
but it doesn’t appear so.
To run a network driver on a PCI card, you need pci-bios.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Really? I was trying to run it with Patch B. Do I just omit running the
PCI-BIOS program or is there an alternative program? How do network
drivers
that live out on the PCI bus work now?

Jerry

“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9c47fb$8lk$> 1@nntp.qnx.com> …

Hi Jerry,

The latest patch B should run on a machine without a pci bios.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Is QSSL thinking about writing a “driver” that does not require a
PCI
Bios?
We have another board here
that QNX4 runs on but RTP does not because of the PCI Bios
requirement…

So, is this possible? Has there been any thought put into it?

Jerry Kirk

\

Hardware might not even be older. Some new systems may deliberately not
use BIOS but still have PCI bus and devices. Intel even provides
libraries to help startup code to do PCI BIOS job on such systems.

This is also case on non-x86 systems, but there QNX provides pci-raven,
pci-hawk, etc which handle specific PCI ASICs. I guess what we need is
pci-nobios for x86. But then there are different PCI chipsets so what we
need is just ‘pci’ which would load chipset-specific DLL. Plus PCI DDK
of course :wink:

That would also allow to handle PCI bridges properly. Of course I
discussed this with QNX already, but keep their ‘policy of ambiguocy’
(say neither yes or no).

  • Igor

Jerry Kirk wrote:

Yes. But what I would like is an option for machines that do not have a
pci-bios but have things I need to talk to that are on the PCI bus. I have a
box that qnx4 works on quite nicely because it can just talk to the device
on the PCI bus without the bios but I can not use RTP on it. Are there any
plans for dealing with older hardware like this?

Jerry

“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9c6lcr$nnc$> 1@nntp.qnx.com> …
Hi Jerry,

I think there was a misunderstanding. If you have a machine with a PCI
bus, then you must run
pci-bios. I thought that the latest diskboot was shipped with patch B,
but it doesn’t appear so.
To run a network driver on a PCI card, you need pci-bios.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Really? I was trying to run it with Patch B. Do I just omit running the
PCI-BIOS program or is there an alternative program? How do network
drivers
that live out on the PCI bus work now?

Jerry

“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9c47fb$8lk$> 1@nntp.qnx.com> …

Hi Jerry,

The latest patch B should run on a machine without a pci bios.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Is QSSL thinking about writing a “driver” that does not require a
PCI
Bios?
We have another board here
that QNX4 runs on but RTP does not because of the PCI Bios
requirement…

So, is this possible? Has there been any thought put into it?

Jerry Kirk

\

Hi Jerry,

As far as I know, there are no plans to support older hardware like this.

Regards,

Joe

Jerry Kirk <Jerry.Kirk@nexwarecorp.com> wrote:

Yes. But what I would like is an option for machines that do not have a
pci-bios but have things I need to talk to that are on the PCI bus. I have a
box that qnx4 works on quite nicely because it can just talk to the device
on the PCI bus without the bios but I can not use RTP on it. Are there any
plans for dealing with older hardware like this?

Jerry

“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9c6lcr$nnc$> 1@nntp.qnx.com> …
Hi Jerry,

I think there was a misunderstanding. If you have a machine with a PCI
bus, then you must run
pci-bios. I thought that the latest diskboot was shipped with patch B,
but it doesn’t appear so.
To run a network driver on a PCI card, you need pci-bios.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Really? I was trying to run it with Patch B. Do I just omit running the
PCI-BIOS program or is there an alternative program? How do network
drivers
that live out on the PCI bus work now?

Jerry

“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9c47fb$8lk$> 1@nntp.qnx.com> …

Hi Jerry,

The latest patch B should run on a machine without a pci bios.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Is QSSL thinking about writing a “driver” that does not require a
PCI
Bios?
We have another board here
that QNX4 runs on but RTP does not because of the PCI Bios
requirement…

So, is this possible? Has there been any thought put into it?

Jerry Kirk

\

“Hardware Support Account” <hw@qnx.com> wrote in message
news:9cjojn$odf$4@nntp.qnx.com

Hi Jerry,

As far as I know, there are no plans to support older hardware like this.

This is surprising since I thought QNX was going to support x86 embedded
systems… Seems like a big check-minus when it comes to comparing
Neutrino with other Embedded OSs. Certainly it removes it from competition
on one of our customers.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Yes. But what I would like is an option for machines that do not have a
pci-bios but have things I need to talk to that are on the PCI bus. I
have a
box that qnx4 works on quite nicely because it can just talk to the
device
on the PCI bus without the bios but I can not use RTP on it. Are there
any
plans for dealing with older hardware like this?

Jerry

“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9c6lcr$nnc$> 1@nntp.qnx.com> …
Hi Jerry,

I think there was a misunderstanding. If you have a machine with a PCI
bus, then you must run
pci-bios. I thought that the latest diskboot was shipped with patch B,
but it doesn’t appear so.
To run a network driver on a PCI card, you need pci-bios.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Really? I was trying to run it with Patch B. Do I just omit running
the
PCI-BIOS program or is there an alternative program? How do network
drivers
that live out on the PCI bus work now?

Jerry

“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9c47fb$8lk$> 1@nntp.qnx.com> …

Hi Jerry,

The latest patch B should run on a machine without a pci bios.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Is QSSL thinking about writing a “driver” that does not require
a
PCI
Bios?
We have another board here
that QNX4 runs on but RTP does not because of the PCI Bios
requirement…

So, is this possible? Has there been any thought put into it?

Jerry Kirk



\

On Mon, 30 Apr 2001 12:26:02 -0400, “Jerry Kirk”
<Jerry.Kirk@Nexwarecorp.com> wrote:

I’m currious how do you get PCI device to work without PCI bios.
How do you obtain the address/card/io of the card?

My understanding of PCI under QNX4 is that is also requires a PCI
BIOS.

Unfortunately the source to the pci server of QNX6 isn’t available.
In theory you could write your own.

“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9cjojn$odf$> 4@nntp.qnx.com> …
Hi Jerry,

As far as I know, there are no plans to support older hardware like this.

This is surprising since I thought QNX was going to support x86 embedded
systems… Seems like a big check-minus when it comes to comparing
Neutrino with other Embedded OSs. Certainly it removes it from competition
on one of our customers.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Yes. But what I would like is an option for machines that do not have a
pci-bios but have things I need to talk to that are on the PCI bus. I
have a
box that qnx4 works on quite nicely because it can just talk to the
device
on the PCI bus without the bios but I can not use RTP on it. Are there
any
plans for dealing with older hardware like this?

Jerry

“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9c6lcr$nnc$> 1@nntp.qnx.com> …
Hi Jerry,

I think there was a misunderstanding. If you have a machine with a PCI
bus, then you must run
pci-bios. I thought that the latest diskboot was shipped with patch B,
but it doesn’t appear so.
To run a network driver on a PCI card, you need pci-bios.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Really? I was trying to run it with Patch B. Do I just omit running
the
PCI-BIOS program or is there an alternative program? How do network
drivers
that live out on the PCI bus work now?

Jerry

“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9c47fb$8lk$> 1@nntp.qnx.com> …

Hi Jerry,

The latest patch B should run on a machine without a pci bios.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Is QSSL thinking about writing a “driver” that does not require
a
PCI
Bios?
We have another board here
that QNX4 runs on but RTP does not because of the PCI Bios
requirement…

So, is this possible? Has there been any thought put into it?

Jerry Kirk





\

Mario Charest wrote:

On Mon, 30 Apr 2001 12:26:02 -0400, “Jerry Kirk”
Jerry.Kirk@Nexwarecorp.com> > wrote:

I’m currious how do you get PCI device to work without PCI bios.
How do you obtain the address/card/io of the card?

The addresses required to access the configuration space of a PCI card are well
defined; it’s not much trouble if you have the book “PCI Hardware and Software
Architecture & Design” from Annabooks and/or the PCI 2.2 spec on CD. So you can
find out where everything is. The harder part is collecting up all the info on
the devices in a system and using the configuration space to allocate the
resources each requires. Still, that’s just software, no problem for one of
us…and if there are no PCI slots, it could all be hardcoded.

The absolute hardest part is knowing how the board designer connected the
interrupt lines on the devices to each other and to the interrupt controller
chip. This you must know if you are to allocate the interrupts sensibly among the
various devices you have.

All that a PCI bios does is to provide (two) standard ways of doing the above…

Two? Yes, the old fashioned 16 bit way with a hard-coded address in BIOS
space, and the newer 32-bit way which allows it to float most anywhere on a
paragraph boundary. QNX4.25 used the old way, as you can tell from the header
files and the interrupt vector table. I’m not sure which way QNX6.0 uses. They
seem to have hidden it all in the PCI server; with luck they try for a 32-bit
bios setup, and fall back onto the 16-bit if required. Considering that other
architectures may well do PCI slightly differently, a PCI server is probably a
good idea.

My understanding of PCI under QNX4 is that is also requires a PCI
BIOS.

Unfortunately the source to the pci server of QNX6 isn’t available.
In theory you could write your own.

“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9cjojn$odf$> 4@nntp.qnx.com> …
Hi Jerry,

As far as I know, there are no plans to support older hardware like this.

This is surprising since I thought QNX was going to support x86 embedded
systems… Seems like a big check-minus when it comes to comparing
Neutrino with other Embedded OSs. Certainly it removes it from competition
on one of our customers.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Yes. But what I would like is an option for machines that do not have a
pci-bios but have things I need to talk to that are on the PCI bus. I
have a
box that qnx4 works on quite nicely because it can just talk to the
device
on the PCI bus without the bios but I can not use RTP on it. Are there
any
plans for dealing with older hardware like this?

Jerry

“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9c6lcr$nnc$> 1@nntp.qnx.com> …
Hi Jerry,

I think there was a misunderstanding. If you have a machine with a PCI
bus, then you must run
pci-bios. I thought that the latest diskboot was shipped with patch B,
but it doesn’t appear so.
To run a network driver on a PCI card, you need pci-bios.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Really? I was trying to run it with Patch B. Do I just omit running
the
PCI-BIOS program or is there an alternative program? How do network
drivers
that live out on the PCI bus work now?

Jerry

“Hardware Support Account” <> hw@qnx.com> > wrote in message
news:9c47fb$8lk$> 1@nntp.qnx.com> …

Hi Jerry,

The latest patch B should run on a machine without a pci bios.

Regards,

Joe

Jerry Kirk <> Jerry.Kirk@nexwarecorp.com> > wrote:
Is QSSL thinking about writing a “driver” that does not require
a
PCI
Bios?
We have another board here
that QNX4 runs on but RTP does not because of the PCI Bios
requirement…

So, is this possible? Has there been any thought put into it?

Jerry Kirk





\

The bigger issue in all of this is NOT the PCI server itself, but
the presence or absence of a physical PCI BIOS in the box.

Under QNX4, none of the device drivers were written to use
a PCI server, they just basically looked for the devices at a
set of hard coded physical addresses that were initialized to
those locations prior to the start of the QNX kernel (by the
BIOS or a hard coded startup routine). This also meant that
multiple device drivers could attempt to beat on a single
device simultaneously and cause all sorts of problems.
However, it was generally speaking, easier to live with in
a “hard wired” embedded environment where you knew
exactly what was running, what hardware was present, and
never allowed any “user” apps to run. In essence, the
environment that, historically, QNX has primarily been used
for.

Under QNX6, as more emphasis has been placed on being
a true “plug & play” environment and a development
“platform”, everything has migrated to the new PCI
server style of management. Which, quite frankly, is
much nicer and much safer. However, as a result, all the
new RTP device drivers now require the PCI server to be
running before they can work. This is where a MAJOR
problem arises:

A sizeable percentage of embedded PC’s do not incorporate
a real BIOS of any kind (including a PCI BIOS) – which
means that the PCI server will not start, which in turn means
the drivers won’t run, which means you can’t use RTP.

This is a BIG problem for embedded boxes, as many
specifically do not want or need a full BIOS implementation
for any number of reasons – i.e. cost (licensing) and the
fact that no user configurability can be allowed.

For other platforms, RTP already has PCI servers that
directly access the PCI hardware without need of a PCI
BIOS in the system (e.g. pci-raven). The same is needed
for x86 based embedded platforms. In essence, what is
needed is basically a “pci-x86_direct”. Unfortunately,
this could easily evolve into “pci-geode”, “pci-intel”,
“pci-via”, “pci-ali”, etc. due to differences in system
chipsets (although I personally feel a single driver could
be written without too much effort – the PCI spec is
pretty well standardized at this point).

The full “RTP” suite may be intended as a desktop
development system, which one can reasonably
assume will include a true BIOS in the system.
However, the target embedded platforms that RTP is
being used to develop for – i.e. what will actually be
sold and QNX will be getting paid licensing
fees for – will NOT include a BIOS as often as not.
If QNX6 can’t run on a true embedded platform,
this is really going to be cutting straight into the
“bread & butter” of their target market – i.e. this
one problem is big enough to totally eliminate QNX6
from consideration for a lot of embedded projects
(many of which were QNX4 based and would have
been logical candidates for upgrading otherwise).

Personally, I feel this is a pretty serious issue.
(as, apparently from his comments, so does Igor)



Michael D. Burkey

“Michael D. Burkey” wrote:

[snip]

If QNX6 can’t run on a true embedded platform,
this is really going to be cutting straight into the
“bread & butter” of their target market – i.e. this
one problem is big enough to totally eliminate QNX6
from consideration for a lot of embedded projects
(many of which were QNX4 based and would have
been logical candidates for upgrading otherwise).

Personally, I feel this is a pretty serious issue.
(as, apparently from his comments, so does Igor)

Well yes, I do. Current PCI support has problems even when BIOS is
present. Trouble is with hot swap support for complex cPCI boards, which
often have bridge and anothr bus behind it.

They have pci_rescan_bus() function which is supposed to rescan PCI bus
after insertion of new board, so it will be visible for pci_xxx()
functions. It works for simpler cases like PC-card and cPCI boards
without bridges. But when bridge is there, anything behind it will not
be found, since bridge was not programmed properly by BIOS and pci-bios
(server) does not know how to deal with every bridge.

That limitation makes QNX6 unusable for cPCI-based carrier grade systems
which require high availability support. Since it is unusable for deeply
embedded systems without BIOS either, that leaves only mid-range
PC-based systems as suitable targets, rather pathetic I’d say for a
‘leader in realtime and embedded technology’.

They know it of course, we even went to visit them once to discuss that
and other problems. I hope they fix it sooner than too late ;\

Yes, what we need is expandable PCI support architecture which would
allow to plug in DLLs supporting various chipsets and bridges. Hugh, you
mind to elighten us with your vision of future?

  • Igor

“Michael D. Burkey” <michael.burkey@nexwarecorp.com> wrote in message
news:9cp87j$ghu$1@inn.qnx.com

The bigger issue in all of this is NOT the PCI server itself, but
the presence or absence of a physical PCI BIOS in the box.

Under QNX4, none of the device drivers were written to use
a PCI server, they just basically looked for the devices at a
set of hard coded physical addresses that were initialized to
those locations prior to the start of the QNX kernel (by the
BIOS or a hard coded startup routine).

??? What are the _CA_PCI… call for then?

Mario Charest wrote:

“Michael D. Burkey” <> michael.burkey@nexwarecorp.com> > wrote in message
news:9cp87j$ghu$> 1@inn.qnx.com> …
The bigger issue in all of this is NOT the PCI server itself, but
the presence or absence of a physical PCI BIOS in the box.

Under QNX4, none of the device drivers were written to use
a PCI server, they just basically looked for the devices at a
set of hard coded physical addresses that were initialized to
those locations prior to the start of the QNX kernel (by the
BIOS or a hard coded startup routine).

??? What are the _CA_PCI… call for then?

Nothing prevented several apps from calling those simultaneously and
that apparently caused trouble. Note, in early versions of NTO2 pci-bios
server used to be pci-bios.so (DLL) and that was changed later, I guess
due to same reasons.

  • igor