]> git.saurik.com Git - apple/xnu.git/blobdiff - tools/lldbmacros/utils.py
xnu-7195.81.3.tar.gz
[apple/xnu.git] / tools / lldbmacros / utils.py
index 33d601f8d2e2681672f207c58d0221163fa9a966..6039f204833ac91e7824e6ddf58c9a19e8f47338 100755 (executable)
@@ -474,3 +474,12 @@ def print_hex_data(data, begin_offset=0, desc=""):
 def Ones(x):
     return (1 << x)-1
 
+def StripPAC(x, TySz):
+    sign_mask = 1 << 55
+    ptr_mask = Ones(64-TySz)
+    pac_mask = ~ptr_mask
+    sign = x & sign_mask
+    if sign:
+        return (x | pac_mask) + 2**64
+    else:
+        return x & ptr_mask