[SeaBIOS] [PATCH v3 3/3] pci: recognize RH PCI legacy bridge resource reservation capability

Jing Liu posted 3 patches 6 years, 8 months ago
[SeaBIOS] [PATCH v3 3/3] pci: recognize RH PCI legacy bridge resource reservation capability
Posted by Jing Liu 6 years, 8 months ago
Enable the firmware recognizing RedHat legacy PCI bridge device ID,
so QEMU can reserve additional PCI bridge resource capability.
Change the debug level lower to 3 when it is non-QEMU bridge.

Signed-off-by: Jing Liu <jing2.liu@linux.intel.com>
---
 src/fw/pciinit.c | 50 +++++++++++++++++++++++++++++---------------------
 src/hw/pci_ids.h |  1 +
 2 files changed, 30 insertions(+), 21 deletions(-)

diff --git a/src/fw/pciinit.c b/src/fw/pciinit.c
index 62a32f1..c0634bc 100644
--- a/src/fw/pciinit.c
+++ b/src/fw/pciinit.c
@@ -525,30 +525,38 @@ static void pci_bios_init_platform(void)
 
 static u8 pci_find_resource_reserve_capability(u16 bdf)
 {
-    if (pci_config_readw(bdf, PCI_VENDOR_ID) == PCI_VENDOR_ID_REDHAT &&
-        pci_config_readw(bdf, PCI_DEVICE_ID) ==
-                PCI_DEVICE_ID_REDHAT_ROOT_PORT) {
-        u8 cap = 0;
-        do {
-            cap = pci_find_capability(bdf, PCI_CAP_ID_VNDR, cap);
-        } while (cap &&
-                 pci_config_readb(bdf, cap + PCI_CAP_REDHAT_TYPE_OFFSET) !=
-                        REDHAT_CAP_RESOURCE_RESERVE);
-        if (cap) {
-            u8 cap_len = pci_config_readb(bdf, cap + PCI_CAP_FLAGS);
-            if (cap_len < RES_RESERVE_CAP_SIZE) {
-                dprintf(1, "PCI: QEMU resource reserve cap length %d is invalid\n",
-                        cap_len);
-                return 0;
-            }
-        } else {
-            dprintf(1, "PCI: QEMU resource reserve cap not found\n");
+    u16 device_id;
+
+    if (pci_config_readw(bdf, PCI_VENDOR_ID) != PCI_VENDOR_ID_REDHAT) {
+        dprintf(3, "PCI: This is non-QEMU bridge.\n");
+        return 0;
+    }
+
+    device_id = pci_config_readw(bdf, PCI_DEVICE_ID);
+
+    if (device_id != PCI_DEVICE_ID_REDHAT_ROOT_PORT &&
+        device_id != PCI_DEVICE_ID_REDHAT_BRIDGE) {
+        dprintf(1, "PCI: QEMU resource reserve cap device ID doesn't match.\n");
+        return 0;
+    }
+    u8 cap = 0;
+
+    do {
+        cap = pci_find_capability(bdf, PCI_CAP_ID_VNDR, cap);
+    } while (cap &&
+             pci_config_readb(bdf, cap + PCI_CAP_REDHAT_TYPE_OFFSET) !=
+                              REDHAT_CAP_RESOURCE_RESERVE);
+    if (cap) {
+        u8 cap_len = pci_config_readb(bdf, cap + PCI_CAP_FLAGS);
+        if (cap_len < RES_RESERVE_CAP_SIZE) {
+            dprintf(1, "PCI: QEMU resource reserve cap length %d is invalid\n",
+                    cap_len);
+            return 0;
         }
-        return cap;
     } else {
-        dprintf(1, "PCI: QEMU resource reserve cap VID or DID doesn't match.\n");
-        return 0;
+        dprintf(1, "PCI: QEMU resource reserve cap not found\n");
     }
+    return cap;
 }
 
 /****************************************************************
diff --git a/src/hw/pci_ids.h b/src/hw/pci_ids.h
index 38fa2ca..1096461 100644
--- a/src/hw/pci_ids.h
+++ b/src/hw/pci_ids.h
@@ -2265,6 +2265,7 @@
 
 #define PCI_VENDOR_ID_REDHAT		0x1b36
 #define PCI_DEVICE_ID_REDHAT_ROOT_PORT	0x000C
+#define PCI_DEVICE_ID_REDHAT_BRIDGE	0x0001
 
 #define PCI_VENDOR_ID_TEKRAM		0x1de1
 #define PCI_DEVICE_ID_TEKRAM_DC290	0xdc29
-- 
1.8.3.1


_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
https://mail.coreboot.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH v3 3/3] pci: recognize RH PCI legacy bridge resource reservation capability
Posted by Laszlo Ersek 6 years, 8 months ago
On 08/24/18 10:53, Jing Liu wrote:
> Enable the firmware recognizing RedHat legacy PCI bridge device ID,
> so QEMU can reserve additional PCI bridge resource capability.
> Change the debug level lower to 3 when it is non-QEMU bridge.
> 
> Signed-off-by: Jing Liu <jing2.liu@linux.intel.com>
> ---
>  src/fw/pciinit.c | 50 +++++++++++++++++++++++++++++---------------------
>  src/hw/pci_ids.h |  1 +
>  2 files changed, 30 insertions(+), 21 deletions(-)
> 
> diff --git a/src/fw/pciinit.c b/src/fw/pciinit.c
> index 62a32f1..c0634bc 100644
> --- a/src/fw/pciinit.c
> +++ b/src/fw/pciinit.c
> @@ -525,30 +525,38 @@ static void pci_bios_init_platform(void)
>  
>  static u8 pci_find_resource_reserve_capability(u16 bdf)
>  {
> -    if (pci_config_readw(bdf, PCI_VENDOR_ID) == PCI_VENDOR_ID_REDHAT &&
> -        pci_config_readw(bdf, PCI_DEVICE_ID) ==
> -                PCI_DEVICE_ID_REDHAT_ROOT_PORT) {
> -        u8 cap = 0;
> -        do {
> -            cap = pci_find_capability(bdf, PCI_CAP_ID_VNDR, cap);
> -        } while (cap &&
> -                 pci_config_readb(bdf, cap + PCI_CAP_REDHAT_TYPE_OFFSET) !=
> -                        REDHAT_CAP_RESOURCE_RESERVE);
> -        if (cap) {
> -            u8 cap_len = pci_config_readb(bdf, cap + PCI_CAP_FLAGS);
> -            if (cap_len < RES_RESERVE_CAP_SIZE) {
> -                dprintf(1, "PCI: QEMU resource reserve cap length %d is invalid\n",
> -                        cap_len);
> -                return 0;
> -            }
> -        } else {
> -            dprintf(1, "PCI: QEMU resource reserve cap not found\n");
> +    u16 device_id;
> +
> +    if (pci_config_readw(bdf, PCI_VENDOR_ID) != PCI_VENDOR_ID_REDHAT) {
> +        dprintf(3, "PCI: This is non-QEMU bridge.\n");

I think I liked the previous language slightly more ("PCI: QEMU resource
reserve cap vendor ID doesn't match."), but that shouldn't be a problem.

Series
Reviewed-by: Laszlo Ersek <lersek@redhat.com>

Thanks
Laszlo


> +        return 0;
> +    }
> +
> +    device_id = pci_config_readw(bdf, PCI_DEVICE_ID);
> +
> +    if (device_id != PCI_DEVICE_ID_REDHAT_ROOT_PORT &&
> +        device_id != PCI_DEVICE_ID_REDHAT_BRIDGE) {
> +        dprintf(1, "PCI: QEMU resource reserve cap device ID doesn't match.\n");
> +        return 0;
> +    }
> +    u8 cap = 0;
> +
> +    do {
> +        cap = pci_find_capability(bdf, PCI_CAP_ID_VNDR, cap);
> +    } while (cap &&
> +             pci_config_readb(bdf, cap + PCI_CAP_REDHAT_TYPE_OFFSET) !=
> +                              REDHAT_CAP_RESOURCE_RESERVE);
> +    if (cap) {
> +        u8 cap_len = pci_config_readb(bdf, cap + PCI_CAP_FLAGS);
> +        if (cap_len < RES_RESERVE_CAP_SIZE) {
> +            dprintf(1, "PCI: QEMU resource reserve cap length %d is invalid\n",
> +                    cap_len);
> +            return 0;
>          }
> -        return cap;
>      } else {
> -        dprintf(1, "PCI: QEMU resource reserve cap VID or DID doesn't match.\n");
> -        return 0;
> +        dprintf(1, "PCI: QEMU resource reserve cap not found\n");
>      }
> +    return cap;
>  }
>  
>  /****************************************************************
> diff --git a/src/hw/pci_ids.h b/src/hw/pci_ids.h
> index 38fa2ca..1096461 100644
> --- a/src/hw/pci_ids.h
> +++ b/src/hw/pci_ids.h
> @@ -2265,6 +2265,7 @@
>  
>  #define PCI_VENDOR_ID_REDHAT		0x1b36
>  #define PCI_DEVICE_ID_REDHAT_ROOT_PORT	0x000C
> +#define PCI_DEVICE_ID_REDHAT_BRIDGE	0x0001
>  
>  #define PCI_VENDOR_ID_TEKRAM		0x1de1
>  #define PCI_DEVICE_ID_TEKRAM_DC290	0xdc29
> 


_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
https://mail.coreboot.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH v3 3/3] pci: recognize RH PCI legacy bridge resource reservation capability
Posted by Liu, Jing2 6 years, 8 months ago
Hi Laszlo,

On 8/24/2018 5:12 PM, Laszlo Ersek wrote:

>> -            dprintf(1, "PCI: QEMU resource reserve cap not found\n");
>> +    u16 device_id;
>> +
>> +    if (pci_config_readw(bdf, PCI_VENDOR_ID) != PCI_VENDOR_ID_REDHAT) {
>> +        dprintf(3, "PCI: This is non-QEMU bridge.\n");
> 
> I think I liked the previous language slightly more ("PCI: QEMU resource
> reserve cap vendor ID doesn't match."), but that shouldn't be a problem.
> 
> Series
> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
> 
Thank you for the comments and feedback!

Jing

> Thanks
> Laszlo
> 


_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
https://mail.coreboot.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH v3 3/3] pci: recognize RH PCI legacy bridge resource reservation capability
Posted by Marcel Apfelbaum 6 years, 8 months ago

On 08/24/2018 11:53 AM, Jing Liu wrote:
> Enable the firmware recognizing RedHat legacy PCI bridge device ID,
> so QEMU can reserve additional PCI bridge resource capability.
> Change the debug level lower to 3 when it is non-QEMU bridge.
>
> Signed-off-by: Jing Liu <jing2.liu@linux.intel.com>
> ---
>   src/fw/pciinit.c | 50 +++++++++++++++++++++++++++++---------------------
>   src/hw/pci_ids.h |  1 +
>   2 files changed, 30 insertions(+), 21 deletions(-)
>
> diff --git a/src/fw/pciinit.c b/src/fw/pciinit.c
> index 62a32f1..c0634bc 100644
> --- a/src/fw/pciinit.c
> +++ b/src/fw/pciinit.c
> @@ -525,30 +525,38 @@ static void pci_bios_init_platform(void)
>   
>   static u8 pci_find_resource_reserve_capability(u16 bdf)
>   {
> -    if (pci_config_readw(bdf, PCI_VENDOR_ID) == PCI_VENDOR_ID_REDHAT &&
> -        pci_config_readw(bdf, PCI_DEVICE_ID) ==
> -                PCI_DEVICE_ID_REDHAT_ROOT_PORT) {
> -        u8 cap = 0;
> -        do {
> -            cap = pci_find_capability(bdf, PCI_CAP_ID_VNDR, cap);
> -        } while (cap &&
> -                 pci_config_readb(bdf, cap + PCI_CAP_REDHAT_TYPE_OFFSET) !=
> -                        REDHAT_CAP_RESOURCE_RESERVE);
> -        if (cap) {
> -            u8 cap_len = pci_config_readb(bdf, cap + PCI_CAP_FLAGS);
> -            if (cap_len < RES_RESERVE_CAP_SIZE) {
> -                dprintf(1, "PCI: QEMU resource reserve cap length %d is invalid\n",
> -                        cap_len);
> -                return 0;
> -            }
> -        } else {
> -            dprintf(1, "PCI: QEMU resource reserve cap not found\n");
> +    u16 device_id;
> +
> +    if (pci_config_readw(bdf, PCI_VENDOR_ID) != PCI_VENDOR_ID_REDHAT) {
> +        dprintf(3, "PCI: This is non-QEMU bridge.\n");
> +        return 0;
> +    }
> +
> +    device_id = pci_config_readw(bdf, PCI_DEVICE_ID);
> +
> +    if (device_id != PCI_DEVICE_ID_REDHAT_ROOT_PORT &&
> +        device_id != PCI_DEVICE_ID_REDHAT_BRIDGE) {
> +        dprintf(1, "PCI: QEMU resource reserve cap device ID doesn't match.\n");
> +        return 0;
> +    }
> +    u8 cap = 0;
> +
> +    do {
> +        cap = pci_find_capability(bdf, PCI_CAP_ID_VNDR, cap);
> +    } while (cap &&
> +             pci_config_readb(bdf, cap + PCI_CAP_REDHAT_TYPE_OFFSET) !=
> +                              REDHAT_CAP_RESOURCE_RESERVE);
> +    if (cap) {
> +        u8 cap_len = pci_config_readb(bdf, cap + PCI_CAP_FLAGS);
> +        if (cap_len < RES_RESERVE_CAP_SIZE) {
> +            dprintf(1, "PCI: QEMU resource reserve cap length %d is invalid\n",
> +                    cap_len);
> +            return 0;
>           }
> -        return cap;
>       } else {
> -        dprintf(1, "PCI: QEMU resource reserve cap VID or DID doesn't match.\n");
> -        return 0;

I am sorry for the late review.
Did you drop the above line in purpose?

Thanks,
Marcel


> +        dprintf(1, "PCI: QEMU resource reserve cap not found\n");
>       }
> +    return cap;
>   }
>   
>   /****************************************************************
> diff --git a/src/hw/pci_ids.h b/src/hw/pci_ids.h
> index 38fa2ca..1096461 100644
> --- a/src/hw/pci_ids.h
> +++ b/src/hw/pci_ids.h
> @@ -2265,6 +2265,7 @@
>   
>   #define PCI_VENDOR_ID_REDHAT		0x1b36
>   #define PCI_DEVICE_ID_REDHAT_ROOT_PORT	0x000C
> +#define PCI_DEVICE_ID_REDHAT_BRIDGE	0x0001
>   
>   #define PCI_VENDOR_ID_TEKRAM		0x1de1
>   #define PCI_DEVICE_ID_TEKRAM_DC290	0xdc29


_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
https://mail.coreboot.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH v3 3/3] pci: recognize RH PCI legacy bridge resource reservation capability
Posted by Liu, Jing2 6 years, 8 months ago
Hi Marcel,

On 8/25/2018 11:59 PM, Marcel Apfelbaum wrote:
> 
> 
> On 08/24/2018 11:53 AM, Jing Liu wrote:
>> Enable the firmware recognizing RedHat legacy PCI bridge device ID,
>> so QEMU can reserve additional PCI bridge resource capability.
>> Change the debug level lower to 3 when it is non-QEMU bridge.
>>
>> Signed-off-by: Jing Liu <jing2.liu@linux.intel.com>
>> ---
>>   src/fw/pciinit.c | 50 
>> +++++++++++++++++++++++++++++---------------------
>>   src/hw/pci_ids.h |  1 +
>>   2 files changed, 30 insertions(+), 21 deletions(-)
>>
>> diff --git a/src/fw/pciinit.c b/src/fw/pciinit.c
>> index 62a32f1..c0634bc 100644
>> --- a/src/fw/pciinit.c
>> +++ b/src/fw/pciinit.c
>> @@ -525,30 +525,38 @@ static void pci_bios_init_platform(void)
>>   static u8 pci_find_resource_reserve_capability(u16 bdf)
>>   {
>> -    if (pci_config_readw(bdf, PCI_VENDOR_ID) == PCI_VENDOR_ID_REDHAT &&
>> -        pci_config_readw(bdf, PCI_DEVICE_ID) ==
>> -                PCI_DEVICE_ID_REDHAT_ROOT_PORT) {
>> -        u8 cap = 0;
>> -        do {
>> -            cap = pci_find_capability(bdf, PCI_CAP_ID_VNDR, cap);
>> -        } while (cap &&
>> -                 pci_config_readb(bdf, cap + 
>> PCI_CAP_REDHAT_TYPE_OFFSET) !=
>> -                        REDHAT_CAP_RESOURCE_RESERVE);
>> -        if (cap) {
>> -            u8 cap_len = pci_config_readb(bdf, cap + PCI_CAP_FLAGS);
>> -            if (cap_len < RES_RESERVE_CAP_SIZE) {
>> -                dprintf(1, "PCI: QEMU resource reserve cap length %d 
>> is invalid\n",
>> -                        cap_len);
>> -                return 0;
>> -            }
>> -        } else {
>> -            dprintf(1, "PCI: QEMU resource reserve cap not found\n");
>> +    u16 device_id;
>> +
>> +    if (pci_config_readw(bdf, PCI_VENDOR_ID) != PCI_VENDOR_ID_REDHAT) {
>> +        dprintf(3, "PCI: This is non-QEMU bridge.\n");
>> +        return 0;
>> +    }
>> +
>> +    device_id = pci_config_readw(bdf, PCI_DEVICE_ID);
>> +
>> +    if (device_id != PCI_DEVICE_ID_REDHAT_ROOT_PORT &&
>> +        device_id != PCI_DEVICE_ID_REDHAT_BRIDGE) {
>> +        dprintf(1, "PCI: QEMU resource reserve cap device ID doesn't 
>> match.\n");
>> +        return 0;
>> +    }
>> +    u8 cap = 0;
>> +
>> +    do {
>> +        cap = pci_find_capability(bdf, PCI_CAP_ID_VNDR, cap);
>> +    } while (cap &&
>> +             pci_config_readb(bdf, cap + PCI_CAP_REDHAT_TYPE_OFFSET) !=
>> +                              REDHAT_CAP_RESOURCE_RESERVE);
>> +    if (cap) {
>> +        u8 cap_len = pci_config_readb(bdf, cap + PCI_CAP_FLAGS);
>> +        if (cap_len < RES_RESERVE_CAP_SIZE) {
>> +            dprintf(1, "PCI: QEMU resource reserve cap length %d is 
>> invalid\n",
>> +                    cap_len);
>> +            return 0;
>>           }
>> -        return cap;
>>       } else {
>> -        dprintf(1, "PCI: QEMU resource reserve cap VID or DID doesn't 
>> match.\n");
>> -        return 0;
> 
> I am sorry for the late review.
> Did you drop the above line in purpose?
> 
Thanks for the review!

I replaced the above report to following phase.
Check the vendor-id and device-id respectively.

+    if (pci_config_readw(bdf, PCI_VENDOR_ID) != PCI_VENDOR_ID_REDHAT) {
+        dprintf(3, "PCI: This is non-QEMU bridge.\n");
+        return 0;
+    }
+
+    device_id = pci_config_readw(bdf, PCI_DEVICE_ID);
+
+    if (device_id != PCI_DEVICE_ID_REDHAT_ROOT_PORT &&
+        device_id != PCI_DEVICE_ID_REDHAT_BRIDGE) {
+        dprintf(1, "PCI: QEMU resource reserve cap device ID doesn't 
match.\n");
+        return 0;
+    }

Thanks,
Jing

> Thanks,
> Marcel

_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
https://mail.coreboot.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH v3 3/3] pci: recognize RH PCI legacy bridge resource reservation capability
Posted by Marcel Apfelbaum 6 years, 8 months ago

On 08/27/2018 05:22 AM, Liu, Jing2 wrote:
> Hi Marcel,
>
> On 8/25/2018 11:59 PM, Marcel Apfelbaum wrote:
>>
>>
>> On 08/24/2018 11:53 AM, Jing Liu wrote:
>>> Enable the firmware recognizing RedHat legacy PCI bridge device ID,
>>> so QEMU can reserve additional PCI bridge resource capability.
>>> Change the debug level lower to 3 when it is non-QEMU bridge.
>>>
>>> Signed-off-by: Jing Liu <jing2.liu@linux.intel.com>
>>> ---
>>>   src/fw/pciinit.c | 50 
>>> +++++++++++++++++++++++++++++---------------------
>>>   src/hw/pci_ids.h |  1 +
>>>   2 files changed, 30 insertions(+), 21 deletions(-)
>>>
>>> diff --git a/src/fw/pciinit.c b/src/fw/pciinit.c
>>> index 62a32f1..c0634bc 100644
>>> --- a/src/fw/pciinit.c
>>> +++ b/src/fw/pciinit.c
>>> @@ -525,30 +525,38 @@ static void pci_bios_init_platform(void)
>>>   static u8 pci_find_resource_reserve_capability(u16 bdf)
>>>   {
>>> -    if (pci_config_readw(bdf, PCI_VENDOR_ID) == 
>>> PCI_VENDOR_ID_REDHAT &&
>>> -        pci_config_readw(bdf, PCI_DEVICE_ID) ==
>>> -                PCI_DEVICE_ID_REDHAT_ROOT_PORT) {
>>> -        u8 cap = 0;
>>> -        do {
>>> -            cap = pci_find_capability(bdf, PCI_CAP_ID_VNDR, cap);
>>> -        } while (cap &&
>>> -                 pci_config_readb(bdf, cap + 
>>> PCI_CAP_REDHAT_TYPE_OFFSET) !=
>>> -                        REDHAT_CAP_RESOURCE_RESERVE);
>>> -        if (cap) {
>>> -            u8 cap_len = pci_config_readb(bdf, cap + PCI_CAP_FLAGS);
>>> -            if (cap_len < RES_RESERVE_CAP_SIZE) {
>>> -                dprintf(1, "PCI: QEMU resource reserve cap length 
>>> %d is invalid\n",
>>> -                        cap_len);
>>> -                return 0;
>>> -            }
>>> -        } else {
>>> -            dprintf(1, "PCI: QEMU resource reserve cap not found\n");
>>> +    u16 device_id;
>>> +
>>> +    if (pci_config_readw(bdf, PCI_VENDOR_ID) != 
>>> PCI_VENDOR_ID_REDHAT) {
>>> +        dprintf(3, "PCI: This is non-QEMU bridge.\n");
>>> +        return 0;
>>> +    }
>>> +
>>> +    device_id = pci_config_readw(bdf, PCI_DEVICE_ID);
>>> +
>>> +    if (device_id != PCI_DEVICE_ID_REDHAT_ROOT_PORT &&
>>> +        device_id != PCI_DEVICE_ID_REDHAT_BRIDGE) {
>>> +        dprintf(1, "PCI: QEMU resource reserve cap device ID 
>>> doesn't match.\n");
>>> +        return 0;
>>> +    }
>>> +    u8 cap = 0;
>>> +
>>> +    do {
>>> +        cap = pci_find_capability(bdf, PCI_CAP_ID_VNDR, cap);
>>> +    } while (cap &&
>>> +             pci_config_readb(bdf, cap + 
>>> PCI_CAP_REDHAT_TYPE_OFFSET) !=
>>> +                              REDHAT_CAP_RESOURCE_RESERVE);
>>> +    if (cap) {
>>> +        u8 cap_len = pci_config_readb(bdf, cap + PCI_CAP_FLAGS);
>>> +        if (cap_len < RES_RESERVE_CAP_SIZE) {
>>> +            dprintf(1, "PCI: QEMU resource reserve cap length %d is 
>>> invalid\n",
>>> +                    cap_len);
>>> +            return 0;
>>>           }
>>> -        return cap;
>>>       } else {
>>> -        dprintf(1, "PCI: QEMU resource reserve cap VID or DID 
>>> doesn't match.\n");
>>> -        return 0;
>>
>> I am sorry for the late review.
>> Did you drop the above line in purpose?
>>
> Thanks for the review!
>
> I replaced the above report to following phase.
> Check the vendor-id and device-id respectively.
>
> +    if (pci_config_readw(bdf, PCI_VENDOR_ID) != PCI_VENDOR_ID_REDHAT) {
> +        dprintf(3, "PCI: This is non-QEMU bridge.\n");
> +        return 0;
> +    }
> +
> +    device_id = pci_config_readw(bdf, PCI_DEVICE_ID);
> +
> +    if (device_id != PCI_DEVICE_ID_REDHAT_ROOT_PORT &&
> +        device_id != PCI_DEVICE_ID_REDHAT_BRIDGE) {
> +        dprintf(1, "PCI: QEMU resource reserve cap device ID doesn't 
> match.\n");
> +        return 0;
> +    }
>

I understand.

Reviewed-by: Marcel Apfelbaum<marcel.apfelbaum@gmail.com>


Thanks,
Marcel

> Thanks,
> Jing
>
>> Thanks,
>> Marcel


_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
https://mail.coreboot.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH v3 3/3] pci: recognize RH PCI legacy bridge resource reservation capability
Posted by Liu, Jing2 6 years, 8 months ago
Hi Marcel,

On 8/28/2018 12:58 AM, Marcel Apfelbaum wrote:
>>>
>>> On 08/24/2018 11:53 AM, Jing Liu wrote:
>>>> Enable the firmware recognizing RedHat legacy PCI bridge device ID,
>>>> so QEMU can reserve additional PCI bridge resource capability.
>>>> Change the debug level lower to 3 when it is non-QEMU bridge.
>>>>
>>>> Signed-off-by: Jing Liu <jing2.liu@linux.intel.com>
>>>> ---
>>>>   src/fw/pciinit.c | 50 
>>>> +++++++++++++++++++++++++++++---------------------
>>>>   src/hw/pci_ids.h |  1 +
>>>>   2 files changed, 30 insertions(+), 21 deletions(-)
>>>>
[...]
> 
> I understand.
> 
> Reviewed-by: Marcel Apfelbaum<marcel.apfelbaum@gmail.com>
> 
Thanks for your feedback!

BR,
Jing

> 
> Thanks,
> Marcel
> 
>> Thanks,
>> Jing
>>
>>> Thanks,
>>> Marcel
> 

_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
https://mail.coreboot.org/mailman/listinfo/seabios