Hello. I've played with EPIA-M tree recently. Interesting facts:
1) I'm always turning to "fallback" image. How LB decides which image to load? I guess this is done with CMOS entry (which one?), but I want boot VIA's AwardBIOS as well as LB (by switching Flash Chips in BIOS Savior). 2) I included file minicom.capped1.bz2. It's a minicom's output. I bet jmp_to_elf_entry() do the wrong staff (src/arch/i386/boot/boot.c) thus not loading payload at all. 3) Moreover. Looking at minicom.capped2.bz2. I've changed jmp_to_elf_entry() a little (put the code from PPC part). Ok, loading FILO now works. But reverting to "Normal" image. And finally, "SMBUS controller not found" because of wrong DEV (DEV = 0xFF).
P.S. Booting in cold restart loading "Normal" image. "Normal" image don't boot - it stops at enable_smbus().
Any clues?
On Mon, Jun 20, 2005 at 08:38:30AM +0400, Anton Borisov wrote:
I've played with EPIA-M tree recently. Interesting facts:
Which tree is this? From your output it looks a little like mine?
- I'm always turning to "fallback" image. How LB decides which image
to load? I guess this is done with CMOS entry (which one?), but I want boot VIA's AwardBIOS as well as LB (by switching Flash Chips in BIOS Savior).
- I included file minicom.capped1.bz2. It's a minicom's output. I bet
jmp_to_elf_entry() do the wrong staff (src/arch/i386/boot/boot.c) thus not loading payload at all. 3) Moreover. Looking at minicom.capped2.bz2. I've changed jmp_to_elf_entry() a little (put the code from PPC part). Ok, loading FILO now works. But reverting to "Normal" image. And finally, "SMBUS controller not found" because of wrong DEV (DEV = 0xFF).
What changes did you make for jmp_to_elf_entry?
How much memory is on your board? I think the RAM detection stuff is wrong and that's possibly causing FILO problems; from your minicom.capped2.bz2:
I would set ram size to 0x3fc000 Kbytes
and then later, in FILO:
collect_sys_info: RAM 4032 MB
P.S. Booting in cold restart loading "Normal" image. "Normal" image don't boot - it stops at enable_smbus().
Adam Talbot and I have been looking at this; it doesn't seem to be a specific piece of code that's crashing, as we've seen it hang at various points around the initialisation code. My current guess is that some interrupt that we're not handling yet is occurring, or that we need to do some further chipset initialisation before trying to enable the SMBUS.
I've got a list of chipset registers the Award BIOS seems to twiddle, so I might add those to the enable_mainboard function to see if that at least gets us further.
J.
On Mon, 20 Jun 2005 12:32:33 +0100 Jonathan McDowell noodles@earth.li wrote:
On Mon, Jun 20, 2005 at 08:38:30AM +0400, Anton Borisov wrote:
I've played with EPIA-M tree recently. Interesting facts:
Which tree is this? From your output it looks a little like mine?
Exactly.
What changes did you make for jmp_to_elf_entry?
void jmp_to_elf_entry(void *entry, unsigned long buffer) { void (*kernel_entry)(void); kernel_entry = entry; kernel_entry(); }
Code is from PPC part. I removed flush_dcache();
How much memory is on your board? I think the RAM detection stuff is
256 MB of RAM.
wrong and that's possibly causing FILO problems; from your minicom.capped2.bz2:
I would set ram size to 0x3fc000 Kbytes
Should I learn about a new option inside Config.filo.lb?
and then later, in FILO:
collect_sys_info: RAM 4032 MB
P.S. Booting in cold restart loading "Normal" image. "Normal" image don't boot - it stops at enable_smbus().
Adam Talbot and I have been looking at this; it doesn't seem to be a specific piece of code that's crashing, as we've seen it hang at various points around the initialisation code. My current guess is that some interrupt that we're not handling yet is occurring, or that we need to do some further chipset initialisation before trying to enable the SMBUS.
I've got a list of chipset registers the Award BIOS seems to twiddle, so I might add those to the enable_mainboard function to see if that at least gets us further.
Well, this could help. Can you attach it? I don't remember but it seems to me I've seen somewhere the CMOS map according to each LB decides which image to load "Normal" or "Fallback". Am I right?
On Mon, Jun 20, 2005 at 03:44:39PM +0400, Anton Borisov wrote:
On Mon, 20 Jun 2005 12:32:33 +0100 Jonathan McDowell noodles@earth.li wrote:
How much memory is on your board? I think the RAM detection stuff is
256 MB of RAM.
wrong and that's possibly causing FILO problems; from your minicom.capped2.bz2:
I would set ram size to 0x3fc000 Kbytes
Should I learn about a new option inside Config.filo.lb?
No, that's in your log output; from line 223 in vt8623/northbridge.c
I've got a list of chipset registers the Award BIOS seems to twiddle, so I might add those to the enable_mainboard function to see if that at least gets us further.
Well, this could help. Can you attach it?
I've attached a modified src/mainboard/via/epia-m/auto.c which sets all the chipset registers from the Award table I extracted. I don't know if it'll help or not though.
I don't remember but it seems to me I've seen somewhere the CMOS map according to each LB decides which image to load "Normal" or "Fallback". Am I right?
I /think/ so; see do_normal_boot in src/pc80/mc146818rtc_early.c
J.