[Top][All Lists]
[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);
- [Qemu-devel] [PATCH 00/11] AHCI emulation support v5, Alexander Graf, 2010/11/25
- [Qemu-devel] [PATCH 07/11] pci: add ich7 pci id, Alexander Graf, 2010/11/25
- [Qemu-devel] [PATCH 06/11] pci: add storage class for sata, Alexander Graf, 2010/11/25
- [Qemu-devel] [PATCH 05/11] ide: add ncq identify data for ahci sata drives, Alexander Graf, 2010/11/25
- [Qemu-devel] [PATCH 04/11] ide: add DMA hooks to bus ops, Alexander Graf, 2010/11/25
- [Qemu-devel] [PATCH 01/11] ide: split ide command interpretation off, Alexander Graf, 2010/11/25
- [Qemu-devel] [PATCH 10/11] ahci: spawn controller on demand, Alexander Graf, 2010/11/25
- [Qemu-devel] Re: [PATCH 10/11] ahci: spawn controller on demand,
Blue Swirl <=
- [Qemu-devel] [PATCH 03/11] ide: add support for ide bus ops, Alexander Graf, 2010/11/25
- [Qemu-devel] [PATCH 09/11] ahci: add -drive support, Alexander Graf, 2010/11/25
- [Qemu-devel] [PATCH 11/11] ide: move pata specific parts to pata.c, Alexander Graf, 2010/11/25
- [Qemu-devel] [PATCH 02/11] ide: fix whitespace gap in ide_exec_cmd, Alexander Graf, 2010/11/25
- [Qemu-devel] [PATCH 08/11] ahci: add ahci emulation, Alexander Graf, 2010/11/25