qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH 10/11] ahci: spawn controller on demand


From: Blue Swirl
Subject: [Qemu-devel] Re: [PATCH 10/11] ahci: spawn controller on demand
Date: Fri, 26 Nov 2010 18:21:09 +0000

On Thu, Nov 25, 2010 at 7:07 AM, Alexander Graf <address@hidden> wrote:
> When we add a device using -drive to the guest, we also need to create a
> new SATA bus to handle the device. This patch adds a function call that
> every machine that likes to have IF_SATA support can call to get full
> device creation by keeping the actual qdev code clean.
>
> Signed-off-by: Alexander Graf <address@hidden>
>
> ---
>
> v2 -> v3:
>
>  - redesign
>
> v4 -> v5:
>
>  - redesign to only use qdev in generic parts, get rid of
>    CONFIG_AHCI
> ---
>  blockdev.c |   35 +++++++++++++++++++++++++++++++++++
>  blockdev.h |    1 +
>  vl.c       |    2 ++
>  3 files changed, 38 insertions(+), 0 deletions(-)
>
> diff --git a/blockdev.c b/blockdev.c
> index 5ce90cc..69befb6 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -499,6 +499,41 @@ DriveInfo *drive_init(QemuOpts *opts, int 
> default_to_scsi, int *fatal_error)
>     return dinfo;
>  }
>
> +static void ahci_post_init(void)
> +{
> +    int max_bus;
> +    int bus, i;
> +    QemuOpts *opts;
> +    char name[32];
> +
> +    max_bus = drive_get_max_bus(IF_SATA);
> +    for (bus = 0; bus <= max_bus; bus++) {
> +        sprintf(name, "ahci-%d", bus);

Please use
snprintf(name, sizeof(name), "ahci-%d", bus);

> +        opts = qemu_opts_create(qemu_find_opts("device"), name, 1);
> +        qemu_opt_set(opts, "driver", "ahci");
> +
> +        for (i = 0; i < MAX_SATA_DEVS; i++) {
> +            DriveInfo *dinfo = drive_get(IF_SATA, bus, i);
> +
> +            if (!dinfo) {
> +               continue;
> +            }
> +
> +            sprintf(name, "ahci-%d.%d", bus, i);

snprintf(name, sizeof(name), "ahci-%d.%d", bus, i);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]