diff --git a/executer/kernel/mcctrl/mcctrl.h b/executer/kernel/mcctrl/mcctrl.h index 5b440cc0..f8362117 100644 --- a/executer/kernel/mcctrl/mcctrl.h +++ b/executer/kernel/mcctrl/mcctrl.h @@ -111,7 +111,6 @@ struct ikc_scd_packet { int ref; int osnum; int pid; - int padding; unsigned long arg; struct syscall_request req; unsigned long resp_pa; @@ -124,6 +123,7 @@ struct ikc_scd_packet { long sysfs_arg3; }; }; + char padding[12]; }; struct mcctrl_priv { diff --git a/kernel/include/syscall.h b/kernel/include/syscall.h index 111edf07..1a107854 100644 --- a/kernel/include/syscall.h +++ b/kernel/include/syscall.h @@ -209,7 +209,6 @@ struct ikc_scd_packet { int ref; int osnum; int pid; - int padding; unsigned long arg; struct syscall_request req; unsigned long resp_pa; @@ -222,6 +221,7 @@ struct ikc_scd_packet { long sysfs_arg3; }; }; + char padding[12]; }; struct syscall_response { diff --git a/kernel/syscall.c b/kernel/syscall.c index 5c443d99..dae81b9c 100644 --- a/kernel/syscall.c +++ b/kernel/syscall.c @@ -129,7 +129,7 @@ static void do_mod_exit(int status); static void send_syscall(struct syscall_request *req, int cpu, int pid, struct syscall_response *res) { - struct ikc_scd_packet packet; + struct ikc_scd_packet packet IHK_DMA_ALIGN; struct ihk_ikc_channel_desc *syscall_channel; int ret;