39#ifndef __ARCH_ARM_PAUTH_HELPERS_HH__
40#define __ARCH_ARM_PAUTH_HELPERS_HH__
82 uint64_t modifier, uint64_t k1, uint64_t
k0,
bool data);
87 uint64_t k1, uint64_t K0,
bool data, uint8_t errorcode);
ThreadContext is the external interface to all thread state for anything outside of the CPU.
virtual RegVal readMiscReg(RegIndex misc_reg)=0
bool calculateTBI(ThreadContext *tc, ExceptionLevel el, uint64_t ptr, bool data)
int calculateBottomPACBit(ThreadContext *tc, ExceptionLevel el, bool top_bit)
Fault trapPACUse(ThreadContext *tc, ExceptionLevel el)
Fault authDB(ThreadContext *tc, uint64_t X, uint64_t Y, uint64_t *out)
uint64_t addPAC(ThreadContext *tc, ExceptionLevel el, uint64_t ptr, uint64_t modifier, uint64_t k1, uint64_t k0, bool data)
Fault addPACDB(ThreadContext *tc, uint64_t X, uint64_t Y, uint64_t *out)
Fault authDA(ThreadContext *tc, uint64_t X, uint64_t Y, uint64_t *out)
Fault addPACGA(ThreadContext *tc, uint64_t X, uint64_t Y, uint64_t *out)
void stripPAC(ThreadContext *tc, uint64_t A, bool data, uint64_t *out)
bool upperAndLowerRange(ThreadContext *tc, ExceptionLevel el)
Fault authIA(ThreadContext *tc, uint64_t X, uint64_t Y, uint64_t *out)
Fault authIB(ThreadContext *tc, uint64_t X, uint64_t Y, uint64_t *out)
Fault addPACIB(ThreadContext *tc, uint64_t X, uint64_t Y, uint64_t *out)
Fault addPACIA(ThreadContext *tc, uint64_t X, uint64_t Y, uint64_t *out)
Fault addPACDA(ThreadContext *tc, uint64_t X, uint64_t Y, uint64_t *out)
uint64_t auth(ThreadContext *tc, ExceptionLevel el, uint64_t ptr, uint64_t modifier, uint64_t k1, uint64_t K0, bool data, uint8_t errorcode)
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::shared_ptr< FaultBase > Fault