Index: src/as-system-info.c --- src/as-system-info.c.orig +++ src/as-system-info.c @@ -45,7 +45,7 @@ #if defined(__linux__) #include -#elif defined(__FreeBSD__) +#elif defined(__FreeBSD__) || defined(__OpenBSD__) #include #include #endif @@ -408,6 +408,10 @@ as_get_physical_memory_total (void) #elif defined(__FreeBSD__) unsigned long physmem; sysctl ((int[]){ CTL_HW, HW_PHYSMEM }, 2, &physmem, &(size_t){ sizeof (physmem) }, NULL, 0); + return physmem / MB_IN_BYTES; +#elif defined(__OpenBSD__) + unsigned long physmem; + sysctl ((int[]){ CTL_HW, HW_PHYSMEM64 }, 2, &physmem, &(size_t){ sizeof (physmem) }, NULL, 0); return physmem / MB_IN_BYTES; #else #error "Implementation of as_get_physical_memory_total() missing for this OS."