RE: Xilinx zcu102 machine is absent in list of supported machines

2024-03-05 Thread Vadim Idelchuk
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

2024-03-05 Thread Peter Maydell
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

2024-03-05 Thread Vadim Idelchuk


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) ?

2024-03-05 Thread Xu Liu
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
>>> 
>>