mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-11-05 11:31:14 +00:00
63c30a6e79
When VFIO devices are created and if the device is attached to the virtual IOMMU, the ExternalDmaMapping trait implementation is created and associated with the device. The idea is to build a hash map of device IDs with their associated trait implementation. This hash map is provided to the virtual IOMMU device so that it knows how to properly trigger external mappings associated with VFIO devices. Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
55 lines
1.6 KiB
Plaintext
55 lines
1.6 KiB
Plaintext
#cloud-config
|
|
users:
|
|
- name: cloud
|
|
passwd: $6$7125787751a8d18a$sHwGySomUA1PawiNFWVCKYQN.Ec.Wzz0JtPPL1MvzFrkwmop2dq7.4CYf03A5oemPQ4pOFCCrtCelvFBEle/K.
|
|
sudo:
|
|
- ALL=(ALL) NOPASSWD:ALL
|
|
write_files:
|
|
-
|
|
path: /etc/systemd/network/00-static-l1.network
|
|
permissions: 0644
|
|
content: |
|
|
[Match]
|
|
MACAddress=12:34:56:78:90:ab
|
|
|
|
[Network]
|
|
Address=192.168.2.2/24
|
|
Gateway=192.168.2.1
|
|
|
|
-
|
|
path: /etc/systemd/network/00-static-l2.network
|
|
permissions: 0644
|
|
content: |
|
|
[Match]
|
|
MACAddress=de:ad:be:ef:12:34
|
|
|
|
[Network]
|
|
Address=192.168.2.3/24
|
|
Gateway=192.168.2.1
|
|
|
|
-
|
|
path: /etc/systemd/system/vfio.service
|
|
permissions: 0644
|
|
content: |
|
|
[Unit]
|
|
Description=VFIO test systemd service
|
|
|
|
[Service]
|
|
Type=simple
|
|
ExecStart=/bin/bash /usr/bin/cloud-hypervisor-vfio.sh
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
|
|
-
|
|
path: /usr/bin/cloud-hypervisor-vfio.sh
|
|
permissions: 0755
|
|
content: |
|
|
#!/bin/bash
|
|
|
|
mount -t virtio_fs virtiofs /mnt -o rootmode=040000,user_id=0,group_id=0,dax
|
|
bash -c "echo 0000:00:05.0 > /sys/bus/pci/devices/0000\:00\:05.0/driver/unbind"
|
|
bash -c "echo 1af4 1041 > /sys/bus/pci/drivers/vfio-pci/new_id"
|
|
|
|
/mnt/cloud-hypervisor --kernel /mnt/vmlinux --cmdline "console=hvc0 reboot=k panic=1 nomodules i8042.noaux i8042.nomux i8042.nopnp i8042.dumbkbd root=/dev/vda2 VFIOTAG" --disk path=/mnt/clear-cloudguest.img path=/mnt/cloudinit.img --cpus 1 --memory size=512M --rng --device path=/sys/bus/pci/devices/0000:00:05.0/
|