Hi,
I did find the reason for the crash I was observing when booting XEN with BL binaries.
Issue was with the dtb being passed to XEN. For booting with EL3 binaries, the dtb created using qemu should also be generated with parameter secure=on to qemu which was missing in my setup, hence the crash.
Regards, Ruchika
On Fri, 4 Dec 2020 at 18:28, Ruchika Gupta via Stratos-dev < stratos-dev@op-lists.linaro.org> wrote:
Hi Takahiro,
On Fri, Dec 4, 2020, 18:10 AKASHI Takahiro takahiro.akashi@linaro.org wrote:
On Fri, Dec 04, 2020 at 09:47:10AM +0000, Ruchika Gupta via Stratos-dev wrote:
Hi Volodymyr,
On Thu, 3 Dec 2020 at 17:49, Volodymyr Babchuk <
Volodymyr_Babchuk@epam.com>
wrote:
Hi Ruchika,
Ruchika Gupta writes:
Hi Masami,
Have you compiled OP-TEE with the CFG_VIRTUALIZATION set ?
https://urldefense.com/v3/__https://optee.readthedocs.io/en/latest/architect...
[optee[.]readthedocs[.]io]
I have also been trying to bring OPTEE up on the QEMU aarch64
environment
with xen but not much success as yet.
Long time ago I used QEMU to develop virtualization support. So it is one of the supported platforms. Can you share what issues you
encountered?
I still haven't reached the part where I enable OP-TEE. My issues are
with
the initial XEN setup on QEMU with TF-A images in path. I have a working setup with uboot->Xen->Dom0 linux on QEMU.
Next I tried adding BL components in the flow. Linux boots up but
crashes.
BL1 -> Bl2 -> Bl31 -> uboot -> xen -> Dom0
I thought that you said that you had succeeded to follow this path. I always use this sequence for my testing (on qemu-arm64).
The sequence works fine without xen i,e if I boot linux directly from uboot. Issue is when I integrate xen in the flow. BL1->Bl2->BL31->uboot->linux -> Works
Have you tried xen with this flow ? Failure to boot linux in DOM0 happens with XEN.
Regards, Ruchika
-Takahiro Akashi
Not sure but this may be due to the additional parameters I pass in
QEMU
(-machine virt,secure=on). Crash log which I see
- 1.757127] megasas: 07.714.04.00-rc1*
*[ 1.768278] physmap-flash 0.flash: physmap platform flash device:
[mem
0x00000000-0x03ffffff][ 1.770386] Internal error: synchronous
external
abort: 96000050 [#1] PREEMPT SMP[ 1.771596] Modules linked in:[ 1.772554] CPU: 2 PID: 1 Comm: swapper/0 Not tainted
5.9.0-g28676a5aba66
#1[ 1.773690] Hardware name: linux,dummy-virt (DT)[ 1.774383]
pstate:
60000005 (nZCv daif -PAN -UAO BTYPE=--)[ 1.775135] pc : cfi_send_gen_cmd+0xd8/0x160[ 1.775752] lr :
cfi_send_gen_cmd+0x7c/0x160[
1.776261] sp : ffff80001003b960[ 1.776717] x29: ffff80001003b960
x28:
ffff00003ad55080 [ 1.777340] x27: ffffc585e8bc6b90 x26:
0000000000000000
[ 1.778193] x25: ffff00003dab9d80 x24: ffff00003ad55080 [
1.779082]
x23: 0000000000000000 x22: ffff00003d870000 [ 1.779979] x21: 0000000000000000 x20: ffff00003ad55080 [ 1.780841] x19:
0000000000000000
x18: 0000000000000010 [ 1.781720] x17: 0000000000000000 x16: 0000000000000012 [ 1.782661] x15: ffff00003d870470 x14:
3030303030303078
[ 1.783494] x13: 30206d656d5b203a x12: 6563697665642068 [
1.784389]
x11: 0000000000000008 x10: 0101010101010101 [ 1.785277] x9 : 6d73796870203a68 x8 : 7f7f7f7f7f7f7f7f [ 1.786072] x7 :
0000000000000004
x6 : 0000000000000004 [ 1.786870] x5 : 0000000000000000 x4 : ffff00003d870470 [ 1.787669] x3 : 0000000000000004 x2 :
ffff800014000000
[ 1.788555] x1 : ffff800014000000 x0 : 0000000000f000f0 [
1.789636]
Call trace:[ 1.790331] cfi_send_gen_cmd+0xd8/0x160[ 1.791067] cfi_qry_mode_on+0x40/0x288[ 1.791724] cfi_probe_chip+0x54/0x790[ 1.792310] mtd_do_chip_probe+0xd8/0x448[ 1.792993] cfi_probe+0x18/0x28[ 1.793642] do_map_probe+0x34/0xa8[
1.794331]
physmap_flash_probe+0x6fc/0x798[ 1.795225] platform_drv_probe+0x54/0xa8[ 1.795907] really_probe+0xe4/0x3b0[ 1.796571] driver_probe_device+0x58/0xb8[ 1.797096] device_driver_attach+0x74/0x80[ 1.797696]
__driver_attach+0x58/0xe0[
1.798176] bus_for_each_dev+0x70/0xc0[ 1.798653] driver_attach+0x24/0x30[ 1.799140] bus_add_driver+0x14c/0x1f0[ 1.808408] driver_register+0x64/0x120[ 1.808926] __platform_driver_register+0x48/0x58[ 1.809606] physmap_init+0x1c/0x28[ 1.810069] do_one_initcall+0x54/0x1b4[ 1.810534] kernel_init_freeable+0x1d0/0x238[ 1.811054] kernel_init+0x14/0x118[ 1.811550] ret_from_fork+0x10/0x34[ 1.812724] Code: 54000240 7100107f 54000421 8b020022 (b9000040) [ 1.814277] ---[ end trace 36c61f67f73db7e7 ]---[ 1.816078] Kernel
panic
- not syncing: Attempted to kill init! exitcode=0x0000000b[
1.817284]
SMP: stopping secondary CPUs[ 1.818381] Kernel Offset:
0x4585d7800000
from 0xffff800010000000[ 1.819234] PHYS_OFFSET: 0xffffe20480000000[ 1.819986] CPU features: 0x0240022,2180608a[ 1.820569] Memory Limit: none[ 1.821198] ---[ end Kernel panic - not syncing: Attempted to
kill
init! exitcode=0x0000000b ]---soc_term: read fd EOF*
MY QEMU commands :
For bios as u-boot qemu-system-aarch64 \ -nographic \ -serial tcp:localhost:54320 -serial tcp:localhost:54321 \ -smp 4 \ -s -S \ -cpu cortex-a57 \ -d unimp -semihosting-config enable,target=native \ -m 4096 \ -bios u-boot.bin \ -machine virtualization=true -machine virt,gic-version=3 \ -no-acpi -device loader,file=xen,force-raw=on,addr=0x49000000 -device loader,file=Image.gz,addr=0x47000000 -device loader,file=rootfs.cpio.gz,addr=0x42000000 -device loader,file=virt-gicv3.dtb,addr=0x44000000 -netdev user,id=vmnic
-device
virtio-net-device,netdev=vmnic
For bios as b1.bin aarch64-softmmu/qemu-system-aarch64 \ -nographic \ -serial tcp:localhost:54320 -serial tcp:localhost:54321 \ -smp 4 \ -s -S *-machine virt,secure=on* -cpu cortex-a57 \ -d unimp -semihosting-config enable,target=native \ -m 4096 \
- -bios bl1.bin *
-machine virtualization=true -machine virt,gic-version=3 \ -no-acpi -netdev user,id=vmnic -device virtio-net-device,netdev=vmnic
On the u-boot prompt , I manually modify the fdt passed to xen.
Any pointers on what could be possibly going wrong will be very
helpful.
Regards, Ruchika
Regards,
Ruchika
On Wed, 2 Dec 2020 at 06:50, Stefano Stabellini via Stratos-dev < stratos-dev@op-lists.linaro.org> wrote:
CCing Volodymyr who maintains optee support in Xen
On Wed, 2 Dec 2020, Masami Hiramatsu via Stratos-dev wrote: > Hi Alex, > > Have you enabled the OP-TEE support on Xen on your matchartbin? > > When I ran Xen Dom0 with OP-TEE, I got below error. > > [ 6.482047] optee: probing for conduit method. > (XEN) d0v18 Unhandled SMC/HVC: 0xbf00ff01 > [ 6.482301] nvme nvme0: 1/0/0 default/read/poll queues > [ 6.490154] optee: api uid mismatch > [ 6.498962] optee: probe of firmware:optee failed with error
-22
> > Would you know this issue? > > Thank you, > > -- > Masami Hiramatsu > -- > Stratos-dev mailing list > Stratos-dev@op-lists.linaro.org >
https://urldefense.com/v3/__https://op-lists.linaro.org/mailman/listinfo/str...
[op-lists[.]linaro[.]org]
>
Stratos-dev mailing list Stratos-dev@op-lists.linaro.org
https://urldefense.com/v3/__https://op-lists.linaro.org/mailman/listinfo/str...
[op-lists[.]linaro[.]org]
-- Volodymyr Babchuk at EPAM
-- Stratos-dev mailing list Stratos-dev@op-lists.linaro.org https://op-lists.linaro.org/mailman/listinfo/stratos-dev
-- Stratos-dev mailing list Stratos-dev@op-lists.linaro.org https://op-lists.linaro.org/mailman/listinfo/stratos-dev
stratos-dev@op-lists.linaro.org