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