summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2011-04-21 18:09:02 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2011-04-21 18:09:02 +0000
commitc01b2d81354a395ab72a85af55582bdea00c1e5e (patch)
treed556c57ef49bbda6d0b63853d5e158bae84b7667 /sys/arch
parent88f23697bd32e7d70629645e0f0b184eec996bad (diff)
Use 64 bit integer types to compute IP35 memory ranges, to give machines
with memory beyond 4GB physical a chance to run. For some reason IP27 was already correct.
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/sgi/sgi/sginode.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/arch/sgi/sgi/sginode.c b/sys/arch/sgi/sgi/sginode.c
index 76cf0304e7b..e3216ef7cc3 100644
--- a/sys/arch/sgi/sgi/sginode.c
+++ b/sys/arch/sgi/sgi/sginode.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sginode.c,v 1.23 2011/04/17 17:44:24 miod Exp $ */
+/* $OpenBSD: sginode.c,v 1.24 2011/04/21 18:09:01 miod Exp $ */
/*
* Copyright (c) 2008, 2009, 2011 Miodrag Vallat.
*
@@ -518,7 +518,7 @@ kl_add_memory_ip27(int16_t nasid, int16_t *sizes, unsigned int cnt)
basepa = (paddr_t)nasid << kl_n_shift;
- /* note we know kl_n_shift >> 31, so 2GB windows can not span nodes */
+ /* note we know kl_n_shift > 31, so 2GB windows can not span nodes */
twogseg = basepa >> 31;
twogcnt = 0;
@@ -585,13 +585,13 @@ void
kl_add_memory_ip35(int16_t nasid, int16_t *sizes, unsigned int cnt)
{
paddr_t basepa;
- uint32_t fp, lp, np;
+ uint64_t fp, lp, np;
paddr_t twogseg;
psize_t twogcnt;
basepa = (paddr_t)nasid << kl_n_shift;
- /* note we know kl_n_shift >> 31, so 2GB windows can not span nodes */
+ /* note we know kl_n_shift > 31, so 2GB windows can not span nodes */
twogseg = basepa >> 31;
twogcnt = 0;