Lines Matching refs:ri
29 static inline uint32_t reloc_ptr(struct reloc_info *ri, void *ptr) in reloc_ptr() argument
31 return ri->reloc_base + (uint32_t) ((char *)ptr - _start); in reloc_ptr()
61 static __noreturn reloc_entry(struct reloc_info *ri) in reloc_entry() argument
68 hijack_interrupt(X86_INT_DB, reloc_ptr(ri, int_handler)); in reloc_entry()
69 hijack_interrupt(X86_INT_BP, reloc_ptr(ri, int_handler)); in reloc_entry()
72 memcpy(COM32_LOAD_ADDR, ri->data, ri->len); in reloc_entry()
75 module_esp = (ri->reloc_base - stack_frame_size) & ~15; in reloc_entry()
76 memcpy((void *)module_esp, (void *)ri->old_esp, stack_frame_size); in reloc_entry()
88 "c"(COM32_LOAD_ADDR), "r"(reloc_ptr(ri, int_handler)) in reloc_entry()
98 struct reloc_info ri; in reloc() local
114 ri.data = ptr; in reloc()
115 ri.len = len; in reloc()
116 ri.old_esp = __entry_esp; in reloc()
117 ri.reloc_base = (uint32_t) dest; in reloc()
118 entry_fn(&ri); in reloc()