summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2014-10-23 21:02:40 +0000
committeralc <alc@FreeBSD.org>2014-10-23 21:02:40 +0000
commita16733e12da040a0b30d66475d15894ad805d18f (patch)
treeea689d96b402f2fa8de11642265503cf143ac70d
parent93ccee215cd3e965f2ce15f5a20fd10b99f40653 (diff)
downloadFreeBSD-src-a16733e12da040a0b30d66475d15894ad805d18f.zip
FreeBSD-src-a16733e12da040a0b30d66475d15894ad805d18f.tar.gz
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.
-rw-r--r--sys/i386/i386/machdep.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c
index 5ed5c54..efe999a 100644
--- a/sys/i386/i386/machdep.c
+++ b/sys/i386/i386/machdep.c
@@ -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);
/*
OpenPOWER on IntegriCloud