do_syscall: Delegate system calls to the mcexec with the same pid
This includes the following fix: send_syscall, do_syscall: remove argument pid Fujitsu: POSTK_TEMP_FIX_26 Refs: #1165 Change-Id: I702362c07a28f507a5e43dd751949aefa24bc8c0
This commit is contained in:
committed by
Masamichi Takagi
parent
c23bc8d401
commit
7e342751a2
@@ -1755,7 +1755,7 @@ mcexec_getcredv(int __user *virt)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int mcexec_create_per_process_data(ihk_os_t os)
|
||||
int mcexec_create_per_process_data(ihk_os_t os, struct rpgtable_desc *rpt)
|
||||
{
|
||||
struct mcctrl_usrdata *usrdata = ihk_host_os_get_usrdata(os);
|
||||
struct mcctrl_per_proc_data *ppd = NULL;
|
||||
@@ -1812,6 +1812,11 @@ int mcexec_create_per_process_data(ihk_os_t os)
|
||||
dprintk("%s: PID: %d, counter: %d\n",
|
||||
__FUNCTION__, ppd->pid, atomic_read(&ppd->refcount));
|
||||
|
||||
if (rpt) {
|
||||
ppd->rpgtable = rpt->rpgtable;
|
||||
return mcctrl_clear_pte_range(rpt->start, rpt->len);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2638,7 +2643,8 @@ static long mcexec_release_user_space(struct release_user_space_desc *__user arg
|
||||
}
|
||||
|
||||
#if 1
|
||||
return clear_pte_range(desc.user_start, desc.user_end - desc.user_start);
|
||||
return mcctrl_clear_pte_range(desc.user_start,
|
||||
desc.user_end - desc.user_start);
|
||||
#else
|
||||
return release_user_space(desc.user_start, desc.user_end - desc.user_start);
|
||||
#endif
|
||||
@@ -3157,7 +3163,8 @@ long __mcctrl_control(ihk_os_t os, unsigned int req, unsigned long arg,
|
||||
return mcexec_get_cpu(os);
|
||||
|
||||
case MCEXEC_UP_CREATE_PPD:
|
||||
return mcexec_create_per_process_data(os);
|
||||
return mcexec_create_per_process_data(os,
|
||||
(struct rpgtable_desc *)arg);
|
||||
|
||||
case MCEXEC_UP_GET_NODES:
|
||||
return mcexec_get_nodes(os);
|
||||
|
||||
Reference in New Issue
Block a user