far
void do_mem_abort(unsigned long far, unsigned long esr, struct pt_regs *regs);
void __noreturn panic_bad_stack(struct pt_regs *regs, unsigned long esr, unsigned long far);
#define FAR_TO_FIPA_OFFSET(far) ((far) & GENMASK_ULL(11, 0))
u64 elr_phys, u64 par, uintptr_t vcpu, u64 far, u64 hpfar);
int signo, int sicode, unsigned long far,
void arm64_force_sig_fault(int signo, int code, unsigned long far, const char *str);
void arm64_force_sig_fault_pkey(unsigned long far, const char *str, int pkey);
void arm64_force_sig_mceerr(int code, unsigned long far, short lsb, const char *str);
void arm64_force_sig_ptrace_errno_trap(int errno, unsigned long far, const char *str);
__u64 far; /* used for watchpoints */
unsigned long far = read_sysreg(far_el1);
do_mem_abort(far, esr, regs);
unsigned long far = read_sysreg(far_el1);
do_sp_pc_abort(far, esr, regs);
unsigned long far = read_sysreg(far_el1);
do_watchpoint(far, esr, regs);
unsigned long far = read_sysreg(far_el1);
do_mem_abort(far, esr, regs);
unsigned long far = read_sysreg(far_el1);
if (!is_ttbr0_addr(far))
do_mem_abort(far, esr, regs);
unsigned long far = read_sysreg(far_el1);
do_sp_pc_abort(far, esr, regs);
unsigned long far = read_sysreg(far_el1);
do_watchpoint(far, esr, regs);
unsigned long far = read_sysreg(far_el1);
panic_bad_stack(regs, esr, far);
void arm64_force_sig_fault(int signo, int code, unsigned long far,
force_sig_fault(signo, code, (void __user *)far);
void arm64_force_sig_fault_pkey(unsigned long far, const char *str, int pkey)
force_sig_pkuerr((void __user *)far, pkey);
void arm64_force_sig_mceerr(int code, unsigned long far, short lsb,
force_sig_mceerr(code, (void __user *)far, lsb);
void arm64_force_sig_ptrace_errno_trap(int errno, unsigned long far,
force_sig_ptrace_errno_trap(errno, (void __user *)far);
int signo, int sicode, unsigned long far,
arm64_force_sig_fault(signo, sicode, far, str);
void __noreturn panic_bad_stack(struct pt_regs *regs, unsigned long esr, unsigned long far)
pr_emerg("FAR: 0x%016lx\n", far);
run->debug.arch.far = vcpu->arch.fault.far_el2;
u64 far, u64 hpfar) {
spsr, elr_virt, esr, far, hpfar, par, vcpu);
static inline bool __translate_far_to_hpfar(u64 far, u64 *hpfar)
ret = system_supports_poe() ? __kvm_at(OP_AT_S1E1A, far) :
__kvm_at(OP_AT_S1E1R, far);
u64 far;
far = vcpu_read_sys_reg(vcpu, FAR_EL1);
far &= GENMASK(31, 0);
far |= (u64)addr << 32;
far &= GENMASK(63, 32);
far |= addr;
vcpu_write_sys_reg(vcpu, far, FAR_EL1);
unsigned long far, unsigned long ipa),
TP_ARGS(vcpu_pc, esr, far, ipa),
__field( unsigned long, far )
__entry->far = far;
__entry->far, __entry->vcpu_pc)
static void do_bad_area(unsigned long far, unsigned long esr,
unsigned long addr = untagged_addr(far);
int (*fn)(unsigned long far, unsigned long esr,
arm64_force_sig_fault(inf->sig, inf->code, far, inf->name);
static int __kprobes do_page_fault(unsigned long far, unsigned long esr,
unsigned long addr = untagged_addr(far);
arm64_force_sig_fault(SIGBUS, BUS_ADRERR, far, inf->name);
arm64_force_sig_mceerr(BUS_MCEERR_AR, far, lsb, inf->name);
arm64_force_sig_fault_pkey(far, inf->name, pkey);
arm64_force_sig_fault(SIGSEGV, si_code, far, inf->name);
static int __kprobes do_translation_fault(unsigned long far,
unsigned long addr = untagged_addr(far);
return do_page_fault(far, esr, regs);
do_bad_area(far, esr, regs);
static int do_alignment_fault(unsigned long far, unsigned long esr,
return do_compat_alignment_fixup(far, regs);
do_bad_area(far, esr, regs);
static int do_bad(unsigned long far, unsigned long esr, struct pt_regs *regs)
static int do_sea(unsigned long far, unsigned long esr, struct pt_regs *regs)
siaddr = untagged_addr(far);
static int do_tag_check_fault(unsigned long far, unsigned long esr,
far = (__untagged_addr(far) & ~MTE_TAG_MASK) | (far & MTE_TAG_MASK);
do_bad_area(far, esr, regs);
void do_mem_abort(unsigned long far, unsigned long esr, struct pt_regs *regs)
unsigned long addr = untagged_addr(far);
if (!inf->fn(far, esr, regs))
uint64_t far:1;
uint64_t far:1;
uint64_t far:1;
uint64_t far:1;
bool far = false;
far = true;
off = far ? (HPPA_BRANCH_DISPLACEMENT - 1) : paoff - HPPA_BRANCH_DISPLACEMENT;
if (far) {
bool far = false;
far = true;
off = far ? (2 - HPPA_BRANCH_DISPLACEMENT) : paoff - HPPA_BRANCH_DISPLACEMENT;
if (far) {
bool far = false;
far = true;
far = true;
off = far ? 6 : (rvoff >> 1);
if (far) {
u32 near = near_tile, far = far_tile;
far = (far << 1) | far_dev;
if (far == near)
if (far > near) {
x = far;
y = far;
u32 near = near_tile, far = far_tile;
far = (far << 1) | far_dev;
if (far == near)
if (far > near) {
x = far;
y = far;
unsigned int far;
data->ch_data[ch].thres.far = tmp;
data->ch_data[ch].thres.far = ((val / 32) & GENMASK(9, 0)) * 32;
info->far = arm_smmu_cb_readq(smmu, cfg->cbndx, ARM_SMMU_CB_FAR);
unsigned int far, unsigned int fcr, unsigned int fpr)
gfar_write(®s->rqfar, far);
unsigned int far, unsigned int *fcr, unsigned int *fpr)
gfar_write(®s->rqfar, far);
char far *txd_virt ; /* virtual pointer to the data frag */
struct s_smt_fp_txd volatile far *txd_next ;
char far *rxd_virt ; /* virtual pointer to the data frag */
struct s_smt_fp_rxd volatile far *rxd_next ;
#define ADDR(a) (char far *) smc->hw.iop+(a)
#define ADDRS(smc,a) (char far *) (smc)->hw.iop+(a)
#ifndef far
u_char far *virt ;
char far *data ;
virt = (u_char far *) rxd->rxd_virt ;
void hwm_tx_frag(struct s_smc *smc, char far *virt, u_long phys, int len,
void hwm_rx_frag(struct s_smc *smc, char far *virt, u_long phys, int len,
void hwm_rx_frag(struct s_smc *smc, char far *virt, u_long phys, int len,
void hwm_tx_frag(struct s_smc *smc, char far *virt, u_long phys, int len,
char far *data ;
SK_LOC_DECL(char far,*virt[3]) ;
phys = dma_master(smc, (void far *)virt[i],
extern void hwm_tx_frag(struct s_smc *smc, char far * virt, u_long phys,
extern void hwm_rx_frag(struct s_smc *smc, char far * virt, u_long phys,
dev_warn(rtk->dev, " FAR = 0x%llx\n", regs->far);
u64 far;
u64 far;
__u64 far; /* used for watchpoints */
CHECK_FAIL(map_data->val[far] != 3 * 123);
CHECK_FAIL(bpf_map_lookup_elem(data_map_fd, &far, &val));
CHECK_FAIL(map_data->val[far] != 3 * 321);
const int zero = 0, one = 1, two = 2, far = 1500;
CHECK_FAIL(map_data->val[far] != 3 * 321);
CHECK_FAIL(map_data->val[far]);
int zero = 0, one = 1, two = 2, far = 1500;
bpf_map_update_elem(&data_map, &far, &val, 0);
u64 far = read_sysreg(far_el1);
GUEST_PRINTF("ESR_EL1=%#lx, FAR_EL1=%#lx\n", esr, far);
GUEST_ASSERT_EQ(far, EINJ_GVA);