acrn-hypervisor/devicemodel
Vijay Dhanraj 71b56e0eed DM: Virtio-Blk Rescan
This patch adds support to trigger rescan of virtio-blk device by the
guest VM. This is an alternate to hot-plugging virtio-blk device.
This feature stems from the kata requirement, which hot-plugs container
rootfs after the VM is launched.

As part of virtio-blk rescan,
1. Update the backing file for the virtio-blk device with valid file.
   Basically update the empty file (with dummy bctxt) that was passed
   during VM launch.
2. Update virtio-blk device configurations for udpated backing file.
3. Update size associated with valid backing file in the config space.
4. Notify guest OS, of the new config change.
5. On this notification, guest will do the following.
	(i). Update virtio-blk capacity.
 	(ii). Revalidate the disk.
 	(iii). Identify the newly plugged block device.

v5 -> v6:
- Removed use of dummy file and added a new parameter "nodisk"
  to virtio-blk which indicates user wants to create a virtio-blk
  device with dummy backend.
- Moved vm_monitor_rescan from pci core to virtio-blk as it currently
  applies to only virtio-blk.

v4 -> v5:
- Reverted back logic, so that blkrescan is only supported when
  VM is launched with empty backend file.

v3 -> v4:
- Close block context before allocating a new one
- Allow backend filepath  with additional options to be more generic
- Remove blank lines introduced as part of previous patches.

v2 -> v3:
- Renamed vdev ops vdev_blk rescan to vdev_rescan
- Renamed montior ops virtio_blkrescan_ops to virtio_rescan_ops
- Consolidated virtio-blk configuration specific part into
  a separate function
- Removed size requirement in acrnctl command.

v1 -> v2:
- Added more comments in the code.
- Renamed APIs from displug to blkrescan, inline with acrnctl cmd.
- Split the patch into two. This corresponds to changes in acrn-dm.

Tracked-On: #3051
Signed-off-by: Vijay Dhanraj <vijay.dhanraj@intel.com>
Acked-by: Yu Wang <yu1.wang@intel.com>
2019-05-07 09:08:50 +08:00
..
arch/x86 dm: pm: mask the higher bits of parameter of smi_cmd handler 2019-04-16 15:03:04 +08:00
bios OVMF release v0.8 2019-04-01 12:39:42 +08:00
core DM: Virtio-Blk Rescan 2019-05-07 09:08:50 +08:00
hw DM: Virtio-Blk Rescan 2019-05-07 09:08:50 +08:00
include DM: Virtio-Blk Rescan 2019-05-07 09:08:50 +08:00
lib dm: Fix some issues from string operations 2018-12-25 18:40:04 +08:00
log DM: add logger setting parser function 2019-05-05 19:13:07 +08:00
samples DM: add logger params in launch script for NUC&UP2 2019-05-05 19:13:07 +08:00
vmcfg dm: remove "acrn_" prefix from tap name 2019-04-09 10:59:45 +08:00
MAINTAINERS update home page information 2018-05-15 17:19:39 +08:00
Makefile DM: add kmsg logger to sync with kernel log 2019-05-05 19:13:07 +08:00
README.rst Documentation: clean-up of isolated README.rst files 2018-11-20 11:09:53 -08:00

README.rst

ACRN Device Model
#################

Introduction
============
The ACRN Device Model provides **device sharing** capabilities between the
Service OS and Guest OSs. It is a component that is used in conjunction with
the `ACRN Hypervisor`_ and this is installed within the Service OS. You can
find out more about Project ACRN on the `Project ACRN documentation`_ website.

.. _`ACRN Hypervisor`: https://github.com/projectacrn/acrn-hypervisor
.. _`Project ACRN documentation`: https://projectacrn.github.io/