Patchwork [2/5] pseries: Instantiate USB if requested

login
register
mail settings
Submitter David Gibson
Date July 31, 2012, 6:09 a.m.
Message ID <1343714945-20726-3-git-send-email-david@gibson.dropbear.id.au>
Download mbox | patch
Permalink /patch/174149/
State New
Headers show

Comments

David Gibson - July 31, 2012, 6:09 a.m.
The pseries machine currently ignores the -usb command line option.
This patch corrects the problem by having it instantiate a PCI OHCI
USB host controller when -usb is specified.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
---
 hw/spapr.c |    7 +++++++
 1 file changed, 7 insertions(+)
Benjamin Herrenschmidt - July 31, 2012, 7:35 a.m.
On Tue, 2012-07-31 at 16:09 +1000, David Gibson wrote:
> The pseries machine currently ignores the -usb command line option.
> This patch corrects the problem by having it instantiate a PCI OHCI
> USB host controller when -usb is specified.
> 
> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>

Li Zhang <zhlcindy@gmail.com> has been owning that patch for a while and
I believe has a better version.

Li, what's the status with it ? Alex ?

Cheers,
Ben.


> ---
>  hw/spapr.c |    7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/hw/spapr.c b/hw/spapr.c
> index ab5a0c2..740881b 100644
> --- a/hw/spapr.c
> +++ b/hw/spapr.c
> @@ -45,6 +45,7 @@
>  #include "kvm.h"
>  #include "kvm_ppc.h"
>  #include "pci.h"
> +#include "usb.h"
>  
>  #include "exec-memory.h"
>  
> @@ -710,6 +711,12 @@ static void ppc_spapr_init(ram_addr_t ram_size,
>          spapr_vscsi_create(spapr->vio_bus);
>      }
>  
> +    /* USB */
> +    if (usb_enabled) {
> +        pci_create_simple(QLIST_FIRST(&spapr->phbs)->host_state.bus,
> +                          -1, "pci-ohci");
> +    }
> +
>      if (rma_size < (MIN_RMA_SLOF << 20)) {
>          fprintf(stderr, "qemu: pSeries SLOF firmware requires >= "
>                  "%ldM guest RMA (Real Mode Area memory)\n", MIN_RMA_SLOF);
Benjamin Herrenschmidt - July 31, 2012, 7:36 a.m.
On Tue, 2012-07-31 at 16:09 +1000, David Gibson wrote:
> The pseries machine currently ignores the -usb command line option.
> This patch corrects the problem by having it instantiate a PCI OHCI
> USB host controller when -usb is specified.
> 
> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>

Same comment as the -vga patch, Li's been dealing with that lately,
Li, can you update us on the status of those patches ?

Cheers,
Ben.

> ---
>  hw/spapr.c |    7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/hw/spapr.c b/hw/spapr.c
> index ab5a0c2..740881b 100644
> --- a/hw/spapr.c
> +++ b/hw/spapr.c
> @@ -45,6 +45,7 @@
>  #include "kvm.h"
>  #include "kvm_ppc.h"
>  #include "pci.h"
> +#include "usb.h"
>  
>  #include "exec-memory.h"
>  
> @@ -710,6 +711,12 @@ static void ppc_spapr_init(ram_addr_t ram_size,
>          spapr_vscsi_create(spapr->vio_bus);
>      }
>  
> +    /* USB */
> +    if (usb_enabled) {
> +        pci_create_simple(QLIST_FIRST(&spapr->phbs)->host_state.bus,
> +                          -1, "pci-ohci");
> +    }
> +
>      if (rma_size < (MIN_RMA_SLOF << 20)) {
>          fprintf(stderr, "qemu: pSeries SLOF firmware requires >= "
>                  "%ldM guest RMA (Real Mode Area memory)\n", MIN_RMA_SLOF);
zhlcindy@gmail.com - Aug. 4, 2012, 7:34 a.m.
On Tue, Jul 31, 2012 at 3:36 PM, Benjamin Herrenschmidt
<benh@kernel.crashing.org> wrote:
> On Tue, 2012-07-31 at 16:09 +1000, David Gibson wrote:
>> The pseries machine currently ignores the -usb command line option.
>> This patch corrects the problem by having it instantiate a PCI OHCI
>> USB host controller when -usb is specified.
>>
>> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
>
> Same comment as the -vga patch, Li's been dealing with that lately,
> Li, can you update us on the status of those patches ?

Sorry to miss this mail.
I send out the v6 version. -:)

>
> Cheers,
> Ben.
>
>> ---
>>  hw/spapr.c |    7 +++++++
>>  1 file changed, 7 insertions(+)
>>
>> diff --git a/hw/spapr.c b/hw/spapr.c
>> index ab5a0c2..740881b 100644
>> --- a/hw/spapr.c
>> +++ b/hw/spapr.c
>> @@ -45,6 +45,7 @@
>>  #include "kvm.h"
>>  #include "kvm_ppc.h"
>>  #include "pci.h"
>> +#include "usb.h"
>>
>>  #include "exec-memory.h"
>>
>> @@ -710,6 +711,12 @@ static void ppc_spapr_init(ram_addr_t ram_size,
>>          spapr_vscsi_create(spapr->vio_bus);
>>      }
>>
>> +    /* USB */
>> +    if (usb_enabled) {
>> +        pci_create_simple(QLIST_FIRST(&spapr->phbs)->host_state.bus,
>> +                          -1, "pci-ohci");
>> +    }
>> +
>>      if (rma_size < (MIN_RMA_SLOF << 20)) {
>>          fprintf(stderr, "qemu: pSeries SLOF firmware requires >= "
>>                  "%ldM guest RMA (Real Mode Area memory)\n", MIN_RMA_SLOF);
>
>

Patch

diff --git a/hw/spapr.c b/hw/spapr.c
index ab5a0c2..740881b 100644
--- a/hw/spapr.c
+++ b/hw/spapr.c
@@ -45,6 +45,7 @@ 
 #include "kvm.h"
 #include "kvm_ppc.h"
 #include "pci.h"
+#include "usb.h"
 
 #include "exec-memory.h"
 
@@ -710,6 +711,12 @@  static void ppc_spapr_init(ram_addr_t ram_size,
         spapr_vscsi_create(spapr->vio_bus);
     }
 
+    /* USB */
+    if (usb_enabled) {
+        pci_create_simple(QLIST_FIRST(&spapr->phbs)->host_state.bus,
+                          -1, "pci-ohci");
+    }
+
     if (rma_size < (MIN_RMA_SLOF << 20)) {
         fprintf(stderr, "qemu: pSeries SLOF firmware requires >= "
                 "%ldM guest RMA (Real Mode Area memory)\n", MIN_RMA_SLOF);