qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 5/6] target/arm: Do memory type alignment check when trans


From: Richard Henderson
Subject: Re: [PATCH v3 5/6] target/arm: Do memory type alignment check when translation disabled
Date: Wed, 17 Apr 2024 13:07:35 -0700
User-agent: Mozilla Thunderbird

On 4/16/24 08:11, Jonathan Cameron wrote:
On Fri,  1 Mar 2024 10:41:09 -1000
Richard Henderson <richard.henderson@linaro.org> wrote:

If translation is disabled, the default memory type is Device, which
requires alignment checking.  This is more optimally done early via
the MemOp given to the TCG memory operation.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reported-by: Idan Horowitz <idan.horowitz@gmail.com>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1204
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

Hi Richard.

I noticed some tests I was running stopped booting with master.
(it's a fun and complex stack of QEMU + kvm on QEMU for vCPU Hotplug kernel 
work,
but this is the host booting)

EDK2 build from upstream as of somepoint last week.

Bisects to this patch.

  qemu-system-aarch64 -M virt,gic-version=3,virtualization=true -m 
4g,maxmem=8G,slots=8 -cpu cortex-a76 -smp cpus=4,threads=2,clusters=2,sockets=1 
\
  -kernel Image \
  -drive if=none,file=full.qcow2,format=qcow2,id=hd \
  -device ioh3420,id=root_port1 -device virtio-blk-pci,drive=hd \
  -netdev user,id=mynet,hostfwd=tcp::5555-:22 -device 
virtio-net-pci,netdev=mynet,id=bob \
  -nographic -no-reboot -append 'earlycon root=/dev/vda2 fsck.mode=skip 
tp_printk' \
  -monitor telnet:127.0.0.1:1235,server,nowait -bios QEMU_EFI.fd \
  -object memory-backend-ram,size=4G,id=mem0 \
  -numa node,nodeid=0,cpus=0-3,memdev=mem0

Symptoms: Nothing on console from edk2 which is built in debug mode so is 
normally very noisy.
           No sign of anything much happening at all :(

This isn't a fantastic bug report.

(1) If it doesn't boot efi, then none of the -kernel parameters are necessary.
(2) I'd be surprised if the full.qcow2 drive parameters are necessary either.
    But if they are, what contents?  Is a new empty drive sufficient, just
    enough to send the bios through the correct device initialization?
(3) edk2 build from ...
    Well, this is partly edk2's fault, as the build documentation is awful.
    I spent an entire afternoon trying to figure it out and gave up.

I will say that the edk2 shipped with qemu does work, so... are you absolutely
certain that it isn't a bug in edk2 since then?  Firmware bugs are exactly what
that patch is supposed to expose, as requested by issue #1204.

I'd say you should boot with "-d int" and see what kind of interrupts you're getting very early on. I suspect that you'll see data aborts with ESR xx/yy where the last 6 bits of yy are 0x21 (alignment fault).


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]