patch-2.4.21 linux-2.4.21/arch/ia64/sn/fakeprom/fpmem.c
Next file: linux-2.4.21/arch/ia64/sn/fakeprom/fprom.lds
Previous file: linux-2.4.21/arch/ia64/sn/fakeprom/README
Back to the patch index
Back to the overall index
- Lines: 41
- Date:
2003-06-13 07:51:30.000000000 -0700
- Orig file:
linux-2.4.20/arch/ia64/sn/fakeprom/fpmem.c
- Orig date:
2002-11-28 15:53:09.000000000 -0800
diff -urN linux-2.4.20/arch/ia64/sn/fakeprom/fpmem.c linux-2.4.21/arch/ia64/sn/fakeprom/fpmem.c
@@ -54,10 +54,10 @@
#define PROMRESERVED_SIZE (1*MB)
#ifdef CONFIG_IA64_SGI_SN1
-#define PHYS_ADDRESS(_n, _x) (((long)_n<<33L) | (long)_x)
+#define PHYS_ADDRESS(_n, _x) (((long)_n<<33) | (long)_x)
#define MD_BANK_SHFT 30
#else
-#define PHYS_ADDRESS(_n, _x) (((long)_n<<38L) | (long)_x | 0x3000000000UL)
+#define PHYS_ADDRESS(_n, _x) (((long)_n<<38) | (long)_x | 0x3000000000UL)
#define MD_BANK_SHFT 34
#endif
@@ -94,7 +94,7 @@
int
IsCpuPresent(int cnode, int cpu)
{
- return sn_memmap[cnode].cpuconfig & (1<<cpu);
+ return sn_memmap[cnode].cpuconfig & (1UL<<cpu);
}
@@ -205,7 +205,17 @@
*/
numbytes = numbytes * 31 / 32;
#endif
- numbytes -= 1000;
+ /*
+ * Only emulate the memory prom grabs
+ * if we have lots of memory, to allow
+ * us to simulate smaller memory configs than
+ * we can actually run on h/w. Otherwise,
+ * linux throws away a whole "granule".
+ */
+ if (cnode == 0 && bank == 0 &&
+ numbytes > 128*1024*1024) {
+ numbytes -= 1000;
+ }
/*
* Check for the node 0 hole. Since banks cant
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)