rsi
struct { u64 r14, r15, rbx, rdi, rsi, r8, r9, rdx; };
args.rsi = message.rsi;
popq %rsi
pushq %rsi
popq %rsi
pushq %rsi /* pt_regs->si */
movq 8(%rsp), %rsi /* temporarily store the return address in %rsi */
pushq %rsi /* pt_regs->si */
pushq %rsi /* return address on top of stack */
OFFSET(MSHV_VTL_CPU_CONTEXT_rsi, mshv_vtl_cpu_context, rsi);
GEN(rsi)
#define _ASM_ARG2Q rsi
.ifc \r64,%rsi
uint64_t rsi;
u64 rsi;
u64 rsi;
u64 rsi;
u64 rsi;
DEFINE_GHCB_ACCESSORS(rsi)
__u64 rsi, rdi, rsp, rbp;
unsigned long rsi;
typedef int (*sgx_enclave_user_handler_t)(long rdi, long rsi, long rdx,
typedef int (*vdso_sgx_enter_enclave_t)(unsigned long rdi, unsigned long rsi,
__u64 rsi;
OFFSET(TDX_MODULE_rsi, tdx_module_args, rsi);
"=d" (rdx), "=S" (rsi), "=D" (rdi)
*out4 = rsi;
args.rsi = in4;
*out4 = args.rsi;
unsigned long out0, rbx, rcx, rdx, rsi, rdi;
"=d" (rdx), "=S" (rsi), "=D" (rdi)
"=d" (rdx), "=S" (rsi), "=D" (rdi)
regs64.rsi = bootparam_load_addr;
BUILD_KVM_GPR_ACCESSORS(rsi, RSI)
save->rsi = svm->vcpu.arch.regs[VCPU_REGS_RSI];
"rsi:", vmsa->rsi, "rdi:", vmsa->rdi);
DEFINE_KVM_GHCB_ACCESSORS(rsi)
regs[index++] = tdx->vp_enter_args.rsi;
regs->rsi = kvm_rsi_read(vcpu);
kvm_rsi_write(vcpu, regs->rsi);
u64 rsi;
__le64 rsi;
uint64_t rsi;
static struct rsi *rsi_update(struct cache_detail *cd, struct rsi *new, struct rsi *old);
static struct rsi *rsi_lookup(struct cache_detail *cd, struct rsi *item);
static void rsi_free(struct rsi *rsii)
struct rsi *rsip, rsikey;
struct rsi *rsii = container_of(head, struct rsi, rcu_head);
struct rsi *rsii = container_of(ref, struct rsi, h.ref);
static inline int rsi_hash(struct rsi *item)
struct rsi *item = container_of(a, struct rsi, h);
struct rsi *tmp = container_of(b, struct rsi, h);
struct rsi *new = container_of(cnew, struct rsi, h);
struct rsi *item = container_of(citem, struct rsi, h);
struct rsi *new = container_of(cnew, struct rsi, h);
struct rsi *item = container_of(citem, struct rsi, h);
struct rsi *rsii = kmalloc_obj(*rsii);
struct rsi *rsii = container_of(h, struct rsi, h);
struct rsi rsii, *rsip = NULL;
static struct rsi *rsi_lookup(struct cache_detail *cd, struct rsi *item)
return container_of(ch, struct rsi, h);
static struct rsi *rsi_update(struct cache_detail *cd, struct rsi *new, struct rsi *old)
return container_of(ch, struct rsi, h);
#define _ASM_ARG2Q rsi
__u64 rsi, rdi, rsp, rbp;
#define __PT_PARM2_REG rsi
{ {"rsi", "esi", "si", "sil"}, reg_off(rsi, esi) },
uint64_t rsi;
SDT_NAME_REG(rsi, si),
.rsi = 0x13,
ASSERT_EQ(after.rsi, expected.rsi, "rsi");
uint64_t rbp, rsi, rdi;
u64 rsi;
regs.rsi = va_arg(ap, uint64_t);
regs->rsi, regs->rdi, regs->rsp, regs->rbp);
(ulong) regs2.rdi, (ulong) regs2.rsi);
(ulong) regs2.rdi, (ulong) regs2.rsi);
(ulong) regs2.rdi, (ulong) regs2.rsi);
REG_COMPARE(rsi);
(ulong) regs2.rdi, (ulong) regs2.rsi);
unsigned long rsi = ARGVALUE(2);
"a"(rax), "D"(rdi), "S"(rsi), "d"(rdx),
"a"(rax), "D"(rdi), "S"(rsi), "d"(rdx),
static int test_handler(long rdi, long rsi, long rdx, long ursp, long r8, long r9,
int sgx_enter_enclave(void *rdi, void *rsi, long rdx, u32 function, void *r8, void *r9,
void encl_body(void *rdi, void *rsi)
# define user_arg1 rsi
printf("si:%016llx di:%016llx bp:%016llx sp:%016llx\n", regs64.rsi, regs64.rdi, regs64.rbp, regs64.rsp);
uint64_t rsi, rdi, rbp, rsp;