Passing data from IPL to startup

We need to pass some data from IPL to startup. Is there any QNXish way to
achive that?

Thanks.

“Dmitri Poustovalov” <pdmitri@sympatico.ca> wrote in message
news:aj8hoq$ep2$1@inn.qnx.com

We need to pass some data from IPL to startup. Is there any QNXish way to
achive that?

You can pass it either in the startup_info header, or just cram it into a
memory location/register you know isn’t used between IPL and startup.

\

Cheers,
Adam

QNX Software Systems Ltd.
[ amallory@qnx.com ]

With a PC, I always felt limited by the software available.
On Unix, I am limited only by my knowledge.
–Peter J. Schoenster <pschon@baste.magibox.net>

Dmitri Poustovalov <pdmitri@sympatico.ca> wrote:

Thank you for respond.

I have two bootable devices (DiskOnChip) for upgrade/redundancy purpose. IPL
peaks up one of them accordingly configuration settings or, let’s say, in
case of failure of one of the devices. I am actually trying to get IPL
choice to post-kernel applications in order to mount a proper device as /.

Using ‘info’ from ‘startup_header’ (actually ‘startup_info_disk’) seems to
be more appropriate. This data can be accessed from startup with
find_startup_info(). The question remains, how to drag this data to
post-kernel? syspage has ‘diskgeometry tag’ in ‘hwinfo’. Is
‘startup_info_disk’ auto-magicaly transfered to syspage? Or do I have to
mannually retreive data using 'find_startup_info() and to fill up
‘diskgeometry tag’ to make it visible for post-kernel apps?

I don’t think the startup header is the place to put things for post-kernel
retrieval.

I’d have said that the system page was the place, it is intended for use
by startup to communicate things about the system to the kernel and to
applications that might run after the kernel, and there is a way
to extend the syspage with private entries, which sounds like what you
want to do.

I think Building Embedded Systems has a goodly chunk of information
(sometimes too much) on setting up the system page, you might be able
to find what you need in there.

-David

QNX Training Services
http://www.qnx.com/support/training/
Please followup in this newsgroup if you have further questions.

And you can always cheat and setup a hole in DRAM for yourself, just tell
the kernel not to use that area and you can put anything you like into it.

chris


David Gibbs <dagibbs@qnx.com> wrote:

Dmitri Poustovalov <> pdmitri@sympatico.ca> > wrote:
Thank you for respond.

I have two bootable devices (DiskOnChip) for upgrade/redundancy purpose. IPL
peaks up one of them accordingly configuration settings or, let’s say, in
case of failure of one of the devices. I am actually trying to get IPL
choice to post-kernel applications in order to mount a proper device as /.

Using ‘info’ from ‘startup_header’ (actually ‘startup_info_disk’) seems to
be more appropriate. This data can be accessed from startup with
find_startup_info(). The question remains, how to drag this data to
post-kernel? syspage has ‘diskgeometry tag’ in ‘hwinfo’. Is
‘startup_info_disk’ auto-magicaly transfered to syspage? Or do I have to
mannually retreive data using 'find_startup_info() and to fill up
‘diskgeometry tag’ to make it visible for post-kernel apps?

I don’t think the startup header is the place to put things for post-kernel
retrieval.

I’d have said that the system page was the place, it is intended for use
by startup to communicate things about the system to the kernel and to
applications that might run after the kernel, and there is a way
to extend the syspage with private entries, which sounds like what you
want to do.

I think Building Embedded Systems has a goodly chunk of information
(sometimes too much) on setting up the system page, you might be able
to find what you need in there.

-David

QNX Training Services
http://www.qnx.com/support/training/
Please followup in this newsgroup if you have further questions.


Chris McKillop <cdm@qnx.com> “The faster I go, the behinder I get.”
Software Engineer, QSSL – Lewis Carroll –
http://qnx.wox.org/

“David Gibbs” <dagibbs@qnx.com> wrote in message
news:aj91mu$8kq$2@nntp.qnx.com

I don’t think the startup header is the place to put things for
post-kernel
retrieval.

I’d have said that the system page was the place, it is intended for use
by startup to communicate things about the system to the kernel and to
applications that might run after the kernel, and there is a way
to extend the syspage with private entries, which sounds like what you
want to do.

Definately - if you want to pass information to post bootstrap processes,
the syspage is the way. The original post was on IPL → startup. So you
have lots of options, including draging the startup info stuff from IPL, and
putting it into a syspage entry for further use during the startup phase.

Or like Chris suggested, and extention to the “stuff it in a register/mem”
idea and make a memory hole for this use.

\

Cheers,
Adam

QNX Software Systems Ltd.
[ amallory@qnx.com ]

With a PC, I always felt limited by the software available.
On Unix, I am limited only by my knowledge.
–Peter J. Schoenster <pschon@baste.magibox.net>

Thank you for respond.

I have two bootable devices (DiskOnChip) for upgrade/redundancy purpose. IPL
peaks up one of them accordingly configuration settings or, let’s say, in
case of failure of one of the devices. I am actually trying to get IPL
choice to post-kernel applications in order to mount a proper device as /.

Using ‘info’ from ‘startup_header’ (actually ‘startup_info_disk’) seems to
be more appropriate. This data can be accessed from startup with
find_startup_info(). The question remains, how to drag this data to
post-kernel? syspage has ‘diskgeometry tag’ in ‘hwinfo’. Is
‘startup_info_disk’ auto-magicaly transfered to syspage? Or do I have to
mannually retreive data using 'find_startup_info() and to fill up
‘diskgeometry tag’ to make it visible for post-kernel apps?

Thanks,
-Dmitri

“Adam Mallory” <amalloryNOSPAM@NOSPAMqnx.com> wrote in message
news:aj8i9j$r0n$1@nntp.qnx.com

“Dmitri Poustovalov” <> pdmitri@sympatico.ca> > wrote in message
news:aj8hoq$ep2$> 1@inn.qnx.com> …
We need to pass some data from IPL to startup. Is there any QNXish way
to
achive that?

You can pass it either in the startup_info header, or just cram it into a
memory location/register you know isn’t used between IPL and startup.

\

Cheers,
Adam

QNX Software Systems Ltd.
[ > amallory@qnx.com > ]

With a PC, I always felt limited by the software available.
On Unix, I am limited only by my knowledge.
–Peter J. Schoenster <> pschon@baste.magibox.net

Dmitri Poustovalov <pdmitri@sympatico.ca> wrote:

As Adam suggested, IPL notifies startup via startup_header. startup
applications via syspage. startup_header has startup_info_disk. syspage has
diskgeometry tag. How those two are correlated? Do I have to copy
startup_info_disk to diskgeometry tag or it is done automagicaly?

Look at startup/lib/x86/init_hwinfo.c: the add_diskinfo function.


Brian Stecher (bstecher@qnx.com) QNX Software Systems, Ltd.
phone: +1 (613) 591-0931 (voice) 175 Terence Matthews Cr.
+1 (613) 591-3579 (fax) Kanata, Ontario, Canada K2M 1W8

Dmitri Poustovalov <pdmitri@sympatico.ca> wrote:
: Thanks, Brian. I’ll give it a shot. Do you know by chance if there any plan
: to update documentation?

I’ll add this to the queue. Thanks.


Steve Reid stever@qnx.com
TechPubs (Technical Publications)
QNX Software Systems

“Chris McKillop” <cdm@qnx.com> wrote in message
news:aj99s5$e8n$4@nntp.qnx.com

And you can always cheat and setup a hole in DRAM for yourself, just tell
the kernel not to use that area and you can put anything you like into it.

The granularity for physical memory allocation is 4k. Please, correct me if
I am wrong. Allocation 4k for storing 4-8 bytes does not sound ‘embedded’ to
me :wink:

chris


David Gibbs <> dagibbs@qnx.com> > wrote:
Dmitri Poustovalov <> pdmitri@sympatico.ca> > wrote:
Thank you for respond.

I have two bootable devices (DiskOnChip) for upgrade/redundancy
purpose. IPL
peaks up one of them accordingly configuration settings or, let’s say,
in
case of failure of one of the devices. I am actually trying to get IPL
choice to post-kernel applications in order to mount a proper device
as /.

Using ‘info’ from ‘startup_header’ (actually ‘startup_info_disk’) seems
to
be more appropriate. This data can be accessed from startup with
find_startup_info(). The question remains, how to drag this data to
post-kernel? syspage has ‘diskgeometry tag’ in ‘hwinfo’. Is
‘startup_info_disk’ auto-magicaly transfered to syspage? Or do I have
to
mannually retreive data using 'find_startup_info() and to fill up
‘diskgeometry tag’ to make it visible for post-kernel apps?

I don’t think the startup header is the place to put things for
post-kernel
retrieval.

I’d have said that the system page was the place, it is intended for use
by startup to communicate things about the system to the kernel and to
applications that might run after the kernel, and there is a way
to extend the syspage with private entries, which sounds like what you
want to do.

I think Building Embedded Systems has a goodly chunk of information
(sometimes too much) on setting up the system page, you might be able
to find what you need in there.

-David

QNX Training Services
http://www.qnx.com/support/training/
Please followup in this newsgroup if you have further questions.


Chris McKillop <> cdm@qnx.com> > “The faster I go, the behinder I get.”
Software Engineer, QSSL – Lewis Carroll –
http://qnx.wox.org/

Let me rephrase it.

As Adam suggested, IPL notifies startup via startup_header. startup
applications via syspage. startup_header has startup_info_disk. syspage has
diskgeometry tag. How those two are correlated? Do I have to copy
startup_info_disk to diskgeometry tag or it is done automagicaly?

Thanks,
Dmitri

“David Gibbs” <dagibbs@qnx.com> wrote in message
news:aj91mu$8kq$2@nntp.qnx.com

Dmitri Poustovalov <> pdmitri@sympatico.ca> > wrote:
Thank you for respond.

I have two bootable devices (DiskOnChip) for upgrade/redundancy purpose.
IPL
peaks up one of them accordingly configuration settings or, let’s say,
in
case of failure of one of the devices. I am actually trying to get IPL
choice to post-kernel applications in order to mount a proper device
as /.

Using ‘info’ from ‘startup_header’ (actually ‘startup_info_disk’) seems
to
be more appropriate. This data can be accessed from startup with
find_startup_info(). The question remains, how to drag this data to
post-kernel? syspage has ‘diskgeometry tag’ in ‘hwinfo’. Is
‘startup_info_disk’ auto-magicaly transfered to syspage? Or do I have to
mannually retreive data using 'find_startup_info() and to fill up
‘diskgeometry tag’ to make it visible for post-kernel apps?

I don’t think the startup header is the place to put things for
post-kernel
retrieval.

I’d have said that the system page was the place, it is intended for use
by startup to communicate things about the system to the kernel and to
applications that might run after the kernel, and there is a way
to extend the syspage with private entries, which sounds like what you
want to do.

I think Building Embedded Systems has a goodly chunk of information
(sometimes too much) on setting up the system page, you might be able
to find what you need in there.

-David

QNX Training Services
http://www.qnx.com/support/training/
Please followup in this newsgroup if you have further questions.

Thanks, Brian. I’ll give it a shot. Do you know by chance if there any plan
to update documentation?

“Brian Stecher” <bstecher@qnx.com> wrote in message
news:ajb39d$oq1$1@nntp.qnx.com

Dmitri Poustovalov <> pdmitri@sympatico.ca> > wrote:
As Adam suggested, IPL notifies startup via startup_header. startup
applications via syspage. startup_header has startup_info_disk. syspage
has
diskgeometry tag. How those two are correlated? Do I have to copy
startup_info_disk to diskgeometry tag or it is done automagicaly?

Look at startup/lib/x86/init_hwinfo.c: the add_diskinfo function.


Brian Stecher (> bstecher@qnx.com> ) QNX Software Systems, Ltd.
phone: +1 (613) 591-0931 (voice) 175 Terence Matthews Cr.
+1 (613) 591-3579 (fax) Kanata, Ontario, Canada K2M
1W8