temporary fix for bug #889

This commit is contained in:
Tomoki Shirasawa
2017-07-04 12:04:37 +09:00
parent 67843151d3
commit 0061adadfb
2 changed files with 4 additions and 5 deletions

View File

@ -1770,9 +1770,6 @@ void __return_syscall(ihk_os_t os, struct ikc_scd_packet *packet,
unsigned long phys;
struct syscall_response *res;
if (stid == -1)
return;
phys = ihk_device_map_memory(ihk_os_to_dev(os),
packet->resp_pa, sizeof(*res));
res = ihk_device_map_virtual(ihk_os_to_dev(os),

View File

@ -211,8 +211,7 @@ long do_syscall(struct syscall_request *req, int cpu, int pid)
send_syscall(req, cpu, pid, &res);
if (req->rtid == -1) {
rc = 0;
goto out;
preempt_disable();
}
dkprintf("%s: syscall num: %d waiting for Linux.. \n",
@ -363,6 +362,9 @@ long do_syscall(struct syscall_request *req, int cpu, int pid)
send_syscall(&req2, cpu, pid, &res);
}
}
if (req->rtid == -1) {
preempt_enable();
}
dkprintf("%s: syscall num: %d got host reply: %d \n",
__FUNCTION__, req->number, res.ret);