ring buffer protocol
by Kruno Peric
Can anyone direct me to specific Intel documentation on the ring-buffer protocol used in SBL function LoadStage1B (Platform/ApollolakeBoardPkg/Library/LoaderLib.c). I can see a high level overview in section 9.1 of volume II of the BIOS spec, but I can't find details about where the registers are and what they do. For instance, where can I go to find out why the size of data is OR'd with 0xc0000000 and left shited by 4 on line 96 from the source:
95 /* Request data from CSE */
96 HostToCse = (IbbSize << 4) | 0xC0000000;
97 ChunkIndex = 0;
98 CSE_HOST2CSE = HostToCse;
2 years, 11 months
Non Volatile Storage in SPI BIOS
by Javier Santos Romo
Hi all,
I was wonder if there is an easy way to storage nonvolatile variables inside SPI BIOS. I would like to storage some variables in this way to be able to detect its value every time Board boots up. I have read about a region called PDR (Platform Data Region) that I suppose is best place we could use to storage these variables. However, I haven´t seen any clear example around SBL code where this objective is achieved. Could you provide us any example or snippet code where this functionality is implemented or if there is a library we can use?
Regards,
Javier
P Please consider the environment before printing this e-mail.
3 years
Intel® FSP External Architecture Specification v2.1 Has Been Released
by Desimone, Nathaniel L
Hi Everyone,
We are pleased to announce that the FSP External Architecture Specification v2.1 has been posted to https://www.intel.com/fsp!
Highlights
* Dispatch Mode – A new optional FSP boot mode intended to ease integration of FSP with PI spec bootloaders. In dispatch mode, FSP-M and FSP-S are containers that expose firmware volumes (FVs) directly to the bootloader. The PEIMs in these FVs are executed directly in the context of the PEI environment provided by the bootloader. In dispatch mode, the FspMemoryInit(), FspSiliconInit(), and NotifyPhase() API’s are not used. NotifyPhase() is replaced by FSP-S containing DXE drivers that provide a native implementation of equivalent events for each of the NotifyPhase() invocations.
[cid:image001.png@01D50B51.CF1F5010]
Dispatch mode is entirely optional. FSP 2.1 is fully backwards compatible with FSP 2.0, all of the APIs still work the same way. We have no plans to change that. While dispatch mode is the biggest new feature, it is also largely not relevant for Slim Bootloader.
* More Robust Error Reporting – The current FSP 2.0 just returns an EFI_STATUS code without any context. If that status code is anything other than EFI_SUCCESS, FSP 2.0 gives very little visibility in to what specifically may be going wrong. FSP 2.1 adds the FSP_ERROR_INFO_HOB, which provides more granularity on FSP error data and will aid in the debug of error codes returned by FSP.
* Improved Graphics Support – Starting with FSP 2.1, in addition to the EFI_PEI_GRAPHICS_INFO_HOB, FSP will now also produce the EFI_PEI_GRAPHICS_DEVICE_INFO_HOB. This enables the implementation of a generic graphics driver.
* Improved Memory Utilization – FspMemoryInit() will now run on top of the existing bootloader stack instead of establishing it own stack. his allows the stack memory to be reused after FspMemoryInit() returns to the bootloader. After FspMemoryInit(), large amounts of DRAM will be available. So FSP will split its stack and global data at this point, since the memory pressure is gone.
Roadmap
AmberLakeFspBinPkg has been released on https://github.com/IntelFsp/FSP, which provides the first implementation of FSP 2.1. This FSP is backward compatible with Kaby Lake, so there should be a good amount of existing hardware available for those who are interested in trying FSP 2.1. Looking forward, our upcoming Ice Lake and Comet Lake platforms will have FSP 2.1 binaries once they are released.
Does Anything Need to Change in Slim Bootloader?
For the most part no. There are some new header structure definitions to bring in. Optionally, Slim Bootloader can now report any data provided by FSP_ERROR_INFO_HOB and a generic graphics driver can now be written leveraging EFI_PEI_GRAPHICS_DEVICE_INFO_HOB.
3 years
Re: [Sbl-devel] MCHBAR offset
by Kruno Peric
>From the source code, it looks like it might be 0x48, but I can't find it in the documents. However, 0x48 is where it is on the core i5.
From: Kruno Peric
Sent: Thursday, May 9, 2019 4:42 PM
To: 'sbl-devel(a)lists.01.org' <sbl-devel(a)lists.01.org>
Subject: MCHBAR offset
We are trying to locate the MCHBAR offset in the Apollo Lake documentation and cannot find it. We can only find MCHBAR registers offsets, but not the offset of MCHBAR itself in the manuals. If anyone of you know it, or know which document contains it, please share.
3 years
MCHBAR offset
by Kruno Peric
We are trying to locate the MCHBAR offset in the Apollo Lake documentation and cannot find it. We can only find MCHBAR registers offsets, but not the offset of MCHBAR itself in the manuals. If anyone of you know it, or know which document contains it, please share.
3 years
Hanging on "Intel" logo when booting
by Seng Jing Ngien
Hi all,
I faced some issue when I boot it. I follow the procedure on the SBL document 0.5 to build, stitch and flash on oxbow hill. But It hanging on the “intel” logo when I booting it. Then, I try to use Intel UDK Debugger to load the debug message, but I think I need the usb driver to able to connect the host to the target. Where can I get the usb driver? Could anyone help or hint on solving this? I apologize if i have caused you any inconvenience.
[cid:image001.png@01D505A9.C4B05500][7/5/2019 10:46 AM]
Thanks,
Seng Jing Ngien.
3 years
Re: [Sbl-devel] Uboot or Grub as SBL Payload
by Javier Santos Romo
Dear Everyone,
Reading Slim Bootloader Documentation I have seen examples where a linux kernel is booted directly from SBL. However, trying to boot to Grub is always done by using an UEFI Payload first. Is it possible to boot directly from SBL to GRUB or Uboot directly without using the UEFI Payload? I know both of them has support to be built as a Coreboot Payload. Are some of these bootloaders tested to be used in SBL? We are looking for a solution in which a standard bootloader is used to boot the system.
Thanks,
Javier
P Please consider the environment before printing this e-mail.
3 years