[SeaBIOS] [PATCH] paravirt: Allow both Red Hat and Amazon PCI HB subsystem vendor and device ids

Filippo Sironi posted 1 patch 6 years, 4 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/seabios tags/patchew/1511714993-27630-1-git-send-email-sironi@amazon.de
src/fw/paravirt.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[SeaBIOS] [PATCH] paravirt: Allow both Red Hat and Amazon PCI HB subsystem vendor and device ids
Posted by Filippo Sironi 6 years, 4 months ago
Signed-off-by: Filippo Sironi <sironi@amazon.de>
---
 src/fw/paravirt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/fw/paravirt.c b/src/fw/paravirt.c
index 0770c47b12e7..163b70c6473f 100644
--- a/src/fw/paravirt.c
+++ b/src/fw/paravirt.c
@@ -83,8 +83,8 @@ static void qemu_detect(void)
     u16 sv = pci_config_readw(0, PCI_SUBSYSTEM_VENDOR_ID);
     u16 sd = pci_config_readw(0, PCI_SUBSYSTEM_ID);
 
-    if (sv != 0x1af4 || /* Red Hat, Inc */
-        sd != 0x1100)   /* Qemu virtual machine */
+    if (!(sv == 0x1af4 && sd == 0x1100) && /* Red Hat, Inc. QEMU VM */
+        !(sv == 0x1d0f && sd == 0x1237))   /* Amazon.com, Inc. i440fx VM */
         return;
 
     PlatformRunningOn |= PF_QEMU;
-- 
2.7.4


_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
https://mail.coreboot.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH] paravirt: Allow both Red Hat and Amazon PCI HB subsystem vendor and device ids
Posted by Kevin O'Connor 6 years, 3 months ago
On Sun, Nov 26, 2017 at 05:49:53PM +0100, Filippo Sironi wrote:
> Signed-off-by: Filippo Sironi <sironi@amazon.de>
> ---
>  src/fw/paravirt.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/fw/paravirt.c b/src/fw/paravirt.c
> index 0770c47b12e7..163b70c6473f 100644
> --- a/src/fw/paravirt.c
> +++ b/src/fw/paravirt.c
> @@ -83,8 +83,8 @@ static void qemu_detect(void)
>      u16 sv = pci_config_readw(0, PCI_SUBSYSTEM_VENDOR_ID);
>      u16 sd = pci_config_readw(0, PCI_SUBSYSTEM_ID);
>  
> -    if (sv != 0x1af4 || /* Red Hat, Inc */
> -        sd != 0x1100)   /* Qemu virtual machine */
> +    if (!(sv == 0x1af4 && sd == 0x1100) && /* Red Hat, Inc. QEMU VM */
> +        !(sv == 0x1d0f && sd == 0x1237))   /* Amazon.com, Inc. i440fx VM */
>          return;

Is the above needed for a generally available VM software or product?
Or is this internal to Amazon?

-Kevin

_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
https://mail.coreboot.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH] paravirt: Allow both Red Hat and Amazon PCI HB subsystem vendor and device ids
Posted by Sironi, Filippo 6 years, 3 months ago
> On 8. Dec 2017, at 07:50, Kevin O'Connor <kevin@koconnor.net> wrote:
> 
> On Sun, Nov 26, 2017 at 05:49:53PM +0100, Filippo Sironi wrote:
>> Signed-off-by: Filippo Sironi <sironi@amazon.de>
>> ---
>> src/fw/paravirt.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>> 
>> diff --git a/src/fw/paravirt.c b/src/fw/paravirt.c
>> index 0770c47b12e7..163b70c6473f 100644
>> --- a/src/fw/paravirt.c
>> +++ b/src/fw/paravirt.c
>> @@ -83,8 +83,8 @@ static void qemu_detect(void)
>>     u16 sv = pci_config_readw(0, PCI_SUBSYSTEM_VENDOR_ID);
>>     u16 sd = pci_config_readw(0, PCI_SUBSYSTEM_ID);
>> 
>> -    if (sv != 0x1af4 || /* Red Hat, Inc */
>> -        sd != 0x1100)   /* Qemu virtual machine */
>> +    if (!(sv == 0x1af4 && sd == 0x1100) && /* Red Hat, Inc. QEMU VM */
>> +        !(sv == 0x1d0f && sd == 0x1237))   /* Amazon.com, Inc. i440fx VM */
>>         return;
> 
> Is the above needed for a generally available VM software or product?
> Or is this internal to Amazon?
> 
> -Kevin

1d0f:1237 are the subsystem vendor and device ids of the i440fx emulation
in the EC2 machine model, which is what we're using for:

* https://aws.amazon.com/ec2/instance-types/c5/
* https://aws.amazon.com/ec2/instance-types/m5/

Today, the EC2 machine model isn't open source. However, we're not excluding
the option of making it generally available in the future.

Filippo


Amazon Development Center Germany GmbH
Berlin - Dresden - Aachen
main office: Krausenstr. 38, 10117 Berlin
Geschaeftsfuehrer: Dr. Ralf Herbrich, Christian Schlaeger
Ust-ID: DE289237879
Eingetragen am Amtsgericht Charlottenburg HRB 149173 B


_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
https://mail.coreboot.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH] paravirt: Allow both Red Hat and Amazon PCI HB subsystem vendor and device ids
Posted by Gerd Hoffmann 6 years, 2 months ago
> >> @@ -83,8 +83,8 @@ static void qemu_detect(void)

> >> -    if (sv != 0x1af4 || /* Red Hat, Inc */
> >> -        sd != 0x1100)   /* Qemu virtual machine */
> >> +    if (!(sv == 0x1af4 && sd == 0x1100) && /* Red Hat, Inc. QEMU VM */
> >> +        !(sv == 0x1d0f && sd == 0x1237))   /* Amazon.com, Inc. i440fx VM */
> >>         return;
> > 
> > Is the above needed for a generally available VM software or product?
> > Or is this internal to Amazon?
> > 
> > -Kevin
> 
> 1d0f:1237 are the subsystem vendor and device ids of the i440fx emulation
> in the EC2 machine model, which is what we're using for:
> 
> * https://aws.amazon.com/ec2/instance-types/c5/
> * https://aws.amazon.com/ec2/instance-types/m5/
> 
> Today, the EC2 machine model isn't open source.

So I guess not based on qemu?  Otherwise you would have some GPL issues ...

How big are the differences to qemu?  Does it have fw_cfg?

Should we have a separate PF_EC2 flag?

> However, we're not excluding
> the option of making it generally available in the future.

That would be good.  Sometimes it is quite helpful to see the host-side
changes when reviewing firmware patches.

cheers,
  Gerd

PS: sorry for the delay, just back to work after weeks of sick leave due
    to a broken finger.

_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
https://mail.coreboot.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH] paravirt: Allow both Red Hat and Amazon PCI HB subsystem vendor and device ids
Posted by Stefan Hajnoczi 6 years, 2 months ago
On Mon, Jan 8, 2018 at 10:11 AM, Gerd Hoffmann <kraxel@redhat.com> wrote:
>> >> @@ -83,8 +83,8 @@ static void qemu_detect(void)
>
>> >> -    if (sv != 0x1af4 || /* Red Hat, Inc */
>> >> -        sd != 0x1100)   /* Qemu virtual machine */
>> >> +    if (!(sv == 0x1af4 && sd == 0x1100) && /* Red Hat, Inc. QEMU VM */
>> >> +        !(sv == 0x1d0f && sd == 0x1237))   /* Amazon.com, Inc. i440fx VM */
>> >>         return;
>> >
>> > Is the above needed for a generally available VM software or product?
>> > Or is this internal to Amazon?
>> >
>> > -Kevin
>>
>> 1d0f:1237 are the subsystem vendor and device ids of the i440fx emulation
>> in the EC2 machine model, which is what we're using for:
>>
>> * https://aws.amazon.com/ec2/instance-types/c5/
>> * https://aws.amazon.com/ec2/instance-types/m5/
>>
>> Today, the EC2 machine model isn't open source.
>
> So I guess not based on qemu?  Otherwise you would have some GPL issues ...

QEMU is GPLv2 so there is no need to provide source if the
hypervisor/emulator software isn't being distributed.

SeaBIOS is LGPLv3 and its available in guest RAM so that may be a
different story...

Stefan

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