Hello!
> I messed up the "load into xzr" test royally in the last attached patch.
> It was quite wrong.
Yes, because "mov %0, xzr" is not trapped.
> I have now tested
>
> asm volatile(
> "str %3, [%1]\n\t"
> "ldr wzr, [%1]\n\t"
> "str wzr, [%2]\n\t"
> "ldr %0, [%2]\n\t"
> :"=r"(val):"r"(addr), "r"(addr2), "r"(0x55555555):"memory");
> report("mmio: 'ldr wzr' check: read 0x%08lx", val != 0x55555555, val);
>
> which passes
I guess i forgot to mention that both addr and addr2 have to be MMIO
registers. If they are plain memory, then of course everything
will work because they are not trapped.
> Anyway, I
> probably won't clean this test up and post it. I don't think we really
> need to add it as a regression test, unless others disagree and would
> like to see it added.
Considering how difficult it was to find this problem, and how tricky and
unobvious it is, i would ask to add this test. Especially
considering you've already written it. At least it will serve as a reminder
about the problem.
Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html