diff --git a/doc/developer-guides/hld/hld-emulated-devices.rst b/doc/developer-guides/hld/hld-emulated-devices.rst index 5217b3592..78e1c55ba 100644 --- a/doc/developer-guides/hld/hld-emulated-devices.rst +++ b/doc/developer-guides/hld/hld-emulated-devices.rst @@ -18,3 +18,4 @@ documented in this section. GVT-g GPU Virtualization UART emulation in hypervisor RTC emulation in hypervisor + Hostbridge emulation diff --git a/doc/developer-guides/hld/hostbridge-virt-hld.rst b/doc/developer-guides/hld/hostbridge-virt-hld.rst new file mode 100644 index 000000000..dd583d358 --- /dev/null +++ b/doc/developer-guides/hld/hostbridge-virt-hld.rst @@ -0,0 +1,42 @@ +.. _hostbridge_virt_hld: + +Hostbridge emulation +#################### + +Overview +******** + +Hostbridge emulation is based on PCI emulation. However hostbridge emulation only sets PCI configuration space. Device model set the PCI configuration space for hostbridge in Service VM, then expose to User VM to detect the PCI hostbridge. + +PCI Host Bridge and hierarchy +***************************** + +There is PCI host bridge emulation in DM. The bus hierarchy is determined by ``acrn-dm`` command line input. Using this command line, as an example:: + + acrn-dm -A -m $mem_size -s 0:0,hostbridge \ + -s 2,pci-gvt -G "$2" \ + -s 5,virtio-console,@stdio:stdio_port \ + -s 6,virtio-hyper_dmabuf \ + -s 3,virtio-blk,/home/clear/uos/uos.img \ + -s 4,virtio-net,tap0 \ + -s 7,virtio-rnd \ + --ovmf /usr/share/acrn/bios/OVMF.fd \ + $pm_channel $pm_by_vuart $pm_vuart_node \ + $logger_setting \ + --mac_seed $mac_seed \ + $vm_name + +the bus hierarchy would be: + +.. code-block:: console + + # lspci + 00:00.0 Host bridge: Network Appliance Corporation Device 1275 + 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] + 00:03.0 SCSI storage controller: Red Hat, Inc. Virtio block device + 00:05.0 Serial controller: Red Hat, Inc. Virtio console + 00:06.0 RAM memory: Intel Corporation Device 8606 + 00:08.0 Network and computing encryption device: Red Hat, Inc. Virtio RNG + 00:09.0 Ethernet controller: Red Hat, Inc. Virtio network device + +.. note:: For Clear Linux OS, the ``lspci`` command can be installed from the ``sysadmin-basic`` bundle.