svn commit: r273558 - head/sys/i386/i386

Alan Cox alc at FreeBSD.org
Thu Oct 23 21:02:41 UTC 2014


Author: alc
Date: Thu Oct 23 21:02:40 2014
New Revision: 273558
URL: https://svnweb.freebsd.org/changeset/base/273558

Log:
  Under PAE ULONG is insufficient for representing the physical memory size.  Use QUAD
  for "hw.physmem" so that a physical memory size greater than 4 GB can be specified
  from the boot loader.

Modified:
  head/sys/i386/i386/machdep.c

Modified: head/sys/i386/i386/machdep.c
==============================================================================
--- head/sys/i386/i386/machdep.c	Thu Oct 23 20:43:16 2014	(r273557)
+++ head/sys/i386/i386/machdep.c	Thu Oct 23 21:02:40 2014	(r273558)
@@ -2463,10 +2463,10 @@ static void
 getmemsize(int first)
 {
 	int has_smap, off, physmap_idx, pa_indx, da_indx;
-	u_long physmem_tunable, memtest;
+	u_long memtest;
 	vm_paddr_t physmap[PHYSMAP_SIZE];
 	pt_entry_t *pte;
-	quad_t dcons_addr, dcons_size;
+	quad_t dcons_addr, dcons_size, physmem_tunable;
 #ifndef XEN
 	int hasbrokenint12, i, res;
 	u_int extmem;
@@ -2650,7 +2650,7 @@ physmap_done:
 	Maxmem = MAXMEM / 4;
 #endif
 
-	if (TUNABLE_ULONG_FETCH("hw.physmem", &physmem_tunable))
+	if (TUNABLE_QUAD_FETCH("hw.physmem", &physmem_tunable))
 		Maxmem = atop(physmem_tunable);
 
 	/*


More information about the svn-src-all mailing list