|
From: | Gerd Hoffmann |
Subject: | Re: [Qemu-devel] [PATCH 03/10] ide: add support for ide extenders |
Date: | Wed, 17 Nov 2010 09:57:36 +0100 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.9) Gecko/20100827 Red Hat/3.1.3-1.el6 Thunderbird/3.1.3 |
Hi,
+/* This struct represents a device that uses an IDE bus, but requires + * modifications to how it works. An example is AHCI. */ +struct IDEExtender { + TransferStartFunc *transfer_start_fn; + IRQSetFunc *irq_set_fn; + DMAStartFunc *dma_start_fn; +};
Hmm, I'd call that IDEBusOps or simliar.
struct IDEBus { BusState qbus; IDEDevice *master; IDEDevice *slave; BMDMAState *bmdma; IDEState ifs[2]; + IDEExtender extender;
IDEBusOps *ops;Note this is a pointer now, so you can have static IDEBusOps structs and just set the ops pointer instead of filling in three function pointers.
cheers, Gerd
[Prev in Thread] | Current Thread | [Next in Thread] |