#define MAX_EMUL_DEVICES (3)
#define DEFAULT_DSPM_SIZE (128 * 1024) /* 128 KiB */
#define RESERVED_DSPM_SIZE (64 * 1024) /* 64 KiB */
+#define ENVNAME_DSPM_SIZE ("MRPSIM_SPM_SIZE")
static uint64_t global_exec_seq = 0;
*dspm = DEFAULT_DSPM_SIZE;
- char *dspm_str = getenv ("MRPSIM_SPM_SIZE");
+ char *dspm_str = getenv (ENVNAME_DSPM_SIZE);
if (dspm_str != NULL) {
- unsigned long val;
+ unsigned long long val;
char *unit = nullptr;
errno = 0;
- val = strtoul (dspm_str, &unit, 10);
- if (errno == 0) {
+ val = strtoull (dspm_str, &unit, 10);
+ if (errno == 0 && val < 1024 * 1024) {
if (unit) {
- if (*unit == 'K' || *unit == 'k') {
+ if (*unit == 'K' || *unit == 'k')
val *= 1024;
- } else if (*unit == 'M' || *unit == 'm') {
+ else if (*unit == 'M' || *unit == 'm')
val *= 1024 * 1024;
- } else if (*unit == 'G' || *unit == 'g') {
- val *= 1024 * 1024 * 1024;
- }
}
/* unlimited size */