Jordan, Simply using PCD to split the code is very straightforward. Another approach is to introduce a new library class with carefully defined library APIs so that different platforms can use one common driver plus different instances of libraries. After all, abstracting is never a easy work. So let's firstly make OVMF work by duplicating a PciHostBridgeDxe. What do you think?
Laszlo, I don't want to block you. And I do not see a big conflict between you and Jordan. Thank you very much for your continuously code contribution. Thanks, Ray > -----Original Message----- > From: Laszlo Ersek [mailto:ler...@redhat.com] > Sent: Friday, June 26, 2015 3:07 AM > To: Justen, Jordan L; Ni, Ruiyu > Cc: edk2-devel@lists.sourceforge.net; Kinney, Michael D > Subject: Re: [edk2] [PATCH v2 02/24] PcAtChipsetPkg: remove > PciHostBridgeDxe > > Jordan, Ray, > > On 06/25/15 19:14, Jordan Justen wrote: > > On 2015-06-24 19:10:01, Ni, Ruiyu wrote: > >> Jordan, > >> I prefer to share the code across multiple platforms as well, if > >> that's possible. > >> > >> In real world, DUET's PciHostBridgeDxe driver does something > >> additionally: it gathers all option roms from PCI devices and > >> transfers them to its own special PciBus driver to dispatch. I am > >> not familiar to OVMF and CorebootPayloadPkg's PciHostBridgeDxe > >> drivers. What specific behaviors do they do? > >> > >> Can we generalize all the special behaviors to a common driver? I do > >> NOT like to introduce a bunch of PCDs like PcdDuet, PcdOvmf and > >> PcdCoreboot. > > > > I think the names would not need to include the platform names. > > > > For this case, it seems like 1 or 2 PCDs would be sufficient: > > * PcdScanForAdditionalPciRootBuses (boolean / feature PCD) > > * PcdAdditionalRootBusesMaxBusNumber > > > > We could also only have 1 PCD (PcdAdditionalRootBusesMaxBusNumber) > and > > set it to 0 to disable the feature. > > here's my respectful request for the two of you: > > Please work out an agreement between the two of you, by the end of next > week, Friday, July 3rd, 2015, End-of-Business, in Jordan's timezone. > > (Reminder: the first version of the series (with practically identical > PciHostBridgeDxe impact) has been posted on June 6th, 19 days ago.) > > I have already agreed to both of your designs, but I can't satisfy both > at once, because your requirements conflict with each other. > > I'm (obviously) willing to implement what Ray suggests. > > I'm also willing to implement Jordan's suggestion, but then I will need > some form of *commitment* from Ray in advance. Namely, I said earlier, > and I'm saying again, that the *overwhelming majority* of the series > applies immediately to the driver in PcAtChipsetPkg, therefore Ray can > review those patches right now, on a higher level, and express if he > agrees with those patches ending up under PcAtChipsetPkg. > > I will be on PTO next week. If you can reach an agreement until next > Friday, I will do my best after, to implement that shared design of yours. > > If the two of you can't reach an agreement until next Friday, I will > abandon this series publicly, and we will carry it downstream only. > > Thanks > Laszlo ------------------------------------------------------------------------------ Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel