Browse Source

Use PHYSMEM64 on NetBSD

I realize we should use PHYSMEM64 on NetBSD. So we can not share code with FreeBSD.
Andreas T Jonsson 1 year ago
parent
commit
384137d4e9
1 changed files with 9 additions and 1 deletions
  1. 9 1
      src/bug_report.cpp

+ 9 - 1
src/bug_report.cpp

@@ -250,6 +250,14 @@ gb_internal void report_ram_info() {
 		if (sysctl(mibs, 2, &ram_amount, &val_size, NULL, 0) != -1) {
 			gb_printf("%lld MiB\n", ram_amount / gb_megabytes(1));
 		}
+	#elif defined(GB_SYSTEM_NETBSD)
+		uint64_t ram_amount;
+		size_t   val_size = sizeof(ram_amount);
+
+		int mibs[] = { CTL_HW, HW_PHYSMEM64 };
+		if (sysctl(mibs, 2, &ram_amount, &val_size, NULL, 0) != -1) {
+			gb_printf("%lu MiB\n", ram_amount / gb_megabytes(1));
+		}
 	#elif defined(GB_SYSTEM_OPENBSD)
 		uint64_t ram_amount;
 		size_t   val_size = sizeof(ram_amount);
@@ -258,7 +266,7 @@ gb_internal void report_ram_info() {
 		if (sysctl(mibs, 2, &ram_amount, &val_size, NULL, 0) != -1) {
 			gb_printf("%lld MiB\n", ram_amount / gb_megabytes(1));
 		}
-	#elif defined(GB_SYSTEM_FREEBSD) || defined(GB_SYSTEM_NETBSD)
+	#elif defined(GB_SYSTEM_FREEBSD)
 		uint64_t ram_amount;
 		size_t   val_size = sizeof(ram_amount);