/xen/xen/arch/arm/arm64/ |
A D | insn.c | 34 return (aarch64_insn_is_b(insn) || aarch64_insn_is_bl(insn) || in aarch64_insn_is_branch_imm() 35 aarch64_insn_is_tbz(insn) || aarch64_insn_is_tbnz(insn) || in aarch64_insn_is_branch_imm() 36 aarch64_insn_is_cbz(insn) || aarch64_insn_is_cbnz(insn) || in aarch64_insn_is_branch_imm() 156 return insn; in aarch64_insn_encode_immediate() 182 u32 insn; in aarch64_insn_gen_branch_imm() local 229 if (aarch64_insn_is_b(insn) || aarch64_insn_is_bl(insn)) { in aarch64_get_branch_offset() 234 if (aarch64_insn_is_cbz(insn) || aarch64_insn_is_cbnz(insn) || in aarch64_get_branch_offset() 240 if (aarch64_insn_is_tbz(insn) || aarch64_insn_is_tbnz(insn)) { in aarch64_get_branch_offset() 255 if (aarch64_insn_is_b(insn) || aarch64_insn_is_bl(insn)) in aarch64_set_branch_offset() 259 if (aarch64_insn_is_cbz(insn) || aarch64_insn_is_cbnz(insn) || in aarch64_set_branch_offset() [all …]
|
A D | livepatch.c | 20 uint32_t insn; in arch_livepatch_apply() local 41 insn = aarch64_insn_gen_nop(); in arch_livepatch_apply() 51 *(new_ptr + i) = insn; in arch_livepatch_apply() 159 u32 insn = *(u32 *)dest; in reloc_insn_movw() local 171 insn &= ~(3 << 29); in reloc_insn_movw() 175 insn |= 2 << 29; in reloc_insn_movw() 190 insn = aarch64_insn_encode_immediate(AARCH64_INSN_IMM_16, insn, imm); in reloc_insn_movw() 191 *(u32 *)dest = insn; in reloc_insn_movw() 204 u32 insn = *(u32 *)dest; in reloc_insn_imm() local 215 insn = aarch64_insn_encode_immediate(imm_type, insn, imm); in reloc_insn_imm() [all …]
|
A D | Makefile | 9 obj-y += insn.o
|
/xen/xen/include/asm-arm/arm32/ |
A D | insn.h | 21 int32_t aarch32_get_branch_offset(uint32_t insn); 22 uint32_t aarch32_set_branch_offset(uint32_t insn, int32_t offset); 25 static inline bool insn_is_branch_imm(uint32_t insn) in insn_is_branch_imm() argument 50 return ( (insn & 0x0E000000) == 0x0A000000 ); in insn_is_branch_imm() 53 static inline int32_t insn_get_branch_offset(uint32_t insn) in insn_get_branch_offset() argument 55 return aarch32_get_branch_offset(insn); in insn_get_branch_offset() 58 static inline uint32_t insn_set_branch_offset(uint32_t insn, int32_t offset) in insn_set_branch_offset() argument 60 return aarch32_set_branch_offset(insn, offset); in insn_set_branch_offset()
|
/xen/xen/include/asm-arm/arm64/ |
A D | insn.h | 72 bool aarch64_insn_is_branch_imm(u32 insn); 74 u64 aarch64_insn_decode_immediate(enum aarch64_insn_imm_type type, u32 insn); 76 u32 insn, u64 imm); 78 s32 aarch64_get_branch_offset(u32 insn); 79 u32 aarch64_set_branch_offset(u32 insn, s32 offset); 87 static inline bool insn_is_branch_imm(u32 insn) in insn_is_branch_imm() argument 89 return aarch64_insn_is_branch_imm(insn); in insn_is_branch_imm() 92 static inline s32 insn_get_branch_offset(u32 insn) in insn_get_branch_offset() argument 94 return aarch64_get_branch_offset(insn); in insn_get_branch_offset() 97 static inline u32 insn_set_branch_offset(u32 insn, s32 offset) in insn_set_branch_offset() argument [all …]
|
/xen/xen/arch/arm/arm32/ |
A D | insn.c | 26 static uint32_t branch_insn_encode_immediate(uint32_t insn, int32_t offset) in branch_insn_encode_immediate() argument 39 insn &= ~(BRANCH_INSN_IMM_MASK << BRANCH_INSN_IMM_SHIFT); in branch_insn_encode_immediate() 40 insn |= imm; in branch_insn_encode_immediate() 42 return insn; in branch_insn_encode_immediate() 50 int32_t aarch32_get_branch_offset(uint32_t insn) in aarch32_get_branch_offset() argument 55 imm = ( insn >> BRANCH_INSN_IMM_SHIFT ) & BRANCH_INSN_IMM_MASK; in aarch32_get_branch_offset() 71 uint32_t aarch32_set_branch_offset(uint32_t insn, int32_t offset) in aarch32_set_branch_offset() argument 81 return branch_insn_encode_immediate(insn, offset); in aarch32_set_branch_offset()
|
A D | livepatch.c | 16 uint32_t insn; in arch_livepatch_apply() local 21 BUILD_BUG_ON(ARCH_PATCH_INSN_SIZE != sizeof(insn)); in arch_livepatch_apply() 54 insn = 0xea000000 | delta; in arch_livepatch_apply() 57 insn = 0xe1a00000; /* mov r0, r0 */ in arch_livepatch_apply() 64 *(new_ptr + i) = insn; in arch_livepatch_apply()
|
A D | Makefile | 7 obj-y += insn.o
|
/xen/xen/arch/arm/ |
A D | alternative.c | 71 u32 insn; in get_alt_insn() local 73 insn = le32_to_cpu(*altinsnptr); in get_alt_insn() 75 if ( insn_is_branch_imm(insn) ) in get_alt_insn() 77 s32 offset = insn_get_branch_offset(insn); in get_alt_insn() 90 insn = insn_set_branch_offset(insn, offset); in get_alt_insn() 94 return insn; in get_alt_insn() 107 uint32_t insn; in patch_alternative() local 109 insn = get_alt_insn(alt, origptr + i, replptr + i); in patch_alternative() 110 updptr[i] = cpu_to_le32(insn); in patch_alternative()
|
A D | mm.c | 1323 uint32_t insn; in free_init_memory() local 1324 unsigned int i, nr = len / sizeof(insn); in free_init_memory() 1341 insn = 0xe7f000f0; in free_init_memory() 1343 insn = AARCH64_BREAK_FAULT; in free_init_memory() 1347 *(p + i) = insn; in free_init_memory()
|
/xen/tools/fuzz/x86_instruction_emulator/ |
A D | Makefile | 4 .PHONY: x86-insn-fuzz-all 6 x86-insn-fuzz-all: x86-insn-fuzzer.a fuzz-emul.o afl 8 x86-insn-fuzz-all: 39 x86-insn-fuzzer.a: fuzz-emul.o x86-emulate.o cpuid.o 50 all: x86-insn-fuzz-all
|
/xen/xen/include/asm-x86/ |
A D | indirect_thunk_asm.h | 16 .macro INDIRECT_BRANCH insn:req arg:req 29 \insn __x86_indirect_thunk_r\reg 40 \insn *\arg
|
A D | alternative-asm.h | 39 #define decl_orig(insn, padding) \ argument 40 .L\@_orig_s: insn; .L\@_orig_e: \ 49 #define decl_repl(insn, nr) .L\@_repl_s\()nr: insn; .L\@_repl_e\()nr: argument
|
A D | vm_event.h | 33 struct vm_event_emul_insn_data insn; member
|
/xen/xen/arch/x86/ |
A D | livepatch.c | 129 uint8_t insn[sizeof(func->opaque)]; in arch_livepatch_apply() local 144 insn[0] = 0xe9; /* Relative jump. */ in arch_livepatch_apply() 147 memcpy(&insn[1], &val, sizeof(val)); in arch_livepatch_apply() 150 add_nops(insn, len); in arch_livepatch_apply() 152 memcpy(old_ptr, insn, len); in arch_livepatch_apply()
|
A D | vm_event.c | 284 v->arch.vm_event->emul.insn = rsp->data.emul.insn; in vm_event_emulate_check()
|
A D | xstate.c | 396 #define _xrstor(insn) \ in xrstor() argument 397 asm volatile ( "1: .byte " insn "\n" \ in xrstor()
|
/xen/xen/scripts/ |
A D | Kbuild.include | 29 # as-insn: Check whether assembler supports an instruction. 30 # Usage: cflags-y += $(call as-insn,CC FLAGS,"insn",option-yes,option-no) 31 as-insn = $(if $(shell echo 'void _(void) { asm volatile ( $(2) ); }' \ 36 # Usage: $(call as-option-add,CFLAGS,CC,"insn",option-yes,option-no) 39 ifeq ($$(call as-insn,$$($(2)) $$($(1)),$(3),y,n),y)
|
/xen/tools/tests/x86_emulator/ |
A D | simd.h | 204 # define REN(insn, old, new) \ argument 205 asm ( ".macro v" #insn #old " o:vararg \n\t" \ 206 "v" #insn #new " \\o \n\t" \
|
A D | test_x86_emulator.c | 1781 #define put_insn(which, insn) ".pushsection .test\n" \ in main() argument 1782 #which ": " insn "\n" \ in main()
|
/xen/xen/ |
A D | Makefile | 139 t1 = $(call as-insn,$(CC),".L0: .L1: .skip (.L1 - .L0)",,-no-integrated-as) 142 t2 = $(call as-insn,$(CC) -I$(BASEDIR)/include,".include \"asm-x86/indirect_thunk_asm.h\"",,-no-int… 146 t3 = $(call as-insn,$(CC),".macro FOO;.endm"$(close); asm volatile $(open)".macro FOO;.endm",-no-in…
|
/xen/xen/include/public/ |
A D | vm_event.h | 397 struct vm_event_emul_insn_data insn; member
|
/xen/xen/test/livepatch/ |
A D | Makefile | 198 CODE_GET_EXPECT=$(shell $(OBJDUMP) -d --insn-width=1 $(1) | sed -n -e '/<'$(2)'>:$$/,/^$$/ p' | tai…
|
/xen/xen/arch/x86/hvm/ |
A D | emulate.c | 2792 sizeof(curr->arch.vm_event->emul.insn.data)); in hvm_emulate_one_vm_event() 2800 memcpy(vio->mmio_insn, curr->arch.vm_event->emul.insn.data, in hvm_emulate_one_vm_event()
|