LinuxBIOS have three parts

  1. linuxbios for init RAM, and Cache_as_RAM. Code is Flash, and stack is in CACHE. From cache_as_ram_main()
  2. linuxbios_ram: for PCI device handling. ---  from hardwaremain()  Code is in ram and unzipped from rom by 1.
  3. payload: it could be Etherboot ( boot from Network) or Kernel. Elfloader in 2 will load payload and jmp to it.

 

Also the flash will contain three linuxbios.rom

Normal+Fallback+Failover.

Failover will be used to init 64K above rom access.

 

YH

 


From: linuxbios-bounces@linuxbios.org [mailto:linuxbios-bounces@linuxbios.org] On Behalf Of Feng, Libo
Sent: Thursday, February 01, 2007 8:16 PM
To: linuxbios@linuxbios.org
Subject: [LinuxBIOS] The two load RAM codes.

 

 

I am studying the LinuxBios project. I have a question about the RAM code: from Makefile, it seems that LinuxBios could load codes from FLASH to RAM twice, first for linuxbios_ram, second for so-called payload. My understanding is correct or not. However, also from Makefile, it seems that linuxbios is dependent on LINUXBIOS_RAM_ROM, but doesn't include it. The below is abstracted from a Makefile for via epia-m based on LinuxBiosV2-2534:

linuxbios: crt0.o $(INIT-OBJECTS) $(LINUXBIOS_APC) $(LINUXBIOS_RAM_ROM) ldscript.ld
        $(CC) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld crt0.o $(INIT-OBJECTS)
        $(CROSS_COMPILE)nm -n linuxbios | sort > linuxbios.map.

So, there is no action on LINUXBIOS_RAM_ROM. Does it mean linuxbios_ram is not very important. Even without it, the system is also ok?

Feng Libo