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

Re: [PATCH] xen/arm64: Zero the top 32 bits of gp registers on entry...



Hi Michal,

On 15/12/2021 10:40, Michal Orzel wrote:
On 15.12.2021 11:32, Jan Beulich wrote:
(Re-sending an abridged version, as apparently spam filters didn't like
the original message with more retained context; I'll have to see whether
this one also isn't liked. Sorry.)

On 15.12.2021 10:48, Michal Orzel wrote:
This patch and the problem it solves is about clearing top 32bits of all gp 
registers so not only x0,x1.

That's well understood. Yet for everything still in registers simply
using mov ahead of the respective push (as you had it) is still
preferable imo.

Jan


In that case let's wait for Julien's opinion to decide whether I should get 
back to the previous
solution with mov or to the stack solution.

IIUC, your proposal is to:
   1) Push all the 64-bit registers
   2) Zero the top 32-bit

Jan's suggestion is to:
   1) clobber the top 32-bit using mov wX, wX
   2) Push all the registers

My preference is for the latter because there will be less memory/cache access.

So, this would be your original patch + a compile time check to ensure save_x0_x1 is 0 when compat=1.

Cheers,

--
Julien Grall



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.