new file mode 100644
@@ -0,0 +1,104 @@
+/*
+ * Copyright 2019, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+
+Multi-process QEMU
+
+This document describes how to configure and use multi-process qemu.
+For the design document refer to docs/devel/qemu-multiprocess.
+
+Configure
+
+To enable support for multi-process add --enable-mpqemu
+to the list of options for configure.
+
+Usage
+
+Command line
+
+To start qemu with devices intended to run in the separate emulation
+process, the following options are used:
+
+ -rdevice, -rdrive:
+ this is similar to -device option, with only difference being
+ the "rid" option that identifies the remote process.
+
+For exmaple, for non multi-process qemu:
+ -device lsi53c895a,id=scsi0 device
+ -device scsi-hd,drive=drive0,bus=scsi0.0,scsi-id=0
+ -drive id=drive0,file=data-disk.img
+
+and for multi-process qemu:
+ -rdevice lsi53c895a,id=scsi0,rid=0
+ -rdevice scsi-hd,drive=drive0,bus=scsi0.0,scsi-id=0,rid=0
+ -rdrive id=drive0,file=data-disk.img,rid=0
+
+
+The memorybackend object has to be specified on the command line:
+-object memory-backend-file,id=mem,mem-path=/dev/shm/,size=4096M,share=on
+
+
+Example of running scsi drive in the guest in separate qemu
+process:
+
+qemu-system-x86_64 -enable-kvm -machine q35 -smp 4 -m 4096M -vnc :0 \
+-net nic -net user,hostfwd=tcp::5022-:22 -hda os.qcow2 \
+-rdevice lsi53c895a,rid=0,id=scsi0 \
+-rdevice scsi-hd,rid=0,drive=drive0,bus=scsi0.0,scsi-id=0 \
+-rdrive id=drive0,rid=0,file=data-disk.img \
+-object memory-backend-file,id=mem,mem-path=/dev/shm/,size=4096M,share=on -numa node,memdev=mem
+
+HMP commands
+
+For hotplugging in multi-process qemu the following commands
+can be used:
+
+- rdevice_add;
+- rdevice_del;
+- rdrive_add;
+- rdrive_del;
+- remote_proc_list
+
+Example:
+
+qemu-system-x86_64 -enable-kvm -machine q35 -smp 4 -m 4096M -vnc :0 \
+-net nic -net user,hostfwd=tcp::5022-:22 \
+-drive file=/root/ol7.qcow2,format=raw \
+-rdevice lsi53c895a,rid=0,id=scsi0 \
+-object memory-backend-file,id=mem,mem-path=/dev/shm/,size=4096M,share=on \
+-numa node,memdev=mem \
+-monitor stdio
+
+(qemu) rdrive_add 0 drive0 file=/root/cirros-0.4.0-x86_64-disk.img
+(qemu) rdevice_add 0 scsi-hd drive1 drive0 scsi0.0
+(qemu) remote_proc_list
+ PID RID QEMU ID PROCESS NAME
+
+00011079 0 drive0 qemu-scsi-dev
+00011079 0 drive1 qemu-scsi-dev
+00011079 0 0 qemu-scsi-dev
+
+After running rescan_scsi_bus.sh -a, guest will be able to identify newly
+added devices.
+
+
+