AMDESE / AMDSEV

AMD Secure Encrypted Virtualization
294 stars 85 forks source link

virtio-balloon is not working #171

Open GToad opened 1 year ago

GToad commented 1 year ago

Sorry for help.

I'm trying SEV-SNP with VMPL0, but I find virtio-balloon is not working. Here's my command:

./qemu-svsm/build/qemu-system-x86_64
  -enable-kvm \
  -cpu EPYC-v4,host-phys-bits=true \
  -smp 4 \
  -machine type=q35,confidential-guest-support=sev0,memory-backend=ram1,kvm-type=protected,vmport=off,svsm=linux-svsm/svsm.bin \
  -object memory-backend-memfd-private,id=ram1,size=4G,share=true \
  -object sev-snp-guest,id=sev0,policy=0x30000,cbitpos=51,reduced-phys-bits=1,init-flags=0x4,host-data=b2l3bmNvd3FuY21wbXA \
  -drive if=pflash,format=raw,unit=0,file=/home/cjh/cpc-vmpl0/ovmf/Build/OvmfX64/DEBUG_GCC5/FV/OVMF_CODE.fd,readonly=on \
  -drive if=pflash,format=raw,unit=1,file=./guest.fd \
  -drive file=./assets/guest.qcow2,if=none,id=disk0,format=qcow2 \
  -device virtio-scsi-pci,id=scsi0,disable-legacy=on,iommu_platform=true -device scsi-hd,drive=disk0 
  -nographic \
  -kernel ./guest-linux-svsm/arch/x86/boot/bzImage -append "console=ttyS0 earlyprintk=serial root=/dev/sda1" 
  -monitor telnet:localhost:9000,server \
  -device pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2 \
  -device pcie-root-port,port=0x14,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x4 \
  -device virtio-balloon-pci,id=balloon0,bus=pci.6,addr=0x0,iommu_platform=on \
  -initrd ./assets/initrd/initramfs-svsm-new.cpio.gz \
  -monitor pty \
  -monitor unix:monitor,server,nowait \
  -netdev user,id=vmnic \
  -device e1000,netdev=vmnic,romfile= \

Whenever I input QEMU command "balloon 4000" or "balloon 5000", the result of "info balloon" always returns 4096.

The guest Linux outputs:

virtio_balloon virtio1: device must provide VIRTIO_F_ACCESS_PLATFORM