From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=66.187.233.73; helo=mx1.redhat.com; envelope-from=lersek@redhat.com; receiver=edk2-devel@lists.01.org Received: from mx1.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 51D1021A00AE6 for ; Wed, 15 Aug 2018 03:26:30 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 23B2F40216E8; Wed, 15 Aug 2018 10:26:29 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-120-100.rdu2.redhat.com [10.10.120.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7E3E110075C3; Wed, 15 Aug 2018 10:26:28 +0000 (UTC) To: "Zeng, Star" , Hristo Mihaylov , "edk2-devel@lists.01.org" References: <0C09AFA07DD0434D9E2A0C6AEB0483103BBAD3DE@shsmsx102.ccr.corp.intel.com> From: Laszlo Ersek Message-ID: Date: Wed, 15 Aug 2018 12:26:27 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <0C09AFA07DD0434D9E2A0C6AEB0483103BBAD3DE@shsmsx102.ccr.corp.intel.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.5]); Wed, 15 Aug 2018 10:26:29 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.5]); Wed, 15 Aug 2018 10:26:29 +0000 (UTC) for IP:'10.11.54.3' DOMAIN:'int-mx03.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'lersek@redhat.com' RCPT:'' Subject: Re: DxeIpl module cannot find DXE entry point X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Aug 2018 10:26:31 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit On 08/15/18 02:38, Zeng, Star wrote: > You may try report the FVMAIN_COMPACT with the way like below. Then PeiCore's FvInfo notification will decompress the FVMAIN_COMPACT and build FV HOB for decompressed FVMAIN for DXE phase. FvInfo is the standard way, FvHob is produce for DXE phase. PeiCore only processes FvHob when PcdFrameworkCompatibilitySupport = TRUE. > > // > // Let PEI know about the DXE FV so it can find the DXE Core > // > PeiServicesInstallFvInfoPpi ( > NULL, > (VOID *)(UINTN) PcdGet32 (PcdOvmfDxeMemFvBase), > PcdGet32 (PcdOvmfDxeMemFvSize), > NULL, > NULL > ); Ah, right! I should have looked at the comments in PeiFvInitialization() [OvmfPkg/PlatformPei/Fv.c], from Jordan's commit b36f701d4f925. The function calls both BuildFvHob() and PeiServicesInstallFvInfoPpi(), and the comments on them explain the different purposes. One is for the DXE Core to dispatch drivers from, the other is for the PEI Core to find the DXE Core in. Thanks! Laszlo