{"push_id":800864577,"size":9,"distinct_size":0,"ref":"refs/heads/master","head":"b82802b83f069c7322337b802a744491010cbfb1","before":"8cfd008ef8da26d97314816e0635691955d475d5","commits":[{"sha":"d80e8c459ab29d198a4718bec9fd77d3fa2db1ee","author":{"email":"7437296077edea1cb64451c122c4dac071f0cfbc@redhat.com","name":"Laszlo Ersek"},"message":"DuetPkg: SataControllerDxe: fix typo in \"DisqulifiedModes\"\n\nCc: Alexander Graf <agraf@suse.de>\nCc: Reza Jelveh <reza.jelveh@tuhh.de>\nCc: Jordan Justen <jordan.l.justen@intel.com>\nCc: Ruiyu Ni <ruiyu.ni@intel.com>\nCc: Hannes Reinecke <hare@suse.de>\nCc: Gabriel L. Somlo <somlo@cmu.edu>\nContributed-under: TianoCore Contribution Agreement 1.0\nSigned-off-by: Laszlo Ersek <lersek@redhat.com>\nReviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>\nTested-by: Gabriel Somlo <somlo@cmu.edu>\nReviewed-by: Jordan Justen <jordan.l.justen@intel.com>\n\ngit-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18524 6f19259b-4bc3-4df7-8a09-765794883524","distinct":false,"url":"https://api.github.com/repos/tianocore/edk2/commits/d80e8c459ab29d198a4718bec9fd77d3fa2db1ee"},{"sha":"83be6beea56f9f6e93c04f316e91be18e44654f0","author":{"email":"7437296077edea1cb64451c122c4dac071f0cfbc@redhat.com","name":"Laszlo Ersek"},"message":"DuetPkg: SataControllerDxe: fix private array subscripting\n\nEach one of the DisqualifiedModes, IdentifyData and IdentifyValid arrays\nin the EFI_SATA_CONTROLLER_PRIVATE_DATA structure is a matrix, represented\nas a flat array.\n\nThe code currently uses the incorrect formula\n\n  Channel * Device\n\nto index them. The right formula is\n\n  [Channel][Device]\n\nwhich can be implemented as\n\n  Channel * NumDevicePerChannel + Device\n\nAdd a helper function that does this, and replace the incorrect\nsubscripts.\n\nCc: Alexander Graf <agraf@suse.de>\nCc: Reza Jelveh <reza.jelveh@tuhh.de>\nCc: Jordan Justen <jordan.l.justen@intel.com>\nCc: Ruiyu Ni <ruiyu.ni@intel.com>\nCc: Hannes Reinecke <hare@suse.de>\nCc: Gabriel L. Somlo <somlo@cmu.edu>\nCc: Feng Tian <feng.tian@intel.com>\nReported-by: Feng Tian <feng.tian@intel.com>\nContributed-under: TianoCore Contribution Agreement 1.0\nSigned-off-by: Laszlo Ersek <lersek@redhat.com>\nReviewed-by: Feng Tian <feng.tian@intel.com>\nTested-by: Gabriel Somlo <somlo@cmu.edu>\nReviewed-by: Jordan Justen <jordan.l.justen@intel.com>\n\ngit-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18525 6f19259b-4bc3-4df7-8a09-765794883524","distinct":false,"url":"https://api.github.com/repos/tianocore/edk2/commits/83be6beea56f9f6e93c04f316e91be18e44654f0"},{"sha":"12e92a23ada7b20e424e782fe1e2d325c22e161c","author":{"email":"a3a2ce640eaa083ce187c63c154c2929f2d0bfb8@tuhh.de","name":"Reza Jelveh"},"message":"OvmfPkg: copy SataControllerDxe from DuetPkg\n\nEdk2 maintainers reached the consensus that SataControllerDxe was\ninherently platform specific, for which reason it was not appropriate for\neither PcAtChipsetPkg nor MdeModulePkg. Hence, if OvmfPkg wanted to use\nit, it should either reference it directly from under DuetPkg, or copy it.\n\nGiven that DuetPkg is another \"leaf\" platform in edk2, and that in the\nupcoming patches we'll actually modify the driver, the ultimate decision\n(reached months ago on the list, after Reza's v2 posting) is that OvmfPkg\nshall copy the driver.\n\nThis patch does that; the only difference being a fresh FILE_GUID in the\nINF file.\n\nCc: Alexander Graf <agraf@suse.de>\nCc: Reza Jelveh <reza.jelveh@tuhh.de>\nCc: Jordan Justen <jordan.l.justen@intel.com>\nCc: Hannes Reinecke <hare@suse.de>\nCc: Gabriel L. Somlo <somlo@cmu.edu>\nContributed-under: TianoCore Contribution Agreement 1.0\nSigned-off-by: Reza Jelveh <reza.jelveh@tuhh.de>\n[lersek@redhat.com: updated commit message, generated fresh FILE_GUID]\nContributed-under: TianoCore Contribution Agreement 1.0\nSigned-off-by: Laszlo Ersek <lersek@redhat.com>\nTested-by: Gabriel Somlo <somlo@cmu.edu>\nReviewed-by: Jordan Justen <jordan.l.justen@intel.com>\n\ngit-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18526 6f19259b-4bc3-4df7-8a09-765794883524","distinct":false,"url":"https://api.github.com/repos/tianocore/edk2/commits/12e92a23ada7b20e424e782fe1e2d325c22e161c"},{"sha":"379b17965f0fc3fcf542c606ad628856c2504a2e","author":{"email":"7437296077edea1cb64451c122c4dac071f0cfbc@redhat.com","name":"Laszlo Ersek"},"message":"OvmfPkg: SataControllerDxe: add cascading error handling to Start()\n\nIn the next patch we'll add another PCI operation to\nSataControllerStart(), which, on error, has to be rolled back similarly to\nother actions already being done in SataControllerStart(). Since that PCI\noperation won't provide a non-NULL pointer on success, its rollback isn't\nreally suitable for the current error handling in SataControllerStart().\n\nEmploy the traditional cascading labels instead.\n\nCc: Alexander Graf <agraf@suse.de>\nCc: Reza Jelveh <reza.jelveh@tuhh.de>\nCc: Jordan Justen <jordan.l.justen@intel.com>\nCc: Hannes Reinecke <hare@suse.de>\nCc: Gabriel L. Somlo <somlo@cmu.edu>\nContributed-under: TianoCore Contribution Agreement 1.0\nSigned-off-by: Laszlo Ersek <lersek@redhat.com>\nTested-by: Gabriel Somlo <somlo@cmu.edu>\nReviewed-by: Jordan Justen <jordan.l.justen@intel.com>\n\ngit-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18527 6f19259b-4bc3-4df7-8a09-765794883524","distinct":false,"url":"https://api.github.com/repos/tianocore/edk2/commits/379b17965f0fc3fcf542c606ad628856c2504a2e"},{"sha":"bcab71413407e61c144994925556725dd65eede9","author":{"email":"7437296077edea1cb64451c122c4dac071f0cfbc@redhat.com","name":"Laszlo Ersek"},"message":"OvmfPkg: SataControllerDxe: enable IO / mem access and DMA when binding\n\nWhen we bind the SATA controller in SataControllerStart(), we read the NP\n(\"Number of Ports\") bitfield from the CAP (\"HBA Capabilities\") register of\nthe controller. (See the AHCI 1.3.1 spec.)\n\nThis register is memory mapped. If we'd like to access it, we must at\nleast enable memory space access for the device. In addition, Feng Tian\nrecommended enabling Bus Master DMA in\n<http://thread.gmane.org/gmane.comp.bios.tianocore.devel/10545/focus=10659>.\nWe also enable IO space access for completeness.\n\nFurther, because we change the PCI attributes of the device with the above\nwhen binding it, we must also restore its original PCI attributes when\nunbinding it. See the Driver Writer's Guide for UEFI 2.3.1 v1.01, section\n18.3 \"PCI drivers\" | 18.3.2 \"Start() and Stop()\".\n\n(OvmfPkg's copy of SataControllerDxe differs from the same in DuetPkg\nbecause Duet inherits a pre-configured SATA controller from the BIOS, as\nexplained by Feng. Technically, DuetPkg's SataControllerDxe could also\napply the technique seen in this patch.)\n\nCc: Alexander Graf <agraf@suse.de>\nCc: Reza Jelveh <reza.jelveh@tuhh.de>\nCc: Jordan Justen <jordan.l.justen@intel.com>\nCc: Hannes Reinecke <hare@suse.de>\nCc: Gabriel L. Somlo <somlo@cmu.edu>\nCc: Feng Tian <feng.tian@intel.com>\nSuggested-by: Feng Tian <feng.tian@intel.com>\nContributed-under: TianoCore Contribution Agreement 1.0\nSigned-off-by: Laszlo Ersek <lersek@redhat.com>\nReviewed-by: Feng Tian <feng.tian@intel.com>\nTested-by: Gabriel Somlo <somlo@cmu.edu>\nReviewed-by: Jordan Justen <jordan.l.justen@intel.com>\n\ngit-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18528 6f19259b-4bc3-4df7-8a09-765794883524","distinct":false,"url":"https://api.github.com/repos/tianocore/edk2/commits/bcab71413407e61c144994925556725dd65eede9"},{"sha":"2dc5090d76ad2e95eb55bbb6f6e6423f5c635cbd","author":{"email":"a3a2ce640eaa083ce187c63c154c2929f2d0bfb8@tuhh.de","name":"Reza Jelveh"},"message":"MdeModulePkg: AtaAtapiPassThru: select master/slave around DIAG command\n\nSome IDE controllers only update ID fields such as sector information on\nspecific commands such as the DIAG command.\n\nThe master/slave device is therefore selected both before and after\nsending the DIAG command; otherwise reading the IDE registers yields the\nmaster's ID fields.\n\n(Reza's patch originally *moved* the master/slave selection from after the\nDIAG command before it, however Feng asked for the original master/slave\nselect to be preserved; effectively making the master/slave select\n*bracket* the DIAG command. See this subthread:\n<http://thread.gmane.org/gmane.comp.bios.tianocore.devel/10545/focus=10550>.)\n\nCc: Alexander Graf <agraf@suse.de>\nCc: Reza Jelveh <reza.jelveh@tuhh.de>\nCc: Jordan Justen <jordan.l.justen@intel.com>\nCc: Hannes Reinecke <hare@suse.de>\nCc: Gabriel L. Somlo <somlo@cmu.edu>\nCc: Feng Tian <feng.tian@intel.com>\nContributed-under: TianoCore Contribution Agreement 1.0\nSigned-off-by: Reza Jelveh <reza.jelveh@tuhh.de>\n[feng.tian@intel.com: see above]\nContributed-under: TianoCore Contribution Agreement 1.0\nSigned-off-by: Feng Tian <feng.tian@intel.com>\n[lersek@redhat.com: updated commit message]\nContributed-under: TianoCore Contribution Agreement 1.0\nSigned-off-by: Laszlo Ersek <lersek@redhat.com>\nReviewed-by: Feng Tian <feng.tian@intel.com>\nTested-by: Gabriel Somlo <somlo@cmu.edu>\nReviewed-by: Jordan Justen <jordan.l.justen@intel.com>\n\ngit-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18529 6f19259b-4bc3-4df7-8a09-765794883524","distinct":false,"url":"https://api.github.com/repos/tianocore/edk2/commits/2dc5090d76ad2e95eb55bbb6f6e6423f5c635cbd"},{"sha":"8a6e6db42f571bee7331ffe25f5603a6d44da335","author":{"email":"7437296077edea1cb64451c122c4dac071f0cfbc@redhat.com","name":"Laszlo Ersek"},"message":"PcAtChipsetPkg: IdeControllerDxe: fix protocol usage hints in the INF file\n\nIdeControllerDxe installs EFI_IDE_CONTROLLER_INIT_PROTOCOL interface(s),\nand consumes PciIo. The comments in the INF file state the opposite at the\nmoment, fix them.\n\nCc: Alexander Graf <agraf@suse.de>\nCc: Reza Jelveh <reza.jelveh@tuhh.de>\nCc: Jordan Justen <jordan.l.justen@intel.com>\nCc: Ruiyu Ni <ruiyu.ni@intel.com>\nCc: Hannes Reinecke <hare@suse.de>\nCc: Gabriel L. Somlo <somlo@cmu.edu>\nContributed-under: TianoCore Contribution Agreement 1.0\nSigned-off-by: Laszlo Ersek <lersek@redhat.com>\nReviewed-by: Feng Tian <feng.tian@intel.com>\nTested-by: Gabriel Somlo <somlo@cmu.edu>\nReviewed-by: Jordan Justen <jordan.l.justen@intel.com>\n\ngit-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18530 6f19259b-4bc3-4df7-8a09-765794883524","distinct":false,"url":"https://api.github.com/repos/tianocore/edk2/commits/8a6e6db42f571bee7331ffe25f5603a6d44da335"},{"sha":"0febef91bf836278a5286fe0843551b71d1dc0e0","author":{"email":"7437296077edea1cb64451c122c4dac071f0cfbc@redhat.com","name":"Laszlo Ersek"},"message":"OvmfPkg: QemuBootOrderLib: recognize Q35 SATA disks / CD-ROMs\n\nThe OpenFirmware device paths that QEMU generates for these disks and\nCD-ROMs are very similar to those generated for the i440fx IDE disks and\nCD-ROMs (including the same number of devpath nodes necessary for unique\nparsing). The interpretations and the translation to UEFI devpath\nfragments are different, of course.\n\n(The spaces after \"ide@1,1\" are inserted below only for illustration\npurposes.)\n\n                                                 primary or secondary\n                                                 |      master or slave\n                                                 v      v\n  i440fx IDE: /pci@i0cf8/ide@1,1          /drive@0/disk@0\n  Q35 SATA:   /pci@i0cf8/pci8086,2922@1f,2/drive@1/disk@0\n                                                 ^      ^\n                                                 |      device number\n                                                 |      (fixed 0)\n                                                 channel (port) number\n\nThe similarity is reflected in the translation output (spaces again\ninserted for illustration only):\n\n  i440fx IDE: PciRoot(0x0)/Pci(0x1,0x1) /Ata(Primary,Master,0x0)\n  Q35 SATA:   PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x1,0x0,0x0)\n                                              ^   ^   ^\n                                              |   |   LUN;\n                                              |   |   always 0 on Q35\n                                              |   port multiplier port\n                                              |   number; always 0 on Q35\n                                              channel (port) number\n\nCc: Alexander Graf <agraf@suse.de>\nCc: Reza Jelveh <reza.jelveh@tuhh.de>\nCc: Jordan Justen <jordan.l.justen@intel.com>\nCc: Hannes Reinecke <hare@suse.de>\nCc: Gabriel L. Somlo <somlo@cmu.edu>\nContributed-under: TianoCore Contribution Agreement 1.0\nSigned-off-by: Laszlo Ersek <lersek@redhat.com>\nTested-by: Gabriel Somlo <somlo@cmu.edu>\nReviewed-by: Jordan Justen <jordan.l.justen@intel.com>\n\ngit-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18531 6f19259b-4bc3-4df7-8a09-765794883524","distinct":false,"url":"https://api.github.com/repos/tianocore/edk2/commits/0febef91bf836278a5286fe0843551b71d1dc0e0"},{"sha":"b82802b83f069c7322337b802a744491010cbfb1","author":{"email":"a3a2ce640eaa083ce187c63c154c2929f2d0bfb8@tuhh.de","name":"Reza Jelveh"},"message":"OvmfPkg: enable SATA controller\n\nIn this patch, we replace the traditional IDE driver stack that comes from\nPcAtChipsetPkg and IntelFrameworkModulePkg with more featureful drivers\nfrom OvmfPkg and MdeModulePkg. The resultant driver stack is compatible\nwith the previous one, but provides more protocols, on more kinds of\nvirtual hardware.\n\nRemove:\n- PcAtChipsetPkg/Bus/Pci/IdeControllerDxe/IdeControllerDxe.inf\n  (removing EFI_IDE_CONTROLLER_INIT_PROTOCOL [1])\n\nRemove the dependent:\n- IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf\n  (removing EFI_DISK_INFO_PROTOCOL [2],\n            EFI_BLOCK_IO_PROTOCOL  [3])\n\nAs replacement, add:\n- OvmfPkg/SataControllerDxe/SataControllerDxe.inf\n  (supplying EFI_IDE_CONTROLLER_INIT_PROTOCOL [1])\n\nOn top of which, add the dependent:\n- MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf\n  (providing EFI_ATA_PASS_THRU_PROTOCOL,\n             EFI_EXT_SCSI_PASS_THRU_PROTOCOL)\n\nOn top of which, add the dependent:\n- MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf\n  (supplying EFI_DISK_INFO_PROTOCOL [2],\n             EFI_BLOCK_IO_PROTOCOL  [3],\n   providing EFI_BLOCK_IO2PROTOCOL,\n             EFI_STORAGE_SECURITY_COMMAND_PROTOCOL)\n\nCc: Alexander Graf <agraf@suse.de>\nCc: Reza Jelveh <reza.jelveh@tuhh.de>\nCc: Jordan Justen <jordan.l.justen@intel.com>\nCc: Hannes Reinecke <hare@suse.de>\nCc: Gabriel L. Somlo <somlo@cmu.edu>\nContributed-under: TianoCore Contribution Agreement 1.0\nSigned-off-by: Reza Jelveh <reza.jelveh@tuhh.de>\n[lersek@redhat.com: rewrote commit message]\nContributed-under: TianoCore Contribution Agreement 1.0\nSigned-off-by: Laszlo Ersek <lersek@redhat.com>\nTested-by: Gabriel Somlo <somlo@cmu.edu>\nReviewed-by: Jordan Justen <jordan.l.justen@intel.com>\n\ngit-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18532 6f19259b-4bc3-4df7-8a09-765794883524","distinct":false,"url":"https://api.github.com/repos/tianocore/edk2/commits/b82802b83f069c7322337b802a744491010cbfb1"}]}