From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: Re: [edk2] Passing Xen memory map and resource map to OVMF Date: Fri, 15 Nov 2013 14:26:14 +0000 Message-ID: <20131115142614.GF23151__365.704441401427$1384525677$gmane$org@zion.uk.xensource.com> References: <52827C0B.5040901@redhat.com> <1384326219.3560.9.camel@nilsson.home.kraxel.org> <20131113115811.GC4948@zion.uk.xensource.com> <1384350814.3560.24.camel@nilsson.home.kraxel.org> <20131113140654.GF4948@zion.uk.xensource.com> <1384352585.3560.36.camel@nilsson.home.kraxel.org> <20131113165644.GA16969@zion.uk.xensource.com> <1384415898.15534.15.camel@nilsson.home.kraxel.org> <5284AEA4.6090004@redhat.com> <746A3CCD-E629-4AD5-9889-3BC89A7814F9@apple.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <746A3CCD-E629-4AD5-9889-3BC89A7814F9@apple.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Andrew Fish Cc: Igor Mammedov , edk2-devel@lists.sourceforge.net, wei.liu2@citrix.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On Thu, Nov 14, 2013 at 08:42:39AM -0800, Andrew Fish wrote: [...] > > > > >From a UEFI spec perspective you only need to produce EFI_PCI_ROOT_BRIGE_IO_PROTOCOL and a EFI_PCI_IO_PROTOCOL per device. This is all that is required to make generic UEFI code (all the PCI drivers, shell commands, etc.) work. > > The https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdeModulePkg/Bus/Pci/PciBusDxe/ driver assumes you are following the PI Spec model and a full PCI enumeration is requires and a set of chipset/platform specific protocols are provided to make the PCI enumerate code generic. > > There are other examples in the edk2 where PCI enumeration is not required: > 1) DUET, as the PCI enumeration has already been done. You can see in https://svn.code.sf.net/p/edk2/code/trunk/edk2/DuetPkg/DuetPkgX64.dsc that the UEFI required protocols for PCI are implemented in DuetPkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf and DuetPkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf > 2) The BeagleBoard does not have PCI, but it produces a fake set of PCI interfaces to reuse some of the EFI PCI drivers. See https://svn.code.sf.net/p/edk2/code/trunk/edk2/Omap35xxPkg/PciEmulation/ > > Hope this helps, > Thanks for the pointer, I will see what I can do. :-) Wei.