Hi,
Just a short follow up.
Answer: Please note that the reported issue occurs in my setup while Linux is booting, not while running the xtest.
I may have misunderstood the comment in this change: https://review.trustedfirmware.org/c/hafnium/project/reference/+/16322
"I built hafnium with your hafnium changes and booted good in my test setup for the QEMU S-EL2 booting to the normal world and able to ran few op-tee tests (xtest) successfully from the normal world. However please note the following which is unrelated to this change [...] in the non-secure terminal while booting linux in the normal world. Error Log: NOTICE: Trapped access to system register write: op0=1, op1=0, crn=7, crm=14, op2=2, rt=11. NOTICE: Injecting Unknown Reason exception into VM 0x8001. Above system register found as DC CISW."
Can you recall which exact setup(s) are passing/failing?
On how to reproduce, it requires few OP-TEE changes and some integration work. We didn't have plans to do this but I can try to explain what I have.
Regards, Olivier.
________________________________ From: shiju.jose--- via Hafnium hafnium@lists.trustedfirmware.org Sent: 28 October 2022 12:48 To: hafnium@lists.trustedfirmware.org hafnium@lists.trustedfirmware.org Subject: [Hafnium] Re: Trapped access to system register and excpetion
Hi Olivier,
Thanks for your efforts and update. Please find my reply inline,
Just to keep you posted, I get to boot TF-A/Hafnium/OP-TEE/linux down to console with ffa and optee drivers initializing properly. For now my attempts with xtest fail early for some reason (perhaps an issue with userspace), so I'm not (yet) facing the same issue with cache maintenance as you reported. I'll let know later when I'm there. Answer: Please note that the reported issue occurs in my setup while Linux is booting, not while running the xtest.
Meanwhile, I noted a number of fixes I had to do, and I wonder if you did the same e.g.: 1/ create an OP-TEE partition manifest with appropriate load address/entry point, declare the qemu secure uart address. I notice the UART console may trigger secure interrupts so that might require declaring as well in the manifest.
Answer: I got OP-TEE manifest file with load address and entry point etc. The uart address is specified as follows, but not sure it is qemu secure uart address. uart1 { base-address = <0x00000000 0x09040000>; pages-count = <1>; attributes = <0x3>; /* read-write */ };
2/ In OP-TEE strip out any GIC related initialization as a SP doesn't have direct access to the physical GIC. 3/ enabled managed exit to handle the case where a NS interrupt triggers while OP-TEE/or TA runs. Answer: I have not done this, can you please share more information, how to do this?
For TF-A (BL1/BL2/BL31) do you actually use your own changes, or the earlier experimental changes of mine? Answer: For TF-A, I use my own following changes, https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/17388 and https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/17389
Thanks, Shiju. -- Hafnium mailing list -- hafnium@lists.trustedfirmware.org To unsubscribe send an email to hafnium-leave@lists.trustedfirmware.org