Пример #1
0
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;
}
Пример #2
0
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;
}
Пример #3
0
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;
  }
}
Пример #4
0
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" );
   }

}