diff options
| author | Brad Smith <brad@comstyle.com> | 2025-06-01 04:24:12 -0400 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-06-01 19:01:07 -0700 |
| commit | 35c1d592cd11429e402501df3ad68bcd0fb86bef (patch) | |
| tree | f77945fab83b3fb7fbbbe99a132e1e9411b9b1c3 /builtin/gc.c | |
| parent | 7014b55638da979331baf8dc31c4e1d697cf2d67 (diff) | |
| download | git-35c1d592cd11429e402501df3ad68bcd0fb86bef.tar.gz | |
builtin/gc: correct physical memory detection for OpenBSD / NetBSD
OpenBSD / NetBSD use HW_PHYSMEM64 to detect the amount of physical
memory in a system. HW_PHYSMEM will not provide the correct amount
on a system with >=4GB of memory.
Signed-off-by: Brad Smith <brad@comstyle.com>
Reviewed-by: Collin Funk <collin.funk1@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/gc.c')
| -rw-r--r-- | builtin/gc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/builtin/gc.c b/builtin/gc.c index e33ba946e4..7dc94f243d 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -516,7 +516,7 @@ static uint64_t total_ram(void) total *= (uint64_t)si.mem_unit; return total; } -#elif defined(HAVE_BSD_SYSCTL) && (defined(HW_MEMSIZE) || defined(HW_PHYSMEM)) +#elif defined(HAVE_BSD_SYSCTL) && (defined(HW_MEMSIZE) || defined(HW_PHYSMEM) || defined(HW_PHYSMEM64)) int64_t physical_memory; int mib[2]; size_t length; @@ -524,6 +524,8 @@ static uint64_t total_ram(void) mib[0] = CTL_HW; # if defined(HW_MEMSIZE) mib[1] = HW_MEMSIZE; +# elif defined(HW_PHYSMEM64) + mib[1] = HW_PHYSMEM64; # else mib[1] = HW_PHYSMEM; # endif |
