On 2025-04-03 19:28, Andrew Cooper wrote:
On 04/04/2025 12:22 am, Alexander M. Merritt wrote:
The new toolchain baseline knows both the XSAVEOPT and CLWB
instructions.
I know that's what I wrote on the ticket, but what I'd forgotten was
that we only use XSAVEOPT for it's operand.
Really what we're doing here is knowing CLWB, and also getting rid of
the XSAVEOPT workaround for somewhat-more-old toolchains.
Will try to be more detailed in the commit message next time, thanks for
pointing out.
+ asm volatile ("clwb %[p]" :: [p] "m" (*(const char
*)(addr)));
One minor note about whitespace. We typically have spaces inside the
outermost brackets on asm statements, as per the clwb() example below.
Makes sense. I had searched for existing examples of this and saw a mix
with and without spaces.
Also, given the expression is so simple, I'd just use %0 and drop the
[p]. It's just line-verbosity here.
Yes, agreed.
Can fix both on commit if you're happy.
Reviewed-by: Andrew Cooper <andrew.coop...@citrix.com>
Yes please do. Thanks for the review!