userspace
int userspace, struct pt_regs *regs, struct callee_regs *cregs);
int userspace, struct pt_regs *regs, struct callee_regs *cregs)
if (userspace) {
extern void userspace(struct uml_pt_regs *regs);
userspace(¤t->thread.regs.regs);
userspace(¤t->thread.regs.regs);
mutex_lock(&userspace->mutex);
userspace->is_managed = 0;
userspace->setspeed = 0;
mutex_unlock(&userspace->mutex);
struct userspace_policy *userspace = policy->governor_data;
mutex_lock(&userspace->mutex);
policy->cpu, policy->min, policy->max, policy->cur, userspace->setspeed);
if (policy->max < userspace->setspeed)
else if (policy->min > userspace->setspeed)
__cpufreq_driver_target(policy, userspace->setspeed,
mutex_unlock(&userspace->mutex);
struct userspace_policy *userspace = policy->governor_data;
mutex_lock(&userspace->mutex);
if (!userspace->is_managed)
userspace->setspeed = freq;
mutex_unlock(&userspace->mutex);
struct userspace_policy *userspace = policy->governor_data;
return sprintf(buf, "%u\n", userspace->setspeed);
struct userspace_policy *userspace;
userspace = kzalloc_obj(*userspace);
if (!userspace)
mutex_init(&userspace->mutex);
policy->governor_data = userspace;
struct userspace_policy *userspace = policy->governor_data;
mutex_lock(&userspace->mutex);
userspace->is_managed = 1;
userspace->setspeed = policy->cur;
mutex_unlock(&userspace->mutex);
struct userspace_policy *userspace = policy->governor_data;
bool userspace)
if (userspace && vgadev->set_decode)
bool userspace = xflags & ZCRYPT_XFLAG_USERSPACE;
if (userspace) {
rc = prep_ep11_ap_msg(userspace, xcrb, &ap_msg, &func_code, &domain);
rc = pref_zq->ops->send_ep11_cprb(userspace, pref_zq, xcrb, &ap_msg);
if (userspace)
bool userspace = xflags & ZCRYPT_XFLAG_USERSPACE;
rc = prep_cca_ap_msg(userspace, xcrb, &ap_msg, &func_code, &domain);
rc = pref_zq->ops->send_cprb(userspace, pref_zq, xcrb, &ap_msg);
static inline unsigned long z_copy_from_user(bool userspace,
if (likely(userspace))
static inline unsigned long z_copy_to_user(bool userspace,
if (likely(userspace))
long (*send_cprb)(bool userspace, struct zcrypt_queue *, struct ica_xcRB *,
long (*send_ep11_cprb)(bool userspace, struct zcrypt_queue *, struct ep11_urb *,
int prep_cca_ap_msg(bool userspace, struct ica_xcRB *xcrb,
return xcrb_msg_to_type6cprb_msgx(userspace, ap_msg, xcrb, func_code, dom);
static long zcrypt_msgtype6_send_cprb(bool userspace, struct zcrypt_queue *zq,
rc = convert_response_xcrb(userspace, zq, ap_msg, xcrb);
int prep_ep11_ap_msg(bool userspace, struct ep11_urb *xcrb,
return xcrb_msg_to_type6_ep11cprb_msgx(userspace, ap_msg, xcrb,
static long zcrypt_msgtype6_send_ep11_cprb(bool userspace, struct zcrypt_queue *zq,
rc = convert_response_ep11_xcrb(userspace, zq, ap_msg, xcrb);
static int xcrb_msg_to_type6cprb_msgx(bool userspace, struct ap_message *ap_msg,
if (z_copy_from_user(userspace, msg->userdata,
z_copy_from_user(userspace, req_data, xcrb->request_data_address,
static int xcrb_msg_to_type6_ep11cprb_msgx(bool userspace, struct ap_message *ap_msg,
if (z_copy_from_user(userspace, msg->userdata,
static int convert_type86_xcrb(bool userspace, struct zcrypt_queue *zq,
if (z_copy_to_user(userspace, xcrb->reply_control_blk_addr,
if (z_copy_to_user(userspace, xcrb->reply_data_addr,
static int convert_type86_ep11_xcrb(bool userspace, struct zcrypt_queue *zq,
if (z_copy_to_user(userspace, (char __force __user *)xcrb->resp,
static int convert_response_xcrb(bool userspace, struct zcrypt_queue *zq,
return convert_type86_xcrb(userspace, zq, reply, xcrb);
static int convert_response_ep11_xcrb(bool userspace, struct zcrypt_queue *zq,
return convert_type86_ep11_xcrb(userspace, zq, reply, xcrb);
int prep_ep11_ap_msg(bool userspace, struct ep11_urb *xcrb,
int prep_cca_ap_msg(bool userspace, struct ica_xcRB *xcrb,