pcc added inline comments.

================
Comment at: lldb/include/lldb/Target/Process.h:79
   void SetExtraStartupCommands(const Args &args);
+  uint64_t GetPointerAuthenticationAddressMask() const;
+  void SetPointerAuthenticationAddressMask(const uint64_t mask);
----------------
omjavaid wrote:
> This function name is too specific to AArch64 architecture. IMO, we should 
> have information on significant address bits rather than PAuth mask. This is 
> because we have to cover for the top byte in case of AArch64 Top Byte Ignore 
> feature as well as any other memory management features.
> 
> From user process perspective we should figure out how many bits of the 
> process memory address are significant for addressing while the others store 
> extra information like PAC, Tags or any information inserted by software in 
> top byte.
> 
> I propose to add a new variable (may be call it address_bits_in_use) in 
> process class which is populated by default equal to process address width in 
> our case 64 bit. In case a we choose to update address_bits_in_use we may do 
> it on when process is created or through set method during execution as well.
I don't think we want to clear the top byte if TBI is enabled. This is because 
the top byte may contain a pointer tag that is necessary in order to access the 
pointer with MTE. That is exactly what a mask would let us do. The top byte of 
the mask is clear when TBI is enabled so that the pointer tag is left unchanged.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D98886/new/

https://reviews.llvm.org/D98886

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to