#
31e404f4 |
| 11-Jul-2012 |
Markus Armbruster <armbru@redhat.com> |
hw/block-common: Move BlockConf & friends from block.h
This stuff doesn't belong to block layer, and was put there only because a better home didn't exist then. Now it does.
Signed-off-by: Markus
hw/block-common: Move BlockConf & friends from block.h
This stuff doesn't belong to block layer, and was put there only because a better home didn't exist then. Now it does.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
6e6f61a6 |
| 10-Jul-2012 |
Markus Armbruster <armbru@redhat.com> |
ide: qdev property for BIOS CHS translation
This isn't quite orthodox. CHS translation is firmware configuration, communicated via the RTC's CMOS RAM, not a property of the disk. But it's best to
ide: qdev property for BIOS CHS translation
This isn't quite orthodox. CHS translation is firmware configuration, communicated via the RTC's CMOS RAM, not a property of the disk. But it's best to treat it just like geometry anyway.
Maintain backward compatibility exactly like for geometry: fall back to DriveInfo's translation, set with -drive trans=...
Bonus: info qtree now shows the translation. Except when it shows "auto": that's resolved by pc_cmos_init_late(). To be addressed shortly.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
ba801960 |
| 10-Jul-2012 |
Markus Armbruster <armbru@redhat.com> |
ide: qdev properties for disk geometry
Geometry needs to be qdev properties, because it belongs to the disk's guest part.
Maintain backward compatibility exactly like for serial: fall back to Drive
ide: qdev properties for disk geometry
Geometry needs to be qdev properties, because it belongs to the disk's guest part.
Maintain backward compatibility exactly like for serial: fall back to DriveInfo's geometry, set with -drive cyls=...
Do this only for ide-hd. ide-drive is legacy. ide-cd doesn't have a geometry.
Bonus: info qtree now shows the geometry.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
9139046c |
| 10-Jul-2012 |
Markus Armbruster <armbru@redhat.com> |
ide pc: Cut out the block layer geometry middleman
PC BIOS setup needs IDE geometry information. Get it directly from the device model rather than through the block layer. In preparation of purgin
ide pc: Cut out the block layer geometry middleman
PC BIOS setup needs IDE geometry information. Get it directly from the device model rather than through the block layer. In preparation of purging geometry from the block layer, which will happen later in this series.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
0d936928 |
| 02-May-2012 |
Anthony Liguori <aliguori@us.ibm.com> |
qdev: Convert busses to QEMU Object Model
This is far less interesting than it sounds. We simply add an Object to each BusState and then register the types appropriately. Most of the interesting r
qdev: Convert busses to QEMU Object Model
This is far less interesting than it sounds. We simply add an Object to each BusState and then register the types appropriately. Most of the interesting refactoring will follow in the next patches.
Since we're changing fundamental type names (BusInfo -> BusClass), it all needs to convert at once. Fortunately, not a lot of code is affected.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> [AF: Made all new bus TypeInfos static const.] [AF: Made qbus_free() call object_delete(), required {qom,glib}_allocated] Signed-off-by: Andreas Färber <afaerber@suse.de>
show more ...
|
#
bef0fd59 |
| 29-Mar-2012 |
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> |
ide: convert ide_sector_read() to asynchronous I/O
The IDE PIO interface currently uses bdrv_read() to perform reads synchronously. Synchronous I/O in the vcpu thread is bad because it prevents the
ide: convert ide_sector_read() to asynchronous I/O
The IDE PIO interface currently uses bdrv_read() to perform reads synchronously. Synchronous I/O in the vcpu thread is bad because it prevents the guest from executing code - it makes the guest unresponsive.
This patch converts IDE PIO to use bdrv_aio_readv(). We simply need to use the BUSY_STAT status so the guest knows to wait while we are busy.
The only external user of ide_sector_read() is restart behavior on I/O errors and it is not affected by this change. We still need to restart I/O in the same way.
Migration is also unaffected if I understand the code correctly. We continue to use the same transfer function and the BUSY_STAT status should never be migrated since we flush I/O before migrating device state.
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com> Tested-by: Richard Davies <richard@arachsys.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
95ebda85 |
| 13-Mar-2012 |
Floris Bos <bos@je-eigen-domein.nl> |
ide: Adds wwn=hex qdev option
Allow the user to specify a disk's World Wide Name.
Linux guests can address disks by their unique World Wide Name number (e.g. /dev/disk/by-id/wwn-0x5001517959123522)
ide: Adds wwn=hex qdev option
Allow the user to specify a disk's World Wide Name.
Linux guests can address disks by their unique World Wide Name number (e.g. /dev/disk/by-id/wwn-0x5001517959123522). This patch adds support for assigning a World Wide Name number to a virtual IDE disk.
Cc: kwolf@redhat.com Signed-off-by: Floris Bos <dev@noc-ps.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
27e0c9a1 |
| 12-Mar-2012 |
Floris Bos <bos@je-eigen-domein.nl> |
ide: Add "model=s" qdev option
Allow the user to override the default disk model name "QEMU HARDDISK".
Some Linux distributions use the /dev/disk/by-id/scsi-SATA_name-of-disk- model_serial addressi
ide: Add "model=s" qdev option
Allow the user to override the default disk model name "QEMU HARDDISK".
Some Linux distributions use the /dev/disk/by-id/scsi-SATA_name-of-disk- model_serial addressing scheme when refering to partitions in /etc/fstab and elsewhere. This causes problems when starting a disk image taken from an existing physical server under qemu, because when running under qemu name-of-disk-model is always "QEMU HARDDISK".
This patch introduces a model=s option which in combination with the existing serial=s option can be used to fake the disk the operating system was previously on, allowing the OS to boot properly.
Cc: kwolf@redhat.com Signed-off-by: Floris Bos <dev@noc-ps.com> Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
d148211c |
| 16-Dec-2011 |
Anthony Liguori <aliguori@us.ibm.com> |
ide: convert to QEMU Object Model
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
#
67cc61e4 |
| 13-Sep-2011 |
Paolo Bonzini <pbonzini@redhat.com> |
atapi/scsi: unify definitions for MMC
The definitions in ide/internal.h are duplicates, since ATAPI commands actually come from SCSI. Use the ones in scsi-defs.h and move the missing ones there. T
atapi/scsi: unify definitions for MMC
The definitions in ide/internal.h are duplicates, since ATAPI commands actually come from SCSI. Use the ones in scsi-defs.h and move the missing ones there. Two exceptions:
- MODE_PAGE_WRITE_PARMS conflicts with the "flexible disk geometry" page in scsi-disk.c. It is unused, so pick the latter.
- GPCMD_* is left in ide/internal.h, at least for now.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
4a91d3b3 |
| 16-Aug-2011 |
Richard Henderson <rth@twiddle.net> |
ide: Convert to isa_register_portio_list
Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Avi Kivity <avi@redhat.com>
|
#
1dfb4dd9 |
| 29-Jul-2011 |
Luiz Capitulino <lcapitulino@redhat.com> |
Replace the VMSTOP macros with a proper state type
Today, when notifying a VM state change with vm_state_notify(), we pass a VMSTOP macro as the 'reason' argument. This is not ideal because the VMST
Replace the VMSTOP macros with a proper state type
Today, when notifying a VM state change with vm_state_notify(), we pass a VMSTOP macro as the 'reason' argument. This is not ideal because the VMSTOP macros tell why qemu stopped and not exactly what the current VM state is.
One example to demonstrate this problem is that vm_start() calls vm_state_notify() with reason=0, which turns out to be VMSTOP_USER.
This commit fixes that by replacing the VMSTOP macros with a proper state type called RunState.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
show more ...
|
#
d1a0739d |
| 06-Sep-2011 |
Markus Armbruster <armbru@redhat.com> |
block: Move BlockConf & friends from block_int.h to block.h
It's convenience stuff for block device models, so block.h isn't the ideal home either, but better than block_int.h.
Permits moving some
block: Move BlockConf & friends from block_int.h to block.h
It's convenience stuff for block device models, so block.h isn't the ideal home either, but better than block_int.h.
Permits moving some #include "block_int.h" from device model .h into .c.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
a0a7573b |
| 06-Sep-2011 |
Markus Armbruster <armbru@redhat.com> |
ide/atapi: Track tray locked state
We already track it in BlockDriverState. Just like tray open/close state, we should track it in the device models instead, because it's device state.
Signed-off-
ide/atapi: Track tray locked state
We already track it in BlockDriverState. Just like tray open/close state, we should track it in the device models instead, because it's device state.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
dd063333 |
| 06-Sep-2011 |
Markus Armbruster <armbru@redhat.com> |
ide/atapi: Track tray open/close state
We already track it in BlockDriverState since commit 4be9762a. As discussed in that commit's message, we should track it in the device device models instead,
ide/atapi: Track tray open/close state
We already track it in BlockDriverState since commit 4be9762a. As discussed in that commit's message, we should track it in the device device models instead, because it's device state.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
1d4316d3 |
| 03-Aug-2011 |
Markus Armbruster <armbru@redhat.com> |
ide: Update command code definitions as per ACS-2 Table B.2
Drop WIN_SRST, it has the same value as WIN_DEVICE_RESET.
Drop unused WIN_RESTORE, it has the same value as WIN_RECAL.
Drop codes that a
ide: Update command code definitions as per ACS-2 Table B.2
Drop WIN_SRST, it has the same value as WIN_DEVICE_RESET.
Drop unused WIN_RESTORE, it has the same value as WIN_RECAL.
Drop codes that are not implemented and long obsolete: WIN_READ_LONG, WIN_READ_LONG_ONCE, WIN_WRITE_LONG, WIN_WRITE_LONG_ONCE, WIN_FORMAT (all obsolete since ATA4), WIN_ACKMEDIACHANGE, WIN_POSTBOOT, WIN_PREBOOT (obsolete since ATA3), WIN_WRITE_SAME (obsolete since ATA3, code reused for something else in ACS2), WIN_IDENTIFY_DMA (obsolete since ATA4).
Drop codes that are not implemented and vendor-specific: EXABYTE_ENABLE_NEST, DISABLE_SEAGATE.
Drop WIN_INIT, it isn't implemented, its value used to be reserved, and is used for something else since ATA8.
CFA_IDLEIMMEDIATE isn't specific to CFATA. ACS-2 shows it as a defined command in ATA-1, -2 and -3. Rename to WIN_IDLEIMMEDIATE2.
Mark vendor specific, retired, and obsolete codes.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
a597e79c |
| 25-Aug-2011 |
Christoph Hellwig <hch@lst.de> |
block: explicit I/O accounting
Decouple the I/O accounting from bdrv_aio_readv/writev/flush and make the hardware models call directly into the accounting helpers.
This means: - we do not count in
block: explicit I/O accounting
Decouple the I/O accounting from bdrv_aio_readv/writev/flush and make the hardware models call directly into the accounting helpers.
This means: - we do not count internal requests from image formats in addition to guest originating I/O - we do not double count I/O ops if the device model handles it chunk wise - we only account I/O once it actuall is done - can extent I/O accounting to synchronous or coroutine I/O easily - implement I/O latency tracking easily (see the next patch)
I've conveted the existing device model callers to the new model, device models that are using synchronous I/O and weren't accounted before haven't been updated yet. Also scsi hasn't been converted to the end-to-end accounting as I want to defer that after the pending scsi layer overhaul.
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
d353fb72 |
| 19-May-2011 |
Christoph Hellwig <hch@lst.de> |
ide: add TRIM support
Add support for TRIM sub function of the data set management command, and wire it up to the qemu discard infrastructure.
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-o
ide: add TRIM support
Add support for TRIM sub function of the data set management command, and wire it up to the qemu discard infrastructure.
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
4e1e0051 |
| 19-May-2011 |
Christoph Hellwig <hch@lst.de> |
ide: allow other dma comands than read and write
Replace the is_read flag with a dma_cmd flag to allow the dma and restart logic to handler other commands like TRIM.
Signed-off-by: Christoph Hellwi
ide: allow other dma comands than read and write
Replace the is_read flag with a dma_cmd flag to allow the dma and restart logic to handler other commands like TRIM.
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
def93791 |
| 26-May-2011 |
Kevin Wolf <kwolf@redhat.com> |
ide: Split error status from status register
When adding the werror=stop mode, some flags were added to s->status which are used to determine what kind of operation should be restarted when the VM i
ide: Split error status from status register
When adding the werror=stop mode, some flags were added to s->status which are used to determine what kind of operation should be restarted when the VM is continued.
Unfortunately, it turns out that s->status is in fact a device register and as such is visible to the guest (some of the abused bits are even writable for the guest).
For migration we keep on using the old VMState field (renamed to migration_compat_status) if the status register doesn't use any of the previously abused bits. If it does, we use a subsection with a clean copy of the status register.
The error status is always sent in a subsection if there is any error. It can't use the old field because errors happen even without PCI.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
1f56e32a |
| 16-May-2011 |
Markus Armbruster <armbru@redhat.com> |
ide: Split qdev "ide-drive" into "ide-hd" and "ide-cd"
An "ide-drive" is either a hard disk or a CD-ROM, depending on the associated BlockDriverState's type hint. Unclean; disk vs. CD belongs to th
ide: Split qdev "ide-drive" into "ide-hd" and "ide-cd"
An "ide-drive" is either a hard disk or a CD-ROM, depending on the associated BlockDriverState's type hint. Unclean; disk vs. CD belongs to the guest part, not the host part.
Have separate qdevs "ide-hd" and "ide-cd" to model disk vs. CD in the guest part.
Keep ide-drive for backward compatibility.
"ide-disk" would perhaps be a nicer name than "ide-hd", but there's already "scsi-disk", which is like "ide-drive", and will be likewise split in the next commit. {ide,scsi}-{hd,cd} is the best consistent set of names I could find within the backward compatibility straightjacket.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
33231e0e |
| 18-Apr-2011 |
Kevin Wolf <kwolf@redhat.com> |
ide: Split atapi.c out
Besides moving code, this patch only fixes some whitespace issues in the moved code and makes all functions in atapi.c static which can be static.
Signed-off-by: Kevin Wolf <
ide: Split atapi.c out
Besides moving code, this patch only fixes some whitespace issues in the moved code and makes all functions in atapi.c static which can be static.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
996faf1a |
| 12-Apr-2011 |
Amit Shah <amit.shah@redhat.com> |
atapi: GESN: implement 'media' subcommand
Implement the 'media' sub-command of the GET_EVENT_STATUS_NOTIFICATION command. This helps us report tray open, tray closed, no media, media present states
atapi: GESN: implement 'media' subcommand
Implement the 'media' sub-command of the GET_EVENT_STATUS_NOTIFICATION command. This helps us report tray open, tray closed, no media, media present states to the guest.
Newer Linux kernels (2.6.38+) rely on this command to revalidate discs after media change.
This patch also sends out tray open/closed status to the guest driver when requested e.g. via the CDROM_DRIVE_STATUS ioctl (thanks Markus). Without such notification, the guest and qemu's tray open/close status was frequently out of sync, causing installers like Anaconda detecting no disc instead of tray open, confusing them terribly.
Signed-off-by: Amit Shah <amit.shah@redhat.com> Acked-by: Jes Sorensen <Jes.Sorensen@redhat.com> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
cd369c46 |
| 20-Dec-2010 |
Christoph Hellwig <hch@lst.de> |
ide: factor dma handling helpers
Factor the DMA I/O path that is duplicated between read and write commands, into common helpers using the s->is_read flag added for the macio ATA controller.
Signed
ide: factor dma handling helpers
Factor the DMA I/O path that is duplicated between read and write commands, into common helpers using the s->is_read flag added for the macio ATA controller.
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
ccf0fd8b |
| 14-Dec-2010 |
Roland Elek <elek.roland@gmail.com> |
ide: add ncq identify data for ahci sata drives
I modified ide_identify() to include the zero-based queue length value in word 75, and set bit 8 in word 76 to signal NCQ support in the identify data
ide: add ncq identify data for ahci sata drives
I modified ide_identify() to include the zero-based queue length value in word 75, and set bit 8 in word 76 to signal NCQ support in the identify data for AHCI SATA drives.
Signed-off-by: Roland Elek <elek.roland@gmail.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|