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:g...@suse.com] > > Sent: Sunday, June 30, 2019 9:04 PM > > To: devel@edk2.groups.io; Kinney, Michael D > > <michael.d.kin...@intel.com> > > Cc: Qian, Yi <yi.q...@intel.com>; Sun, Zailiang > > <zailiang....@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/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-