Lines Matching +full:36 +full:- +full:bit
2 * ARM v8.3-PAuth Operations
23 #include "cpu-features.h"
24 #include "exec/exec-all.h"
26 #include "exec/helper-proto.h"
27 #include "tcg/tcg-gvec-desc.h"
46 o |= extract64(i, 12, 4) << 36; in pac_cell_shuffle()
51 o |= extract64(i, 36, 4) << 52; in pac_cell_shuffle()
65 o |= extract64(i, 36, 4) << 12; in pac_cell_inv_shuffle()
73 o |= extract64(i, 52, 4) << 36; in pac_cell_inv_shuffle()
132 /* 4-bit rotate left by n. */ in rot_cell()
134 return extract32(cell, 4 - n, 4); in rot_cell()
183 o |= extract64(i, 52, 4) << 36; in tweak_shuffle()
190 o |= tweak_cell_rot(extract64(i, 36, 4)) << 60; in tweak_shuffle()
215 o |= tweak_cell_inv_rot(extract64(i, 60, 4)) << 36; in tweak_inv_shuffle()
220 o |= extract64(i, 36, 4) << 52; in tweak_inv_shuffle()
241 * and key1 contains bits <63:0> of the 128-bit key. in pauth_computepac_architected()
300 workingval ^= RC[iterations - i]; in pauth_computepac_architected()
345 top_bit = 64 - 8 * param.tbi; in pauth_addpac()
346 bot_bit = 64 - param.tsz; in pauth_addpac()
347 ext_ptr = deposit64(ptr, bot_bit, top_bit - bot_bit, ext); in pauth_addpac()
355 test = sextract64(ptr, bot_bit, top_bit - bot_bit); in pauth_addpac()
356 if (test != 0 && test != -1) { in pauth_addpac()
364 * version, hence "- 2" here. in pauth_addpac()
366 pac ^= MAKE_64BIT_MASK(top_bit - 2, 1); in pauth_addpac()
371 * Preserve the determination between upper and lower at bit 55, in pauth_addpac()
378 ptr &= ~MAKE_64BIT_MASK(bot_bit, 55 - bot_bit + 1); in pauth_addpac()
379 pac &= MAKE_64BIT_MASK(bot_bit, 54 - bot_bit + 1); in pauth_addpac()
392 /* Note that bit 55 is used whether or not the regime has 2 ranges. */ in pauth_original_ptr()
421 bot_bit = 64 - param.tsz; in pauth_auth()
422 top_bit = 64 - 8 * param.tbi; in pauth_auth()
424 cmp_mask = MAKE_64BIT_MASK(bot_bit, top_bit - bot_bit); in pauth_auth()
473 /* FIXME: ARMv8.3-NV: HCR_NV trap takes precedence for ERETA[AB]. */ in pauth_check_trap()
479 if (!(env->cp15.scr_el3 & SCR_API)) { in pauth_check_trap()
485 static bool pauth_key_enabled(CPUARMState *env, int el, uint32_t bit) in pauth_key_enabled() argument
487 return (arm_sctlr(env, el) & bit) != 0; in pauth_key_enabled()
497 return pauth_addpac(env, x, y, &env->keys.apia, false); in HELPER()
507 return pauth_addpac(env, x, y, &env->keys.apib, false); in HELPER()
517 return pauth_addpac(env, x, y, &env->keys.apda, true); in HELPER()
527 return pauth_addpac(env, x, y, &env->keys.apdb, true); in HELPER()
535 pac = pauth_computepac(env, x, y, env->keys.apga); in HELPER()
548 return pauth_auth(env, x, y, &env->keys.apia, false, 0, ra, is_combined); in pauth_autia()
569 return pauth_auth(env, x, y, &env->keys.apib, false, 1, ra, is_combined); in pauth_autib()
590 return pauth_auth(env, x, y, &env->keys.apda, true, 0, ra, is_combined); in pauth_autda()
611 return pauth_auth(env, x, y, &env->keys.apdb, true, 1, ra, is_combined); in pauth_autdb()