void second( void *ptr ) { int i; my_args *args = (my_args *)ptr; my_args local; nanos_get_addr( 0, (void **)&local.a, nanos_current_wd() ); nanos_get_addr( 1, (void **)&local.b, nanos_current_wd() ); if ( *(local.a) != 24 ) { printf( "Error in argument is incorrect, received %d and it should be 24 FAIL\n", *(local.a) ); abort(); } else { printf( "Checking in argument ... PASS\n" ); } printf( "Checking for inout argument ..."); if ( strcmp(args->b, local.b) == 0) { printf( " PASS\n"); } else { printf( " FAIL\n"); printf( "Argument is '%s' while the copy is '%s'\n", args->b, local.b ); abort(); } for ( i = 0; i < 9; i++ ) local.b[i] = '9'-i; }
void first( void *ptr ) { int i; my_args *args = (my_args *)ptr; my_args local; nanos_copy_value( &local.a, 0, nanos_current_wd() ); nanos_get_addr( 1, (void **)&local.b, nanos_current_wd() ); if ( args->a != local.a ) { printf( "Error private argument is incorrect, %d in args and %d through the copies FAIL\n", args->a, local.a ); abort(); } else { printf( "Checking private argument ... PASS\n" ); } printf( "Checking for shared argument ..."); if ( strcmp(args->b, local.b) == 0) { printf( " PASS\n"); } else { printf( " FAIL\n"); printf( "Argument is '%s' while the copy is '%s'\n", args->b, local.b ); abort(); } for ( i = 0; i < 9; i++ ) local.b[i] = '9'-i; }
static void nanos_xlate_fun_fibompmemoc_1(struct nanos_args_1_t *const arg, void *wd) { { void *device_base_address; nanos_err_t err; device_base_address = 0; err = nanos_get_addr(0, &device_base_address, wd); if (err != NANOS_OK) { nanos_handle_error(err); } (*arg).res = (int *)device_base_address; } }
void second( void *ptr ) { my_args *args = (my_args *)ptr; my_args local; nanos_copy_value( &local.a, 0, nanos_current_wd() ); nanos_get_addr( 1, (void **)&local.b, nanos_current_wd() ); if ( args->a != local.a ) { printf( "Error private argument is incorrect, %d in args and %d through the copies FAIL\n", args->a, local.a ); abort(); } else { printf( "Checking private argument ... PASS\n" ); } }