[edk2-devel] [edk2-platforms Patch 00/14] Vlv2TbltDevicePkg: Remove Intel Framework dependencies

Gary Lin glin at suse.com
Tue Jul 2 09:48:24 UTC 2019


On Mon, Jul 01, 2019 at 11:07:11PM +0000,  Michael D Kinney  wrote:
> Hi Gary,
> 
> I recommend you rebase on top of this series.
> 
> I have verified Linux boots and I have been working
> on the GCC and Linux build scripts as well. 
> 
> Please let me know if you see any issues with this
> series applied and I can help get them fixed.
> 
Hi Mike,

I'm rebasing my patches and they are available in my branch:

https://github.com/lcp/edk2-platforms/commits/vlv2-fixes-wip

It's based on edk2(dcce9cbd48e07fcd11f7ef34cad48faf7bb61e6e)
and edk2-non-osi(de0a6bc19c4ee0468f04e4d37035cdc59558137f).

There are 3 problems I currently encountered, and maybe you can give me
some suggestions.

1. Missing DSDT

When compiling DSDT, iasl failed with this error:

DSDT.iiii   6077:             Or(ShiftLeft(Derefof(Index(CDCT, \_SB.PCI0.GFX0.MCHK.DCFE)), 21),PARM, PARM)                                           
Error    6163 -                                                                      ^ Object is created temporarily in another method and cannot be accessed (\_SB.PCI0.GFX0. MCHK.DCFE)

The code is from Silicon/Intel/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/IgdOGBDA.ASL

I have to comment out the line or iasl won't generate the aml file and
the OS would fail to get DSDT.

My acpica version is 20190509, and I vaguely remember that the older
acpica seems to be more tolerant to this error.

2. Crash at SMBIOS driver

When booting the system, I got the following error:

Loading driver at 0x00078DBA000 EntryPoint=0x00078DBEC3C MiscSubclass.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 78FE8D18
ProtectUefiImageCommon - 0x78FE8040
  - 0x0000000078DBA000 - 0x0000000000007B80
PlatformInfoHob->BoardId [0xB0]
GetBiosVersionDateTime :MNW2MAX1.X64.0084.D01 01/01/2019 00:00 
SmbiosAdd: Smbios type 0 with size 0x48 is added to 32-bit table
SmbiosAdd: Smbios type 0 with size 0x48 is added to 64-bit table
SmbiosCreateTable: Initialize 32-bit entry point structure
SmbiosCreateTable() re-allocate SMBIOS 32-bit table
SmbiosCreateTable: Initialize 64-bit entry point structure
SmbiosCreate64BitTable() re-allocate SMBIOS 64-bit table
Create Smbios Manu callback.
!!!! X64 Exception Type - 06(#UD - Invalid Opcode)  CPU Apic ID - 00000000 !!!!
RIP  - 0000000078DBEC26, CS  - 0000000000000038, RFLAGS - 0000000000010206
RAX  - 0000000000000000, RCX - 000000007984A5A0, RDX - 000000007A46E5FF
RBX  - 000000007A46E920, RSP - 000000007A46E8B0, RBP - 0000000078DC0EC0
RSI  - 0000000000000012, RDI - 0000000000000003
R8   - 800000000000000E, R9  - 000000007A46E920, R10 - 0000000078FE8398
R11  - 0000000000000001, R12 - 0000000078FE8798, R13 - 0000000078FE8898
R14  - 0000000078FE8818, R15 - 000000007A46EC60
DS   - 0000000000000030, ES  - 0000000000000030, FS  - 0000000000000030
GS   - 0000000000000030, SS  - 0000000000000030
CR0  - 0000000080010013, CR2 - 0000000000000000, CR3 - 000000007A201000
CR4  - 0000000000000628, CR8 - 0000000000000000
DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
DR3  - 0000000000000000, DR6 - 00000000FFFF0FF8, DR7 - 0000000000000400
GDTR - 0000000079FFDA98 0000000000000047, LDTR - 0000000000000000
IDTR - 0000000079862018 0000000000000FFF,   TR - 0000000000000000
FXSAVE_STATE - 000000007A46E510
!!!! Find image based on IP(0x78DBEC26) /home/gary/git/edk2-workspace/Build/Vlv2TbltDevicePkg/DEBUG_GCC5/X64/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe/DEBUG/MiscSubclass.
dll (ImageBase=0000000078DBA000, EntryPoint=0000000078DBEC3C) !!!!

I disaseembled MiscSubclass.debug and found that the address is a "ud2"
instruction at
SmBiosMiscDxe/MiscBaseBoardManufacturerFunction.c:MiscBaseBoardManufacturer()

After adding a few more debug messages, the system crashed at another
function:
SmBiosMiscDxe/MiscSystemManufacturerFunction.c:AddSmbiosManuCallback()

If I added debug messages to both functions, the system booted
successfully. I currently didn't have any clue on this.

3. The firmware always booted into EFI shell.

I guess something went wrong with BDS. I haven't looked into this issue
yet.

Thanks,

Gary Lin

> Thanks,
> 
> Mike
> 
> > -----Original Message-----
> > From: Gary Lin [mailto:GLin at suse.com]
> > Sent: Sunday, June 30, 2019 9:04 PM
> > To: devel at edk2.groups.io; Kinney, Michael D
> > <michael.d.kinney at intel.com>
> > Cc: Qian, Yi <yi.qian at intel.com>; Sun, Zailiang
> > <zailiang.sun at intel.com>
> > Subject: Re: [edk2-devel] [edk2-platforms Patch 00/14]
> > Vlv2TbltDevicePkg: Remove Intel Framework dependencies
> > 
> > On Sun, Jun 30, 2019 at 07:55:39PM -0700,  Michael D
> > Kinney  wrote:
> > > The following changes remove all dependencies on the
> > IntelFrameworkPkg
> > > and IntelFrameworkModulePkg from the Vlv2TbltDevicePkg
> > platform
> > > builds.  These changes do depend on updates binaries
> > on the edk2-non-osi repository.
> > >
> > Hi Michael,
> > 
> > I am amending the bash scripts for gcc. The firmware I
> > built is using the binaries from Development190216 and
> > could boot into Linux successfully with some workarounds
> > for Wpce791, Bds, and InteFspWrapper. The patches you
> > posted eliminate those parts I have to work around.
> > 
> > Just want to know if you need any assistance for the gcc
> > build? I could rebase my work upon your patches and send
> > them later.
> > 
> > Thanks,
> > 
> > Gary Lin
> > 
> 
> 
> 

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#43158): https://edk2.groups.io/g/devel/message/43158
Mute This Topic: https://groups.io/mt/32267616/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list