[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 08/11] ahci: add ahci emulation
From: |
Isaku Yamahata |
Subject: |
Re: [Qemu-devel] [PATCH 08/11] ahci: add ahci emulation |
Date: |
Thu, 25 Nov 2010 20:14:14 +0900 |
User-agent: |
Mutt/1.5.19 (2009-01-05) |
On Thu, Nov 25, 2010 at 08:07:39AM +0100, Alexander Graf wrote:
> +static int pci_ahci_init(PCIDevice *dev)
> +{
> + struct AHCIPCIState *d;
> + d = DO_UPCAST(struct AHCIPCIState, card, dev);
> +
> + pci_config_set_vendor_id(d->card.config, PCI_VENDOR_ID_INTEL);
> + pci_config_set_device_id(d->card.config,
> + PCI_DEVICE_ID_INTEL_ICH7_AHCI_RAID);
> + d->card.config[PCI_COMMAND] = PCI_COMMAND_IO | PCI_COMMAND_MEMORY |
> + PCI_COMMAND_MASTER;
command register is 16bit width. So please use pci_set_word().
> + pci_config_set_class(d->card.config, PCI_CLASS_STORAGE_SATA);
> + pci_config_set_prog_interface(d->card.config, AHCI_PROGMODE_MAJOR_REV_1);
> +
> + d->card.config[PCI_CACHE_LINE_SIZE] = 0x08; /* Cache line size */
> + d->card.config[PCI_LATENCY_TIMER] = 0x00; /* Latency timer */
> + d->card.config[PCI_HEADER_TYPE] = PCI_HEADER_TYPE_NORMAL;
Please don't overwrite multifunction bit. Just drop this line, then
pci generic layer will take care of it.
> + pci_config_set_interrupt_pin(d->card.config, 1);
> +
> + qemu_register_reset(ahci_reset, d);
> +
> + /* XXX BAR size should be 1k, but that breaks, so bump it to 4k for now
> */
> + pci_register_bar(&d->card, 5, 0x1000, PCI_BASE_ADDRESS_SPACE_MEMORY,
> + ahci_pci_map);
> +
> + msi_init(dev, 0x50, 1, true, false);
> +
> + ahci_init(&d->ahci, &dev->qdev);
> + d->ahci.irq = d->card.irq[0];
> +
> + return 0;
> +}
--
yamahata
- [Qemu-devel] [PATCH 05/11] ide: add ncq identify data for ahci sata drives, (continued)
- [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] [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
- Re: [Qemu-devel] [PATCH 08/11] ahci: add ahci emulation,
Isaku Yamahata <=