Line 97... |
Line 97... |
model_array[1] = (host_val >> 8) & 0xff;
|
model_array[1] = (host_val >> 8) & 0xff;
|
model_array[2] = (host_val >> 16) & 0xff;
|
model_array[2] = (host_val >> 16) & 0xff;
|
model_array[3] = (host_val >> 24) & 0xff;
|
model_array[3] = (host_val >> 24) & 0xff;
|
#endif
|
#endif
|
|
|
return *((unsigned long int *)model_array);
|
unsigned long int *res = (unsigned long int *) model_array;
|
|
return *res;
|
|
|
} /* htoml () */
|
} /* htoml () */
|
|
|
|
|
/* Convert a 16-bit value from host to model endianess */
|
/* Convert a 16-bit value from host to model endianess */
|
Line 116... |
Line 117... |
#else
|
#else
|
model_array[0] = (host_val ) & 0xff;
|
model_array[0] = (host_val ) & 0xff;
|
model_array[1] = (host_val >> 8) & 0xff;
|
model_array[1] = (host_val >> 8) & 0xff;
|
#endif
|
#endif
|
|
|
return *((unsigned short int *)model_array);
|
unsigned short int *res = (unsigned short int *) model_array;
|
|
return *res;
|
|
|
} /* htoms () */
|
} /* htoms () */
|
|
|
|
|
/* Convert a 32-bit value from model to host endianess */
|
/* Convert a 32-bit value from model to host endianess */
|
Line 224... |
Line 226... |
|
|
/* This works whatever the host endianess */
|
/* This works whatever the host endianess */
|
memset (mask_array, 0, 4);
|
memset (mask_array, 0, 4);
|
mask_array[bytenum] = 0xff;
|
mask_array[bytenum] = 0xff;
|
|
|
res = ext_read (wordaddr, *((unsigned int *)mask_array));
|
unsigned int *arg_ptr = (unsigned int *) mask_array;
|
|
res = ext_read (wordaddr, *arg_ptr);
|
res_array = (uint8_t *)(&res);
|
res_array = (uint8_t *)(&res);
|
|
|
return res_array[bytenum];
|
return res_array[bytenum];
|
}
|
}
|
} /* generic_read_byte() */
|
} /* generic_read_byte() */
|
Line 261... |
Line 264... |
memset (mask_array, 0, 4);
|
memset (mask_array, 0, 4);
|
mask_array[bytenum] = 0xff;
|
mask_array[bytenum] = 0xff;
|
memset (value_array, 0, 4);
|
memset (value_array, 0, 4);
|
value_array[bytenum] = value;
|
value_array[bytenum] = value;
|
|
|
ext_write (wordaddr, *((unsigned long int *)mask_array),
|
unsigned long int *arg1_ptr = (unsigned long int *)mask_array;
|
*((unsigned long int *)value_array));
|
unsigned long int *arg2_ptr = (unsigned long int *)value_array;
|
|
ext_write (wordaddr, *arg1_ptr, *arg2_ptr);
|
}
|
}
|
} /* generic_write_byte() */
|
} /* generic_write_byte() */
|
|
|
|
|
/* Result is in model endianess */
|
/* Result is in model endianess */
|
Line 307... |
Line 311... |
/* This works whatever the host endianess */
|
/* This works whatever the host endianess */
|
memset (mask_array, 0, 4);
|
memset (mask_array, 0, 4);
|
mask_array[bytenum] = 0xff;
|
mask_array[bytenum] = 0xff;
|
mask_array[bytenum + 1] = 0xff;
|
mask_array[bytenum + 1] = 0xff;
|
|
|
res = ext_read (wordaddr, *((unsigned int *)mask_array));
|
unsigned int *arg_ptr = (unsigned int *) mask_array;
|
|
res = ext_read (wordaddr, *arg_ptr);
|
res_array = (uint8_t *)(&res);
|
res_array = (uint8_t *)(&res);
|
|
|
hwres_array[0] = res_array[bytenum];
|
hwres_array[0] = res_array[bytenum];
|
hwres_array[1] = res_array[bytenum + 1];
|
hwres_array[1] = res_array[bytenum + 1];
|
|
|
return htoms (*((uint16_t *)hwres_array));
|
uint16_t *hwres_ptr = (uint16_t *) hwres_array;
|
|
return htoms (*hwres_ptr);
|
}
|
}
|
} /* generic_read_hw() */
|
} /* generic_read_hw() */
|
|
|
|
|
/* Value is in model endianness */
|
/* Value is in model endianness */
|
Line 360... |
Line 366... |
memset (value_array, 0, 4);
|
memset (value_array, 0, 4);
|
hw_value_array = (uint8_t *)(&host_value);
|
hw_value_array = (uint8_t *)(&host_value);
|
value_array[bytenum] = hw_value_array[0];
|
value_array[bytenum] = hw_value_array[0];
|
value_array[bytenum + 1] = hw_value_array[1];
|
value_array[bytenum + 1] = hw_value_array[1];
|
|
|
ext_write (wordaddr, *((unsigned long int *)mask_array),
|
unsigned long int *arg1_ptr = (unsigned long int *)mask_array;
|
*((unsigned long int *)value_array));
|
unsigned long int *arg2_ptr = (unsigned long int *)value_array;
|
|
ext_write (wordaddr, *arg1_ptr, *arg2_ptr);
|
}
|
}
|
} /* generic_write_hw() */
|
} /* generic_write_hw() */
|
|
|
|
|
static uint32_t
|
static uint32_t
|