Hi May,
you might have already gotten past this, but I thought I'd comment. The codebase you're working from is intel's proof of concept implementation. I don't remember if they have the MRC cache enabled. For Rangeley/Avoton platforms though, saving and restoring the MRC cache required, not optional as it is on many other FSPs.

The MRC cache is for saving the state of the memory controller. Other FSPs require that the MRC data get saved and restored for S3 resume and for "Fast Boot". For Rangeley it's required that it get restored every time. If the MRC cache isn't restored, the system gets reset an additional time on boot. If the platform doesn't have the hardware for a full power down sequence (blade systems are the example I saw), then the system will hang on reset about 30% of the time.

If the code to save and restore the MRC cache isn't available in the codebase you're using, I'd recommend switching to a codebase that does.

Martin

On 01/19/2015 06:42 PM, May Park wrote:

Hello Viktor,

I went thru your log file attached below, and I found a difference between our coreboot.rom which used the same Rangeley platform (Mohon Peak CRB).

would you please tell me how you generate this hightlighted mrc.cache file, I didn't find any configuration in 'menuconfig' or Kconfig files. My code base is '*RANGELEY_CB_POSTGOLD_001_20131218*' which was downloaded from Intel website.

I've already googled 'mrc.cache' but hardly found much hits, what is this file for? could you please also give some hints :)


Thanks

May

------------------------------------------------------------
/Name                           Offset     Type Size/
/cmos_layout.bin                0x600000   cmos_layout 1352/
/pci1106,3230.rom               0x600580   optionrom 4096/
/fallback/romstage              0x6015c0   stage 26620/
/fallback/ramstage              0x607e00   stage 60427/
/fallback/payload               0x616a80   payload 53368/
/config                         0x623b40   raw 4538/
/revision                       0x624d40   raw 714/
/vgaroms/sgabios.bin            0x625040   raw 4096/
/(empty)                        0x626080   null 1220376/
/*mrc.cache 0x74ffc0   (unknown)    65536*/
/cpu_microcode_blob.bin         0x760000   microcode 83968/
/(empty)                        0x774840   null 46936/
/fsp.bin                        0x77ffc0   (unknown) 372736/
/(empty)                        0x7db000   null 150424/
------------------------------------------------------------------------

    *From:* Kuzmichev Viktor <mailto:[email protected]>
    *Date:* 2014-12-25 16:45
    *To:* coreboot <mailto:[email protected]>
    *Subject:* [coreboot] SeaBIOS, serial output, grub, sgabios does
    not seem to load
    Hello,
    I've been trying to boot grub installed on the hard drive using
    coreboot
    and SeaBIOS as a payload. The motherboard I'm using is Intel Mohon
    Peak.
    Also, I do not use VGA for output, only serial port. So, I
    included the
    sgabios into my rom file. Here is its layout:
    $ ./build/cbfstool build/coreboot.rom print
    coreboot.rom: 8192 kB, bootblocksize 1024, romsize 8388608, offset
    0x600000
    alignment: 64 bytes, architecture: x86
    Name                           Offset     Type Size
    cmos_layout.bin                0x600000   cmos_layout 1352
    pci1106,3230.rom               0x600580   optionrom 4096
    fallback/romstage              0x6015c0   stage 26620
    fallback/ramstage              0x607e00   stage 60427
    fallback/payload               0x616a80   payload 53368
    config                         0x623b40   raw 4538
    revision                       0x624d40   raw 714
    vgaroms/sgabios.bin            0x625040   raw 4096
    (empty)                        0x626080   null 1220376
    mrc.cache                      0x74ffc0   (unknown) 65536
    cpu_microcode_blob.bin         0x760000   microcode 83968
    (empty)                        0x774840   null 46936
    fsp.bin                        0x77ffc0   (unknown) 372736
    (empty)                        0x7db000   null 150424
    The issue is, it looks like SeaBIOS does not load sgabios at all.
    Here is the SeaBIOS output, debug level 7 (I also put it in the
    attachment):
    Attempting to find coreboot table
    Found coreboot table forwarder.
    Now attempting to find coreboot memory map
    Found mainboard Intel Mohon Peak CRB
    malloc preinit
    Relocating init from 0x000e6b60 to 0x7fd97590 (size 35248)
    malloc init
    Found CBFS header at 0xfffffbe0
    Add romfile: cmos_layout.bin (size=1352)
    Add romfile: pci1106,3230.rom (size=4096)
    Add romfile: fallback/romstage (size=26620)
    Add romfile: fallback/ramstage (size=60427)
    Add romfile: fallback/payload (size=53368)
    Add romfile: config (size=4538)
    Add romfile: revision (size=714)
    Add romfile: vgaroms/sgabios.bin (size=4096)
    Add romfile:  (size=1220376)
    Add romfile: mrc.cache (size=65536)
    Add romfile: cpu_microcode_blob.bin (size=83968)
    Add romfile:  (size=46936)
    Add romfile: fsp.bin (size=372736)
    Add romfile:  (size=150424)
    init ivt
    init bda
    init bios32
    init PNPBIOS table
    init keyboard
    init mouse
    init pic
    math cp init
    tsc calibrate start=1665406224 end=1669527480 diff=4121256
    CPU Mhz=2401
    init timer
    PCI probe
    PCI device 00:00.0 (vd=8086:1f08 c=0600)
    PCI device 00:01.0 (vd=8086:1f10 c=0604)
    PCI device 00:03.0 (vd=8086:1f12 c=0604)
    PCI device 00:0b.0 (vd=8086:1f18 c=0b40)
    PCI device 00:0e.0 (vd=8086:1f14 c=0600)
    PCI device 00:0f.0 (vd=8086:1f16 c=0806)
    PCI device 00:13.0 (vd=8086:1f15 c=0880)
    PCI device 00:16.0 (vd=8086:1f2c c=0c03)
    PCI device 00:17.0 (vd=8086:1f22 c=0106)
    PCI device 00:18.0 (vd=8086:1f32 c=0106)
    PCI device 00:1f.0 (vd=8086:1f38 c=0601)
    PCI device 00:1f.3 (vd=8086:1f3c c=0c05)
    PCI device 01:00.0 (vd=1a03:1150 c=0604)
    PCI device 02:00.0 (vd=1a03:2000 c=0300)
    PCI device 03:00.0 (vd=10b5:8624 c=0604)
    PCI device 04:04.0 (vd=10b5:8624 c=0604)
    PCI device 04:05.0 (vd=10b5:8624 c=0604)
    PCI device 04:08.0 (vd=10b5:8624 c=0604)
    PCI device 04:09.0 (vd=10b5:8624 c=0604)
    PCI device 06:00.0 (vd=8086:1528 c=0200)
    PCI device 06:00.1 (vd=8086:1528 c=0200)
    Found 21 PCI devices (max PCI bus is 08)
    Relocating coreboot bios tables
    Copying ACPI RSDP from 0x7fde2800 to 0x000f5730
    Copying SMBIOS entry point from 0x7fdee000 to 0x000f5710
    rsdp=0x000f5730
    rsdt=0x7fde2830
    fadt=0x7fde4950
    pm_tmr_blk=408
    Using pmtimer, ioport 0x408
    /7fd95000\ Start thread
    |7fd95000| init usb
    |7fd95000| EHCI init on dev 00:16.0 (regs=0xdc865420)
    /7fd94000\ Start thread
    init ps2port
    /7fd93000\ Start thread
    |7fd93000| i8042_flush
    |7fd93000| i8042 flushed ff (status=ff)
    |7fd93000| i8042 flushed ff (status=ff)
    |7fd93000| i8042 flushed ff (status=ff)
    |7fd93000| i8042 flushed ff (status=ff)
    |7fd93000| i8042 flushed ff (status=ff)
    |7fd93000| i8042 flushed ff (status=ff)
    |7fd93000| i8042 flushed ff (status=ff)
    |7fd93000| i8042 flushed ff (status=ff)
    |7fd93000| i8042 flushed ff (status=ff)
    |7fd93000| i8042 flushed ff (status=ff)
    |7fd93000| i8042 flushed ff (status=ff)
    |7fd93000| i8042 flushed ff (status=ff)
    |7fd93000| i8042 flushed ff (status=ff)
    |7fd93000| i8042 flushed ff (status=ff)
    |7fd93000| i8042 flushed ff (status=ff)
    |7fd93000| i8042 flushed ff (status=ff)
    |7fd93000| WARNING - Timeout at i8042_flush:71!
    \7fd93000/ End thread
    init lpt
    Found 0 lpt ports
    init serial
    Found 2 serial ports
    init floppy drives
    init hard drives
    init ahci
    ebda moved from 9f000 to 9e800
    AHCI controller at 17.0, iobase dc864000, irq 15
    AHCI: cap 0xc720ff03, ports_impl 0x2
    /7fd92000\ Start thread
    |7fd92000| AHCI/1: probing
    |7fd92000| AHCI/1: link up
    \7fd95000/ End thread
    /7fd91000\ Start thread
    AHCI controller at 18.0, iobase dc864800, irq 0
    AHCI: cap 0xc3309f01, ports_impl 0x0
    init megasas
    /7fd90000\ Start thread
    |7fd92000| AHCI/1: ... finished, status 0x51, ERROR 0x4
    /7fd8f000\ Start thread
    |7fd92000| Searching bootorder for: /pci@i0cf8/*@17/drive@1/disk@0
    /7fd8e000\ Start thread
    |7fd92000| AHCI/1: registering: "AHCI/1: ST500DM002-1BD142 ATA-8
    Hard-Disk (465"
    |7fd92000| Registering bootable: AHCI/1: ST500DM002-1BD142 ATA-8
    Hard-Disk (465)
    \7fd92000/ End thread
    /7fd93000\ Start thread
    /7fd92000\ Start thread
    |7fd91000| set_address 0x7fd96260
    /7fd8d000\ Start thread
    /7fd8c000\ Start thread
    |7fd91000| ehci_alloc_async_pipe 0x7fd96260 0
    |7fd91000| ehci_control 0x7fd95b50 (dir=0 cmd=8 data=0)
    |7fd91000| ehci_alloc_async_pipe 0x7fd96260 0
    |7fd91000| config_usb: 0x7fd95b50
    |7fd91000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=8)
    |7fd91000| device rev=0200 cls=09 sub=00 proto=01 size=64
    |7fd91000| ehci_alloc_async_pipe 0x7fd96260 0
    |7fd91000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=9)
    \7fd8c000/ End thread
    \7fd8d000/ End thread
    \7fd92000/ End thread
    \7fd93000/ End thread
    \7fd8e000/ End thread
    \7fd8f000/ End thread
    \7fd90000/ End thread
    |7fd91000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=25)
    |7fd91000| ehci_control 0x7fd95b50 (dir=0 cmd=8 data=0)
    |7fd91000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=7)
    |7fd91000| ehci_control 0x7fd95b50 (dir=0 cmd=8 data=0)
    |7fd91000| ehci_control 0x7fd95b50 (dir=0 cmd=8 data=0)
    |7fd91000| ehci_control 0x7fd95b50 (dir=0 cmd=8 data=0)
    |7fd91000| ehci_control 0x7fd95b50 (dir=0 cmd=8 data=0)
    /7fd93000\ Start thread
    |7fd93000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=4)
    /7fd92000\ Start thread
    |7fd93000| ehci_control 0x7fd95b50 (dir=0 cmd=8 data=0)
    /7fd90000\ Start thread
    |7fd93000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=4)
    /7fd8f000\ Start thread
    |7fd8f000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=4)
    |7fd90000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=4)
    |7fd92000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=4)
    |7fd93000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=4)
    |7fd93000| set_address 0x7fd96260
    |7fd8f000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=4)
    |7fd92000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=4)
    |7fd93000| ehci_alloc_async_pipe 0x7fd96260 0
    |7fd93000| ehci_control 0x7fd95ad0 (dir=0 cmd=8 data=0)
    |7fd8f000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=4)
    |7fd92000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=4)
    |7fd93000| ehci_alloc_async_pipe 0x7fd96260 0
    |7fd93000| config_usb: 0x7fd95ad0
    |7fd93000| ehci_control 0x7fd95ad0 (dir=128 cmd=8 data=8)
    |7fd8f000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=4)
    |7fd93000| device rev=0110 cls=00 sub=00 proto=00 size=8
    |7fd93000| ehci_alloc_async_pipe 0x7fd96260 0
    |7fd93000| ehci_control 0x7fd95ad0 (dir=128 cmd=8 data=9)
    \7fd8f000/ End thread
    |7fd90000| ehci_control 0x7fd95b50 (dir=0 cmd=8 data=0)
    |7fd93000| ehci_control 0x7fd95ad0 (dir=128 cmd=8 data=34)
    |7fd90000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=4)
    |7fd93000| ehci_control 0x7fd95ad0 (dir=0 cmd=8 data=0)
    |7fd90000| set_address 0x7fd96260
    |7fd92000| ehci_control 0x7fd95b50 (dir=128 cmd=8 data=4)
    |7fd93000| usb_hid_setup 0x7fd95ad0
    |7fd93000| ehci_control 0x7fd95ad0 (dir=0 cmd=8 data=0)
    |7fd90000| ehci_alloc_async_pipe 0x7fd96260 0
    |7fd90000| ehci_control 0x7fd958d0 (dir=0 cmd=8 data=0)
    \7fd92000/ End thread
    |7fd93000| ehci_alloc_intr_pipe 0x7fd96260 3
    |7fd93000| ebda moved from 9e800 to 9e400
    |7fd93000| USB mouse initialized
    \7fd93000/ End thread
    |7fd90000| ehci_alloc_async_pipe 0x7fd96260 0
    |7fd90000| config_usb: 0x7fd958d0
    |7fd90000| ehci_control 0x7fd958d0 (dir=128 cmd=8 data=8)
    |7fd90000| device rev=0200 cls=00 sub=00 proto=00 size=8
    |7fd90000| ehci_alloc_async_pipe 0x7fd96260 0
    |7fd90000| ehci_control 0x7fd958d0 (dir=128 cmd=8 data=9)
    |7fd90000| ehci_control 0x7fd958d0 (dir=128 cmd=8 data=59)
    |7fd90000| ehci_control 0x7fd958d0 (dir=0 cmd=8 data=0)
    |7fd90000| usb_hid_setup 0x7fd958d0
    |7fd90000| ehci_control 0x7fd958d0 (dir=0 cmd=8 data=0)
    |7fd90000| ehci_control 0x7fd958d0 (dir=0 cmd=8 data=0)
    |7fd90000| ehci_alloc_intr_pipe 0x7fd96260 3
    |7fd90000| ebda moved from 9e400 to 9e000
    |7fd90000| USB keyboard initialized
    \7fd90000/ End thread
    |7fd91000| Initialized USB HUB (2 ports used)
    \7fd91000/ End thread
    |7fd94000| ehci_free_pipes 0x7fd96260
    \7fd94000/ End thread
    All threads complete.
    Searching bootorder for: HALT
    Mapping hd drive 0x000f5680 to 0
    drive 0x000f5680: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
    s=976773168
    malloc finalize
    Space available for UMB: c0000-ef510, f4f60-f5680
    Returned 253952 bytes of ZoneHigh
    e820 map has 8 items:
        0: 0000000000000000 - 000000000009e000 = 1 RAM
        1: 000000000009e000 - 00000000000a0000 = 2 RESERVED
        2: 00000000000f0000 - 0000000000100000 = 2 RESERVED
        3: 0000000000100000 - 000000007fdde000 = 1 RAM
        4: 000000007fdde000 - 000000007fe00000 = 2 RESERVED
        5: 00000000e0000000 - 00000000f0000000 = 2 RESERVED
        6: 00000000fee00000 - 00000000fee01000 = 2 RESERVED
        7: 0000000100000000 - 0000000180000000 = 1 RAM
    Jump to int19
    enter handle_19:
        NULL
    Booting from 0000:7c00
    enter handle_12:
         a=00000000  b=00000000  c=00000000  d=00000080 ds=0000
    es=0000 ss=9000
        si=00007c05 di=00058cc0 bp=00001ff0 sp=0000ffd6 cs=0000
    ip=8af1 f=0297
    invalid handle_legacy_disk:696:
         a=00004100  b=000655aa  c=00000000  d=00000081 ds=0000
    es=0000 ss=9000
        si=00067fbc di=00000081 bp=00001ff0 sp=0000ffd6 cs=0000
    ip=89a5 f=0246
    invalid handle_legacy_disk:696:
         a=00000800  b=00067fbc  c=00000000  d=00000081 ds=0000
    es=0000 ss=9000
        si=00000000 di=00000081 bp=00001ff0 sp=0000ffd6 cs=0000
    ip=89d9 f=0246
    unimplemented handle_15XX:330:
         a=000000c0  b=00000000  c=00000000  d=00000081 ds=0000
    es=0000 ss=9000
        si=00067fbc di=00000081 bp=00001ff0 sp=0000ffd6 cs=0000
    ip=8ba6 f=0246
    Press any key to continue.
    Press any key to continue.
    Press any key to continue.
    Press any key to continue.
    Press any key to continue.
    The last five lines is clearly grub output, only after this goes
    nothing
    and it seems to me that sgabios does not forward VGA output to the
    serial port.
    So, how do I fix that? Am I missing something?
    Regards,
    Viktor Kuzmichev

-- coreboot mailing list: [email protected]
    http://www.coreboot.org/mailman/listinfo/coreboot





--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to