Re: [PATCH v3 53/57] x86: fsp: Show FSP-S or FSP-M address in fsp_get_header()

2020-09-22 Thread Bin Meng
On Mon, Sep 7, 2020 at 5:45 AM Simon Glass  wrote:
>
> At present this function only supports FSP-M but it is also used to read
> FSP-S, in which case FSP-M may be zero. Add support for showing whichever
> address is present in the FSP binary.
>
> Also change the debug() statements to log_debug() while here.
>
> Signed-off-by: Simon Glass 
> ---
>
> (no changes since v1)
>
>  arch/x86/lib/fsp2/fsp_support.c | 22 ++
>  1 file changed, 14 insertions(+), 8 deletions(-)
>

Reviewed-by: Bin Meng 


[PATCH v3 53/57] x86: fsp: Show FSP-S or FSP-M address in fsp_get_header()

2020-09-06 Thread Simon Glass
At present this function only supports FSP-M but it is also used to read
FSP-S, in which case FSP-M may be zero. Add support for showing whichever
address is present in the FSP binary.

Also change the debug() statements to log_debug() while here.

Signed-off-by: Simon Glass 
---

(no changes since v1)

 arch/x86/lib/fsp2/fsp_support.c | 22 ++
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/arch/x86/lib/fsp2/fsp_support.c b/arch/x86/lib/fsp2/fsp_support.c
index 3f2ca840dc9..f220ef498b0 100644
--- a/arch/x86/lib/fsp2/fsp_support.c
+++ b/arch/x86/lib/fsp2/fsp_support.c
@@ -35,7 +35,8 @@ int fsp_get_header(ulong offset, ulong size, bool 
use_spi_flash,
 *
 * You are in a maze of twisty little headers all alike.
 */
-   debug("offset=%x buf=%x\n", (uint)offset, (uint)buf);
+   log_debug("offset=%x buf=%x, use_spi_flash=%d\n", (uint)offset,
+ (uint)buf, use_spi_flash);
if (use_spi_flash) {
ret = uclass_first_device_err(UCLASS_SPI_FLASH, );
if (ret)
@@ -52,16 +53,16 @@ int fsp_get_header(ulong offset, ulong size, bool 
use_spi_flash,
fv = ptr;
 
/* Check the FV signature, _FVH */
-   debug("offset=%x sign=%x\n", (uint)offset, (uint)fv->sign);
+   log_debug("offset=%x sign=%x\n", (uint)offset, (uint)fv->sign);
if (fv->sign != EFI_FVH_SIGNATURE)
return log_msg_ret("Base FV signature", -EINVAL);
 
/* Go to the end of the FV header and align the address */
-   debug("fv->ext_hdr_off = %x\n", fv->ext_hdr_off);
+   log_debug("fv->ext_hdr_off = %x\n", fv->ext_hdr_off);
ptr += fv->ext_hdr_off;
exhdr = ptr;
ptr += ALIGN(exhdr->ext_hdr_size, 8);
-   debug("ptr=%x\n", ptr - (void *)buf);
+   log_debug("ptr=%x\n", ptr - (void *)buf);
 
/* Check the FFS GUID */
file_hdr = ptr;
@@ -71,7 +72,7 @@ int fsp_get_header(ulong offset, ulong size, bool 
use_spi_flash,
ptr = file_hdr + 1;
 
raw = ptr;
-   debug("raw->type = %x\n", raw->type);
+   log_debug("raw->type = %x\n", raw->type);
if (raw->type != EFI_SECTION_RAW)
return log_msg_ret("Section type not RAW", -ENOEXEC);
 
@@ -80,13 +81,18 @@ int fsp_get_header(ulong offset, ulong size, bool 
use_spi_flash,
fsp = ptr;
 
/* Check the FSPH header */
-   debug("fsp %x\n", (uint)fsp);
+   log_debug("fsp %x, fsp-buf=%x, si=%x\n", (uint)fsp, ptr - (void *)buf,
+ (void *)>fsp_silicon_init - (void *)buf);
if (fsp->sign != EFI_FSPH_SIGNATURE)
return log_msg_ret("Base FSPH signature", -EACCES);
 
base = (void *)fsp->img_base;
-   debug("Image base %x\n", (uint)base);
-   debug("Image addr %x\n", (uint)fsp->fsp_mem_init);
+   log_debug("image base %x\n", (uint)base);
+   if (fsp->fsp_mem_init)
+   log_debug("mem_init offset %x\n", (uint)fsp->fsp_mem_init);
+   else if (fsp->fsp_silicon_init)
+   log_debug("silicon_init offset %x\n",
+ (uint)fsp->fsp_silicon_init);
if (use_spi_flash) {
ret = spi_flash_read_dm(dev, offset, size, base);
if (ret)
-- 
2.28.0.526.ge36021eeef-goog