RE: Xilinx zcu102 machine is absent in list of supported machines
Hi, Thank you very much - the problem solved. Best regards Vadim Idelchuk vadim.idelc...@mail.ru -Original Message- From: qemu-discuss-bounces+vadim.idelchuk=mail...@nongnu.org [mailto:qemu-discuss-bounces+vadim.idelchuk=mail...@nongnu.org] On Behalf Of Peter Maydell Sent: Tuesday, March 5, 2024 9:47 PM To: Vadim Idelchuk Cc: qemu-discuss@nongnu.org Subject: Re: Xilinx zcu102 machine is absent in list of supported machines On Tue, 5 Mar 2024 at 18:31, Vadim Idelchuk via wrote: > The additional information about my build: Thanks for that. Yeah, you're missing only this machine type. I had a poke around in the config files, and I think this is because the machine has a dependency on pixman, so if configure doesn't find the pixman library dev files, it will disable all the optional things that need pixman, including this machine type. If you pass configure "--enable-pixman" it should produce an error if you're missing the necessary files to build the pixman related parts of QEMU. Depending on your host distro the required package name might vary, but on Debian/Ubuntu it is libpixman-1-dev. thanks -- PMM -- This email has been checked for viruses by Avast antivirus software. www.avast.com
Re: Xilinx zcu102 machine is absent in list of supported machines
On Tue, 5 Mar 2024 at 18:31, Vadim Idelchuk via wrote: > The additional information about my build: Thanks for that. Yeah, you're missing only this machine type. I had a poke around in the config files, and I think this is because the machine has a dependency on pixman, so if configure doesn't find the pixman library dev files, it will disable all the optional things that need pixman, including this machine type. If you pass configure "--enable-pixman" it should produce an error if you're missing the necessary files to build the pixman related parts of QEMU. Depending on your host distro the required package name might vary, but on Debian/Ubuntu it is libpixman-1-dev. thanks -- PMM
RE: Xilinx zcu102 machine is absent in list of supported machines
Hi, The additional information about my build: - qemu build cmd: mkdir build cd build ../configure make - git status: On branch master Your branch is up to date with 'origin/master'. nothing to commit, working tree clean - version: ./build/qemu-system-aarch64 –version QEMU emulator version 8.2.50 (v8.2.0-1947-ge1007b6bab - list of supported machines: ./build/qemu-system-aarch64 --machine help Supported machines are: akitaSharp SL-C1000 (Akita) PDA (PXA270) ast1030-evb Aspeed AST1030 MiniBMC (Cortex-M4) ast2500-evb Aspeed AST2500 EVB (ARM1176) ast2600-evb Aspeed AST2600 EVB (Cortex-A7) b-l475e-iot01a B-L475E-IOT01A Discovery Kit (Cortex-M4) bletchley-bmcFacebook Bletchley BMC (Cortex-A7) borzoi Sharp SL-C3100 (Borzoi) PDA (PXA270) bpim2u Bananapi M2U (Cortex-A7) canon-a1100 Canon PowerShot A1100 IS (ARM946) cheetah Palm Tungsten|E aka. Cheetah PDA (OMAP310) collie Sharp SL-5500 (Collie) PDA (SA-1110) connex Gumstix Connex (PXA255) cubieboard cubietech cubieboard (Cortex-A8) emcraft-sf2 SmartFusion2 SOM kit from Emcraft (M2S010) fby35-bmcFacebook fby35 BMC (Cortex-A7) fby35Meta Platforms fby35 fp5280g2-bmc Inspur FP5280G2 BMC (ARM1176) fuji-bmc Facebook Fuji BMC (Cortex-A7) g220a-bmcBytedance G220A BMC (ARM1176) highbank Calxeda Highbank (ECX-1000) imx25-pdkARM i.MX25 PDK board (ARM926) integratorcp ARM Integrator/CP (ARM926EJ-S) kudo-bmc Kudo BMC (Cortex-A9) kzm ARM KZM Emulation Baseboard (ARM1136) lm3s6965evb Stellaris LM3S6965EVB (Cortex-M3) lm3s811evb Stellaris LM3S811EVB (Cortex-M3) mainstoneMainstone II (PXA27x) mcimx6ul-evk Freescale i.MX6UL Evaluation Kit (Cortex-A7) mcimx7d-sabreFreescale i.MX7 DUAL SABRE (Cortex-A7) microbit BBC micro:bit (Cortex-M0) midway Calxeda Midway (ECX-2000) mori-bmc Mori BMC (Cortex-A9) mps2-an385 ARM MPS2 with AN385 FPGA image for Cortex-M3 mps2-an386 ARM MPS2 with AN386 FPGA image for Cortex-M4 mps2-an500 ARM MPS2 with AN500 FPGA image for Cortex-M7 mps2-an505 ARM MPS2 with AN505 FPGA image for Cortex-M33 mps2-an511 ARM MPS2 with AN511 DesignStart FPGA image for Cortex-M3 mps2-an521 ARM MPS2 with AN521 FPGA image for dual Cortex-M33 mps3-an524 ARM MPS3 with AN524 FPGA image for dual Cortex-M33 mps3-an536 ARM MPS3 with AN536 FPGA image for Cortex-R52 mps3-an547 ARM MPS3 with AN547 FPGA image for Cortex-M55 musca-a ARM Musca-A board (dual Cortex-M33) musca-b1 ARM Musca-B1 board (dual Cortex-M33) musicpal Marvell 88w8618 / MusicPal (ARM926EJ-S) n800 Nokia N800 tablet aka. RX-34 (OMAP2420) n810 Nokia N810 tablet aka. RX-44 (OMAP2420) netduino2Netduino 2 Machine (Cortex-M3) netduinoplus2Netduino Plus 2 Machine (Cortex-M4) none empty machine npcm750-evb Nuvoton NPCM750 Evaluation Board (Cortex-A9) nuri Samsung NURI board (Exynos4210) olimex-stm32-h405Olimex STM32-H405 (Cortex-M4) orangepi-pc Orange Pi PC (Cortex-A7) palmetto-bmc OpenPOWER Palmetto BMC (ARM926EJ-S) qcom-dc-scm-v1-bmc Qualcomm DC-SCM V1 BMC (Cortex A7) qcom-firework-bmcQualcomm DC-SCM V1/Firework BMC (Cortex A7) quanta-gbs-bmc Quanta GBS (Cortex-A9) quanta-gsj Quanta GSJ (Cortex-A9) quanta-q71l-bmc Quanta-Q71l BMC (ARM926EJ-S) rainier-bmc IBM Rainier BMC (Cortex-A7) raspi0 Raspberry Pi Zero (revision 1.2) raspi1ap Raspberry Pi A+ (revision 1.1) raspi2b Raspberry Pi 2B (revision 1.1) raspi3ap Raspberry Pi 3A+ (revision 1.0) raspi3b Raspberry Pi 3B (revision 1.2) raspi4b Raspberry Pi 4B (revision 1.5) realview-eb ARM RealView Emulation Baseboard (ARM926EJ-S) realview-eb-mpcore ARM RealView Emulation Baseboard (ARM11MPCore) realview-pb-a8 ARM RealView Platform Baseboard for Cortex-A8 realview-pbx-a9 ARM RealView Platform Baseboard Explore for Cortex-A9 romulus-bmc OpenPOWER Romulus BMC (ARM1176) sabreliteFreescale i.MX6 Quad SABRE Lite Board (Cortex-A9) sbsa-ref QEMU 'SBSA Reference' ARM Virtual Machine smdkc210 Samsung SMDKC210 board (Exynos4210) sonorapass-bmc OCP SonoraPass BMC (ARM1176) spitzSharp SL-C3000 (Spitz) PDA (PXA270) stm32vldiscovery ST STM32VLDISCOVERY (Cortex-M3) supermicro-x11spi-bmc Supermicro X11 SPI BMC (ARM1176) supermicrox11-bmcSupermicro X11 BMC (A
Re: Why does the vmovdqu works for passthrough device but crashes for emulated device with "illegal operand" error (in x86_64 QEMU, -accel = kvm) ?
Thanks Jim! > On Mar 4, 2024, at 10:10 PM, Jim Mattson wrote: > > !---| > This Message Is From an External Sender > > |---! > > On Mon, Mar 4, 2024 at 6:11 PM Xu Liu wrote: >> >> Hey Alex and Paolo, >> >> I saw there is some code related to AVX >> https://elixir.bootlin.com/linux/latest/source/arch/x86/kvm/emulate.c#L668 >> >> Does that mean in some special cases, kvm supports AVX instructions ? >> I didn’t really know the big picture, so just guess what it is doing . > > The Avx bit was added in commit 1c11b37669a5 ("KVM: x86 emulator: add > support for vector alignment"). It is not used. > >> Thanks, >> Xu >> >>> On Mar 4, 2024, at 6:39 PM, Paolo Bonzini wrote: >>> >>> !---| >>> This Message Is From an External Sender >>> >>> |---! >>> >>> On 3/4/24 22:59, Alex Williamson wrote: Since you're not seeing a KVM_EXIT_MMIO I'd guess this is more of a KVM issue than QEMU (Cc kvm list). Possibly KVM doesn't emulate vmovdqu relative to an MMIO access, but honestly I'm not positive that AVX instructions are meant to work on MMIO space. I'll let x86 KVM experts more familiar with specific opcode semantics weigh in on that. >>> >>> Indeed, KVM's instruction emulator supports some SSE MOV instructions but >>> not the corresponding AVX instructions. >>> >>> Vector instructions however do work on MMIO space, and they are used >>> occasionally especially in combination with write-combining memory. SSE >>> support was added to KVM because some operating systems used SSE >>> instructions to read and write to VRAM. However, so far we've never >>> received any reports of OSes using AVX instructions on devices that QEMU >>> can emulate (as opposed to, for example, GPU VRAM that is passed through). >>> >>> Thanks, >>> >>> Paolo >>> Is your "program" just doing a memcpy() with an mmap() of the PCI BAR acquired through pci-sysfs or a userspace vfio-pci driver within the guest? In QEMU 4a2e242bbb30 ("memory: Don't use memcpy for ram_device regions") we resolved an issue[1] where QEMU itself was doing a memcpy() to assigned device MMIO space resulting in breaking functionality of the device. IIRC memcpy() was using an SSE instruction that didn't fault, but didn't work correctly relative to MMIO space either. So I also wouldn't rule out that the program isn't inherently misbehaving by using memcpy() and thereby ignoring the nature of the device MMIO access semantics. Thanks, Alex [1]https://bugs.launchpad.net/qemu/+bug/1384892 >>> >>