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);
 
        /*
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to