Skip to contentSkip to conversation

Data storing

DISCUSSION Andrew Kirilenko 3 participants 4 messages Apr 23, 2003

lore
Share & tools
lore
#0 lore raw

Hello!

I need to make some checks (search for particular BIOS version) in the very start of the kernel. I need to store this data (zero page is pretty good for this, I think) and access it from arch/i386/boot/setup.S, arch/i386/boot/compressed/misc.c and in some other places. Can somebody suggest me good place to put check procedure and how to pass data?

Best regards,
Andrew.

#1 lore raw
Quoted 10 lines · Andrew Kirilenko

Hello!

I need to make some checks (search for particular BIOS version) in the very start of the kernel. I need to store this data (zero page is pretty good for this, I think) and access it from arch/i386/boot/setup.S, arch/i386/boot/compressed/misc.c and in some other places. Can somebody suggest me good place to put check procedure and how to pass data?

Best regards,
Andrew.

I use 0x000001f0 (absolute) for relocating virtual disk code for booting embedded systems. After Linux is up, the code remains untouched. This might be a good location because the BIOS doesn't use it during POST/boot and Linux (currently) leaves it alone. Of course, this doesn't mean that somebody will not destroy this area in the future (probably to spite you and me!!!).

Cheers,
Dick Johnson
Penguin : Linux version 2.4.20 on an i686 machine (797.90 BogoMips). Why is the government concerned about the lunatic fringe? Think about it.

#2 lore raw

Hello!

Quoted 6 lines
Quoted 5 lines

I need to make some checks (search for particular BIOS version) in the very start of the kernel. I need to store this data (zero page is pretty good for this, I think) and access it from arch/i386/boot/setup.S, arch/i386/boot/compressed/misc.c and in some other places. Can somebody suggest me good place to put check procedure and how to pass data?

Quoted 6 lines

I use 0x000001f0 (absolute) for relocating virtual disk code for booting embedded systems. After Linux is up, the code remains untouched. This might be a good location because the BIOS doesn't use it during POST/boot and Linux (currently) leaves it alone. Of course, this doesn't mean that somebody will not destroy this area in the future (probably to spite you and me!!!).

Yes, I know about this area, as I wrote (Documentation/i386/zero-page.txt). And I even know how to pass parameter from zero-page into kernel space (setup.c). But I need to use this parm, I fetched, in both setup.S and misc.c (see below). And I don't have any ideas about execute order of setup.S, misc.c and setup.c.

Best regards,
Andrew.

#3 lore raw

On Wed, 23 Apr 2003 15:28:08 +0300 Andrew Kirilenko <[email protected]> wrote:

| > > I need to make some checks (search for particular BIOS version) in the
| > > very start of the kernel. I need to store this data (zero page is pretty
| > > good for this, I think) and access it from arch/i386/boot/setup.S,
| > > arch/i386/boot/compressed/misc.c and in some other places. Can somebody
| > > suggest me good place to put check procedure and how to pass data?
| >
| > I use 0x000001f0 (absolute) for relocating virtual disk code
| > for booting embedded systems. After Linux is up, the code remains
| > untouched. This might be a good location because the BIOS doesn't
| > use it during POST/boot and Linux (currently) leaves it alone.
| > Of course, this doesn't mean that somebody will not destroy this
| > area in the future (probably to spite you and me!!!).
| 
| Yes, I know about this area, as I wrote (Documentation/i386/zero-page.txt). 
| And I even know how to pass parameter from zero-page into kernel space 
| (setup.c). But I need to use this parm, I fetched, in both setup.S and misc.c 
| (see below). And I don't have any ideas about execute order of setup.S, 
| misc.c and setup.c.

Hi,
Some of this early boot info can be found in my (somewhat old) "Linux 2.4.x Initialization for IA-32", located at
http://www.xenotime.net/linux/linit/lin240_init_x86.html

--
~Randy