1/** 2 * \file 3 * \brief remote retype test 4 */ 5 6/* 7 * Copyright (c) 2016, ETH Zurich. 8 * All rights reserved. 9 * 10 * This file is distributed under the terms in the attached LICENSE file. 11 * If you do not find this file, copies can be found by writing to: 12 * ETH Zurich D-INFK, Universitaetstr 6, CH-8092 Zurich. Attn: Systems Group. 13 */ 14 15#ifndef TEST_DISTOPS_TEST_H 16#define TEST_DISTOPS_TEST_H 17 18#define PANIC_IF_ERR(err, msg...) \ 19do { \ 20 if (err_is_fail(err)) { \ 21 USER_PANIC_ERR(err, msg); \ 22 } \ 23} while(0) 24 25#define RAM_BITS LARGE_PAGE_BITS 26#define RAM_SIZE (1UL << RAM_BITS) 27 28void init_server(struct test_binding *b); 29void server_do_test(struct test_binding *b, uint32_t test, struct capref cap); 30 31void init_client(struct test_binding *b); 32void client_do_test(struct test_binding *b, uint32_t test, struct capref cap); 33 34void test_retype(struct capref src, struct capref *dest, gensize_t offset, 35 gensize_t size, size_t count, errval_t expected_err, 36 const char *role); 37 38static inline void client_test_retype(struct capref src, struct capref *dest, 39 gensize_t offset, gensize_t size, 40 size_t count, errval_t expected_err) 41{ 42 return test_retype(src, dest, offset, size, count, expected_err, "client"); 43} 44 45static inline void server_test_retype(struct capref src, struct capref *dest, 46 gensize_t offset, gensize_t size, 47 size_t count, errval_t expected_err) 48{ 49 return test_retype(src, dest, offset, size, count, expected_err, "server"); 50} 51 52 53#endif // TEST_DISTOPS_TEST_H 54