Re: [edk2] [PATCH 0/5] OvmfPkg: enable PCIe on Q35

2016-03-04 Thread Laszlo Ersek
On 03/04/16 20:42, Michał Zegan wrote:
> Confirmed, PCI hotplug seems to work now.

Thank you, I'll take that as

Tested-by: Michał Zegan 

Cheers
Laszlo

> W dniu 04.03.2016 o 20:13, Laszlo Ersek pisze:
>> On 03/04/16 19:56, Michał Zegan wrote:
>>> How are you supposed to apply those patches? git am says the first one
>>> is empty.
>>
>> It's best to fetch the public branch I linked in the blurb.
>>
>> Thanks!
>> Laszlo
>>
>>> W dniu 04.03.2016 o 15:46, Laszlo Ersek pisze:
 The first two patches should fix
 , based on Marcel's
 analysis in that item. (Thanks a lot for that again!) These patches are
 (and should be) independent of -D USE_OLD_PCI_HOST; that is, they are
 active regardless of the fallback that we're temporarily retaining.

 Michał, can you please test if the series solves your issue?

 Then, based on the first two patches, the other three expose ECAM to the
 firmware modules proper (DXE and later). These do depend on
 USE_OLD_PCI_HOST==FALSE (which is the default now, and the only
 supported build in the mid term).

 I tested & regression tested the series in a bunch of scenarios; the
 most interesting is probably the usual physical GPU assignment. On Q35,
 the core PciHostBridgeDxe now permits access to the full extended config
 space, and it works all right with the PCIe GTX750.

 Gabriel, can you please check if your Q35 OSX guest(s) continue working
 with this?

 Public branch: .

 Cc: Gabriel Somlo 
 Cc: Jordan Justen 
 Cc: Marcel Apfelbaum 
 Cc: Michał Zegan 
 Cc: Ruiyu Ni 

 Thanks!
 Laszlo

 Laszlo Ersek (5):
   OvmfPkg: IndustryStandard/Q35MchIch9.h: add PCIEXBAR macros
   OvmfPkg: PlatformPei: enable PCIEXBAR (aka MMCONFIG / ECAM) on Q35
   OvmfPkg: add DxePciLibI440FxQ35
   OvmfPkg: match PCI config access to machine type (if not
 USE_OLD_PCI_HOST)
   OvmfPkg: PciHostBridgeLib: permit access to the full extended config
 space

  OvmfPkg/Include/IndustryStandard/Q35MchIch9.h 
 |   8 +
  OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf 
 |  47 ++
  {MdePkg/Library/BasePciLibCf8 => 
 OvmfPkg/Library/DxePciLibI440FxQ35}/PciLib.c | 161 +++-
  OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c   
 |   4 +-
  OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf 
 |   1 +
  OvmfPkg/OvmfPkgIa32.dsc   
 |  29 
  OvmfPkg/OvmfPkgIa32X64.dsc
 |  29 
  OvmfPkg/OvmfPkgX64.dsc
 |  29 
  OvmfPkg/PlatformPei/Platform.c
 |  81 ++
  OvmfPkg/PlatformPei/PlatformPei.inf   
 |   3 +
  10 files changed, 356 insertions(+), 36 deletions(-)
  create mode 100644 
 OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
  copy {MdePkg/Library/BasePciLibCf8 => 
 OvmfPkg/Library/DxePciLibI440FxQ35}/PciLib.c (85%)

>>

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH 0/5] OvmfPkg: enable PCIe on Q35

2016-03-04 Thread Laszlo Ersek
On 03/04/16 19:56, Michał Zegan wrote:
> How are you supposed to apply those patches? git am says the first one
> is empty.

It's best to fetch the public branch I linked in the blurb.

Thanks!
Laszlo

> W dniu 04.03.2016 o 15:46, Laszlo Ersek pisze:
>> The first two patches should fix
>> , based on Marcel's
>> analysis in that item. (Thanks a lot for that again!) These patches are
>> (and should be) independent of -D USE_OLD_PCI_HOST; that is, they are
>> active regardless of the fallback that we're temporarily retaining.
>>
>> Michał, can you please test if the series solves your issue?
>>
>> Then, based on the first two patches, the other three expose ECAM to the
>> firmware modules proper (DXE and later). These do depend on
>> USE_OLD_PCI_HOST==FALSE (which is the default now, and the only
>> supported build in the mid term).
>>
>> I tested & regression tested the series in a bunch of scenarios; the
>> most interesting is probably the usual physical GPU assignment. On Q35,
>> the core PciHostBridgeDxe now permits access to the full extended config
>> space, and it works all right with the PCIe GTX750.
>>
>> Gabriel, can you please check if your Q35 OSX guest(s) continue working
>> with this?
>>
>> Public branch: .
>>
>> Cc: Gabriel Somlo 
>> Cc: Jordan Justen 
>> Cc: Marcel Apfelbaum 
>> Cc: Michał Zegan 
>> Cc: Ruiyu Ni 
>>
>> Thanks!
>> Laszlo
>>
>> Laszlo Ersek (5):
>>   OvmfPkg: IndustryStandard/Q35MchIch9.h: add PCIEXBAR macros
>>   OvmfPkg: PlatformPei: enable PCIEXBAR (aka MMCONFIG / ECAM) on Q35
>>   OvmfPkg: add DxePciLibI440FxQ35
>>   OvmfPkg: match PCI config access to machine type (if not
>> USE_OLD_PCI_HOST)
>>   OvmfPkg: PciHostBridgeLib: permit access to the full extended config
>> space
>>
>>  OvmfPkg/Include/IndustryStandard/Q35MchIch9.h   
>>   |   8 +
>>  OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf   
>>   |  47 ++
>>  {MdePkg/Library/BasePciLibCf8 => 
>> OvmfPkg/Library/DxePciLibI440FxQ35}/PciLib.c | 161 +++-
>>  OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c 
>>   |   4 +-
>>  OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf   
>>   |   1 +
>>  OvmfPkg/OvmfPkgIa32.dsc 
>>   |  29 
>>  OvmfPkg/OvmfPkgIa32X64.dsc  
>>   |  29 
>>  OvmfPkg/OvmfPkgX64.dsc  
>>   |  29 
>>  OvmfPkg/PlatformPei/Platform.c  
>>   |  81 ++
>>  OvmfPkg/PlatformPei/PlatformPei.inf 
>>   |   3 +
>>  10 files changed, 356 insertions(+), 36 deletions(-)
>>  create mode 100644 OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
>>  copy {MdePkg/Library/BasePciLibCf8 => 
>> OvmfPkg/Library/DxePciLibI440FxQ35}/PciLib.c (85%)
>>

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH 0/5] OvmfPkg: enable PCIe on Q35

2016-03-04 Thread Laszlo Ersek
On 03/04/16 16:37, Gabriel L. Somlo wrote:
> On Fri, Mar 04, 2016 at 03:46:29PM +0100, Laszlo Ersek wrote:
>> The first two patches should fix
>> , based on Marcel's
>> analysis in that item. (Thanks a lot for that again!) These patches are
>> (and should be) independent of -D USE_OLD_PCI_HOST; that is, they are
>> active regardless of the fallback that we're temporarily retaining.
>>
>> Michał, can you please test if the series solves your issue?
>>
>> Then, based on the first two patches, the other three expose ECAM to the
>> firmware modules proper (DXE and later). These do depend on
>> USE_OLD_PCI_HOST==FALSE (which is the default now, and the only
>> supported build in the mid term).
>>
>> I tested & regression tested the series in a bunch of scenarios; the
>> most interesting is probably the usual physical GPU assignment. On Q35,
>> the core PciHostBridgeDxe now permits access to the full extended config
>> space, and it works all right with the PCIe GTX750.
>>
>> Gabriel, can you please check if your Q35 OSX guest(s) continue working
>> with this?
> 
> Applied this series on top of the remaining out-of-tree osx-specific 
> patches I keep around, and q35 10.9 through 10.11 appear to work fine.
> 
> Older versions (10.8 and older) won't boot even without this series
> applied, so if they ever did work (not really sure about that), it
> wasn't anything recent that made them stop :)
> 
> Tested-by: Gabriel Somlo 

Thanks a lot for the quick (and positive :)) feedback!
Laszlo

> Cheers,
> --Gabriel
> 
>>
>> Public branch: .
>>
>> Cc: Gabriel Somlo 
>> Cc: Jordan Justen 
>> Cc: Marcel Apfelbaum 
>> Cc: Michał Zegan 
>> Cc: Ruiyu Ni 
>>
>> Thanks!
>> Laszlo
>>
>> Laszlo Ersek (5):
>>   OvmfPkg: IndustryStandard/Q35MchIch9.h: add PCIEXBAR macros
>>   OvmfPkg: PlatformPei: enable PCIEXBAR (aka MMCONFIG / ECAM) on Q35
>>   OvmfPkg: add DxePciLibI440FxQ35
>>   OvmfPkg: match PCI config access to machine type (if not
>> USE_OLD_PCI_HOST)
>>   OvmfPkg: PciHostBridgeLib: permit access to the full extended config
>> space
>>
>>  OvmfPkg/Include/IndustryStandard/Q35MchIch9.h   
>>   |   8 +
>>  OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf   
>>   |  47 ++
>>  {MdePkg/Library/BasePciLibCf8 => 
>> OvmfPkg/Library/DxePciLibI440FxQ35}/PciLib.c | 161 +++-
>>  OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c 
>>   |   4 +-
>>  OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf   
>>   |   1 +
>>  OvmfPkg/OvmfPkgIa32.dsc 
>>   |  29 
>>  OvmfPkg/OvmfPkgIa32X64.dsc  
>>   |  29 
>>  OvmfPkg/OvmfPkgX64.dsc  
>>   |  29 
>>  OvmfPkg/PlatformPei/Platform.c  
>>   |  81 ++
>>  OvmfPkg/PlatformPei/PlatformPei.inf 
>>   |   3 +
>>  10 files changed, 356 insertions(+), 36 deletions(-)
>>  create mode 100644 OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
>>  copy {MdePkg/Library/BasePciLibCf8 => 
>> OvmfPkg/Library/DxePciLibI440FxQ35}/PciLib.c (85%)
>>
>> -- 
>> 1.8.3.1
>>

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH 0/5] OvmfPkg: enable PCIe on Q35

2016-03-04 Thread Gabriel L. Somlo
On Fri, Mar 04, 2016 at 03:46:29PM +0100, Laszlo Ersek wrote:
> The first two patches should fix
> , based on Marcel's
> analysis in that item. (Thanks a lot for that again!) These patches are
> (and should be) independent of -D USE_OLD_PCI_HOST; that is, they are
> active regardless of the fallback that we're temporarily retaining.
> 
> Michał, can you please test if the series solves your issue?
> 
> Then, based on the first two patches, the other three expose ECAM to the
> firmware modules proper (DXE and later). These do depend on
> USE_OLD_PCI_HOST==FALSE (which is the default now, and the only
> supported build in the mid term).
> 
> I tested & regression tested the series in a bunch of scenarios; the
> most interesting is probably the usual physical GPU assignment. On Q35,
> the core PciHostBridgeDxe now permits access to the full extended config
> space, and it works all right with the PCIe GTX750.
> 
> Gabriel, can you please check if your Q35 OSX guest(s) continue working
> with this?

Applied this series on top of the remaining out-of-tree osx-specific 
patches I keep around, and q35 10.9 through 10.11 appear to work fine.

Older versions (10.8 and older) won't boot even without this series
applied, so if they ever did work (not really sure about that), it
wasn't anything recent that made them stop :)

Tested-by: Gabriel Somlo 

Cheers,
--Gabriel

> 
> Public branch: .
> 
> Cc: Gabriel Somlo 
> Cc: Jordan Justen 
> Cc: Marcel Apfelbaum 
> Cc: Michał Zegan 
> Cc: Ruiyu Ni 
> 
> Thanks!
> Laszlo
> 
> Laszlo Ersek (5):
>   OvmfPkg: IndustryStandard/Q35MchIch9.h: add PCIEXBAR macros
>   OvmfPkg: PlatformPei: enable PCIEXBAR (aka MMCONFIG / ECAM) on Q35
>   OvmfPkg: add DxePciLibI440FxQ35
>   OvmfPkg: match PCI config access to machine type (if not
> USE_OLD_PCI_HOST)
>   OvmfPkg: PciHostBridgeLib: permit access to the full extended config
> space
> 
>  OvmfPkg/Include/IndustryStandard/Q35MchIch9.h
>  |   8 +
>  OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
>  |  47 ++
>  {MdePkg/Library/BasePciLibCf8 => 
> OvmfPkg/Library/DxePciLibI440FxQ35}/PciLib.c | 161 +++-
>  OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c  
>  |   4 +-
>  OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf
>  |   1 +
>  OvmfPkg/OvmfPkgIa32.dsc  
>  |  29 
>  OvmfPkg/OvmfPkgIa32X64.dsc   
>  |  29 
>  OvmfPkg/OvmfPkgX64.dsc   
>  |  29 
>  OvmfPkg/PlatformPei/Platform.c   
>  |  81 ++
>  OvmfPkg/PlatformPei/PlatformPei.inf  
>  |   3 +
>  10 files changed, 356 insertions(+), 36 deletions(-)
>  create mode 100644 OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
>  copy {MdePkg/Library/BasePciLibCf8 => 
> OvmfPkg/Library/DxePciLibI440FxQ35}/PciLib.c (85%)
> 
> -- 
> 1.8.3.1
> 
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel