public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Ma, Maurice" <maurice.ma@intel.com>
To: "Janne Heß" <jannehess@gmail.com>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: Tianocore hangs on boot
Date: Wed, 16 Nov 2016 23:26:43 +0000	[thread overview]
Message-ID: <7AAC936950815649B5F88FAE785306C28418CA94@ORSMSX113.amr.corp.intel.com> (raw)
In-Reply-To: <731f591b-599d-18ab-758c-221c0311bd3b@gmail.com>

Hi,  Janne,

By looking into your log, it seems to be some memory map related issue.  The CorebootPayloadPkg failed to find the proper usable low memory.

I noticed an entry in your coreboot memory map as below:
2. 00000000000C0000 - 000000003FFAFFFF [01]

And this entry was not handled properly by the CbSupportPei module.   This module currently assumes an memory map type 1 entry with (base >= 1MB) exists.  But in your case it combines with legacy C/D/E/F segments.    I think we should fix this in CbSupportPei module.

Could you please try the following change and let me know the result?  

--- a/CorebootModulePkg/CbSupportPei/CbSupportPei.c
+++ b/CorebootModulePkg/CbSupportPei/CbSupportPei.c
@@ -170,6 +170,12 @@ CbMemInfoCallback (
              EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE;

   MemInfo = (CB_MEM_INFO *)Param;
+
+  if ((Base  < 0x100000) && ((Base + Size) > 0x100000)) {
+         Size -= (0x100000 - Base);
+         Base  = 0x100000;
+  }
+
   if (Base >= 0x100000) {
     if (Type == CB_MEM_RAM) {
       if (Base < 0x100000000ULL) {

Thanks
Maurice

-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Janne Heß
Sent: Wednesday, November 16, 2016 12:27 PM
To: edk2-devel@lists.01.org
Subject: [edk2] Tianocore hangs on boot

Hello everyone,

I' currently trying to get CorebootPayloadPkg to work on QEMU.
I turned on Tianocore debugging (see my previous message) and tried to run a coreboot with UEFIPAYLOAD.fd as ELF executable payload which resulted in the VM hanging.
I also tried to add it as a payload of the "Tianocore" type (which seemed to be more logical but is not what the documentation says), but I got the same result.

My QEMU command line: qemu-system-x86_64 -M pc -bios build/coreboot.rom -serial stdio -m 1G -vga qxl

Log of Tianocore:

    PDB =
/build/edk2/Build/CorebootPayloadPkgX64/DEBUG_GCC5/IA32/CorebootModulePkg/SecCore/SecCore/DEBUG/SecCore.dll
    PDB =
/build/edk2/Build/CorebootPayloadPkgX64/DEBUG_GCC5/IA32/MdeModulePkg/Core/Pei/PeiMain/DEBUG/PeiCore.dll
Register PPI Notify: DCD0BE23-9586-40F4-B643-06522CED4EDE
Install PPI: 8C8CE578-8A3D-4F1C-9935-896185C32DD3
Install PPI: 5473C07A-3DCB-4DCA-BD6F-1E9689E7349A
The 0th FV start address is 0x00000800000, size is 0x00030000, handle is 0x0 Register PPI Notify: 49EDB1C1-BF21-4761-BB12-EB0031AABB39
Register PPI Notify: EA7CA24B-DED5-4DAD-A389-BF827E8F9B38
Install PPI: B9E0ABFE-5979-4914-977F-6DEE78C278A6
Install PPI: DBE23AA9-A345-4B97-85B6-B226F1617389
Evaluate PEI DEPEX for FFS(9B3ADA4F-AE56-4C24-8DEA-F03B7558AE50)
  TRUE
  END
  RESULT = TRUE
    PDB =
/build/edk2/Build/CorebootPayloadPkgX64/DEBUG_GCC5/IA32/MdeModulePkg/Universal/PCD/Pei/Pcd/DEBUG/PcdPeim.dll
Loading PEIM at 0x00000812140 EntryPoint=0x000008139D3 PcdPeim.efi Install PPI: 06E81C58-4AD7-44BC-8390-F10265F72480
Install PPI: 01F34D25-4DE2-23AD-3FF3-36353FF323F1
Install PPI: 4D8B155B-C059-4C8F-8926-06FD4331DB8A
Install PPI: A60C6B59-E459-425D-9C69-0BCC9CB27D81
Evaluate PEI DEPEX for FFS(A3610442-E69F-4DF3-82CA-2360C4031A23)
  PUSH GUID(01F34D25-4DE2-23AD-3FF3-36353FF323F1) = TRUE
  END
  RESULT = TRUE
    PDB =
/build/edk2/Build/CorebootPayloadPkgX64/DEBUG_GCC5/IA32/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei/DEBUG/ReportStatusCodeRouterPei.dll
Loading PEIM at 0x00000817BC0 EntryPoint=0x00000819C2B ReportStatusCodeRouterPei.efi Install PPI: 0065D394-9951-4144-82A3-0AFC8579C251
Install PPI: 229832D3-7A30-4B36-B827-F40CB7D45436
Evaluate PEI DEPEX for FFS(9D225237-FA01-464C-A949-BAABC02D31D0)
  PUSH GUID(0065D394-9951-4144-82A3-0AFC8579C251) = TRUE
  PUSH GUID(01F34D25-4DE2-23AD-3FF3-36353FF323F1) = TRUE
  AND
  END
  RESULT = TRUE
    PDB =
/build/edk2/Build/CorebootPayloadPkgX64/DEBUG_GCC5/IA32/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei/DEBUG/StatusCodeHandlerPei.dll
Loading PEIM at 0x0000081AEC0 EntryPoint=0x0000081CE7F StatusCodeHandlerPei.efi PROGRESS CODE: V03020003 I0 Evaluate PEI DEPEX for FFS(352C6AF8-315B-4BD6-B04F-31D4ED1EBE57)
  PUSH GUID(01F34D25-4DE2-23AD-3FF3-36353FF323F1) = TRUE
  END
  RESULT = TRUE
    PDB =
/build/edk2/Build/CorebootPayloadPkgX64/DEBUG_GCC5/IA32/CorebootModulePkg/CbSupportPei/CbSupportPei/DEBUG/CbSupportPeim.dll
Loading PEIM at 0x0000081E1C0 EntryPoint=0x0000081F9B1 CbSupportPeim.efi PROGRESS CODE: V03020002 I0 0. 0000000000000000 - 0000000000000FFF [10] 1. 0000000000001000 - 000000000009FFFF [01] 2. 00000000000C0000 - 000000003FFAFFFF [01] 3. 000000003FFB0000 - 000000003FFFFFFF [10] 4. 00000000FF800000 - 00000000FFFFFFFF [02] Low memory 0x0 SystemLowMemTop 0x40000000
PeiMemBase: 0xFFFFFFFFFC000000.
PeiMemSize: 0x4000000.
PeiInstallPeiMemory MemoryBegin 0xFFFFFFFFFC000000, MemoryLength 0x4000000
MtrrSetMemoryAttribute() WB:0000000000100000-FFFFFFFFFFF00000
  Status = Unsupported
MtrrSetMemoryAttribute() WB:0000000000000000-00000000000A0000
  Status = Success
MTRR Settings
=============
MTRR Default Type: 0000000000000C00
Fixed MTRR[00]   : 0606060606060606
Fixed MTRR[01]   : 0606060606060606
Fixed MTRR[02]   : 0000000000000000
Fixed MTRR[03]   : 0000000000000000
Fixed MTRR[04]   : 0000000000000000
Fixed MTRR[05]   : 0000000000000000
Fixed MTRR[06]   : 0000000000000000
Fixed MTRR[07]   : 0000000000000000
Fixed MTRR[08]   : 0000000000000000
Fixed MTRR[09]   : 0000000000000000
Fixed MTRR[10]   : 0000000000000000
Variable MTRR[00]: Base=0000000000000000 Mask=0000000000000000 Variable MTRR[01]: Base=0000000000000000 Mask=0000000000000000 Variable MTRR[02]: Base=0000000000000000 Mask=0000000000000000 Variable MTRR[03]: Base=0000000000000000 Mask=0000000000000000 Variable MTRR[04]: Base=0000000000000000 Mask=0000000000000000 Variable MTRR[05]: Base=0000000000000000 Mask=0000000000000000 Variable MTRR[06]: Base=0000000000000000 Mask=0000000000000000 Variable MTRR[07]: Base=0000000000000000 Mask=0000000000000000

MTRR Ranges
====================================
WB:0000000000000000-000000000009FFFF
UC:00000000000A0000-00000000000FFFFF
UC:0000000000100000-000000FFFFFFFFFF

Found one valid fv : 0x3E000000830000.
Install PPI: 49EDB1C1-BF21-4761-BB12-EB0031AABB39
Notify: PPI Guid: 49EDB1C1-BF21-4761-BB12-EB0031AABB39, Peim notify entry point: 808000 The 1th FV start address is 0x00000830000, size is 0x003E0000, handle is
0x830000
Install PPI: 7408D748-FC8C-4EE6-9288-C4BEC092A410
Actual Coreboot header: 3FFD6000.
Find CbMemTable Id 0x41435049, base 3FFB1000, size 0x24000 Find CbMemTable Id 0x534D4254, base 3FFB0000, size 0x800 Detected Acpi Table at 0x3FFB1000, length 0x24000 Detected Smbios Table at 0x3FFB0000, length 0x800 Create system table info guid hob Find CbMemTable Id 0x41435049, base 3FFB1000, size 0x24000 Find Rsdp at 3FFB1000 Find Rsdt 0x3FFB291D, Xsdt 0x0 PmCtrl Reg 0xE404 PmTimer Reg 0xE408 Reset Reg 0xC10100000078 Reset Value 0x0 PmEvt Reg 0xE400 PmGpeEn Reg 0xAFE2 Create acpi board info guid hob Found coreboot video frame buffer information
physical_address: 0xF4000000
x_resolution: 0x320
y_resolution: 0x258
bits_per_pixel: 0x20
bytes_per_line: 0xC80
red_mask_size: 0x8
red_mask_pos: 0x10
green_mask_size: 0x8
green_mask_pos: 0x8
blue_mask_size: 0x8
blue_mask_pos: 0x0
reserved_mask_size: 0x8
reserved_mask_pos: 0x18
Create frame buffer info guid hob
PROGRESS CODE: V03020003 I0
Temp Stack : BaseAddress=0x88000 Length=0x8000 Temp Heap  : BaseAddress=0x80000 Length=0x8000
Total temporary memory:    65536 bytes.
  temporary memory stack ever used: 32768 bytes.
  temporary memory heap used:       3688 bytes.
Old Stack size 32768, New stack size 131072 Stack Hob: BaseAddress=0xFFFFFFFFFC000000 Length=0x20000 Heap Offset = 0xFBFA0000 Stack Offset = 0xFBF90000

It just keeps hanging here.

I'm sorry for just dumping the log here, but I really don't understand what the problem is and hope anybody here knows something so I can boot Tianocore with Coreboot.

Thanks in advance.

Regards
Janne


      reply	other threads:[~2016-11-16 23:26 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-16 20:27 Tianocore hangs on boot Janne Heß
2016-11-16 23:26 ` Ma, Maurice [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7AAC936950815649B5F88FAE785306C28418CA94@ORSMSX113.amr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox