X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Futil.c;h=10daff3036071a7944a826d1a080b1d4d2193caf;hp=285a263cdbe5cc13a8946bc6c699e6e92fb88e43;hb=1c231f56482546725c4dbd3303f70300bd3c63e9;hpb=b5d742138f71e87312541a89aac5657015f50f48;ds=sidebyside diff --git a/src/shared/util.c b/src/shared/util.c index 285a263cd..10daff303 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -6291,3 +6291,15 @@ const char* personality_to_string(unsigned long p) { return NULL; } + +uint64_t physical_memory(void) { + long mem; + + /* We return this as uint64_t in case we are running as 32bit + * process on a 64bit kernel with huge amounts of memory */ + + mem = sysconf(_SC_PHYS_PAGES); + assert(mem > 0); + + return (uint64_t) mem * (uint64_t) page_size(); +}