child_sync
int wait_parent(struct child_sync *sync)
int prod_parent(struct child_sync *sync)
int init_child_sync(struct child_sync *sync)
void destroy_child_sync(struct child_sync *sync)
int wait_child(struct child_sync *sync)
int prod_child(struct child_sync *sync)
PARENT_SKIP_IF_UNSUPPORTED(ret, &info->child_sync, "PKEYs not supported");
PARENT_FAIL_IF(ret, &info->child_sync);
ret = prod_child(&info->child_sync);
PARENT_FAIL_IF(ret, &info->child_sync);
struct child_sync child_sync;
ret = init_child_sync(&info->child_sync);
destroy_child_sync(&info->child_sync);
ret = wait_parent(&info->child_sync);
ret = prod_parent(&info->child_sync);
CHILD_FAIL_IF(ret, &info->child_sync);
ret = wait_parent(&info->child_sync);
CHILD_FAIL_IF(reg != info->amr2, &info->child_sync);
ret = prod_parent(&info->child_sync);
CHILD_FAIL_IF(ret, &info->child_sync);
ret = wait_parent(&info->child_sync);
CHILD_FAIL_IF(reg != info->amr2, &info->child_sync);
ret = prod_parent(&info->child_sync);
CHILD_FAIL_IF(ret, &info->child_sync);
ret = wait_parent(&info->child_sync);
CHILD_FAIL_IF(reg != info->amr2, &info->child_sync);
ret = prod_parent(&info->child_sync);
CHILD_FAIL_IF(ret, &info->child_sync);
PARENT_SKIP_IF_UNSUPPORTED(ret, &info->child_sync, "PKEYs not supported");
PARENT_FAIL_IF(ret, &info->child_sync);
ret = prod_child(&info->child_sync);
PARENT_FAIL_IF(ret, &info->child_sync);
ret = wait_child(&info->child_sync);
PARENT_FAIL_IF(ret, &info->child_sync);
struct child_sync child_sync;
PARENT_FAIL_IF(regs[0] != info->amr1, &info->child_sync);
PARENT_FAIL_IF(regs[1] != info->expected_iamr, &info->child_sync);
PARENT_FAIL_IF(regs[2] != info->expected_uamor, &info->child_sync);
PARENT_FAIL_IF(ret, &info->child_sync);
ret = prod_child(&info->child_sync);
PARENT_FAIL_IF(ret, &info->child_sync);
ret = wait_child(&info->child_sync);
PARENT_FAIL_IF(ret, &info->child_sync);
ret = prod_child(&info->child_sync);
PARENT_FAIL_IF(ret, &info->child_sync);
ret = wait_child(&info->child_sync);
PARENT_FAIL_IF(!ret, &info->child_sync);
PARENT_FAIL_IF(!ret, &info->child_sync);
PARENT_FAIL_IF(ret, &info->child_sync);
PARENT_FAIL_IF(regs[0] != info->amr2, &info->child_sync);
PARENT_FAIL_IF(regs[1] != info->expected_iamr, &info->child_sync);
PARENT_FAIL_IF(regs[2] != info->expected_uamor, &info->child_sync);
ret = prod_child(&info->child_sync);
PARENT_FAIL_IF(ret, &info->child_sync);
ret = init_child_sync(&info->child_sync);
destroy_child_sync(&info->child_sync);
ret = wait_parent(&info->child_sync);
CHILD_FAIL_IF(pkey1 < 0, &info->child_sync);
CHILD_FAIL_IF(pkey2 < 0, &info->child_sync);
CHILD_FAIL_IF(pkey3 < 0, &info->child_sync);