patch-2.3.44 linux/mm/numa.c
Next file: linux/mm/page_alloc.c
Previous file: linux/kernel/ksyms.c
Back to the patch index
Back to the overall index
- Lines: 47
- Date:
Fri Feb 11 08:22:00 2000
- Orig file:
v2.3.43/linux/mm/numa.c
- Orig date:
Wed Dec 8 14:11:28 1999
diff -u --recursive --new-file v2.3.43/linux/mm/numa.c linux/mm/numa.c
@@ -16,6 +16,18 @@
static bootmem_data_t contig_bootmem_data;
pg_data_t contig_page_data = { bdata: &contig_bootmem_data };
+/*
+ * This is meant to be invoked by platforms whose physical memory starts
+ * at a considerably higher value than 0. Examples are Super-H, ARM, m68k.
+ * Should be invoked with paramters (0, 0, unsigned long *[], start_paddr).
+ */
+void __init free_area_init_node(int nid, pg_data_t *pgdat,
+ unsigned long *zones_size, unsigned long zone_start_paddr)
+{
+ free_area_init_core(0, NODE_DATA(0), &mem_map, zones_size,
+ zone_start_paddr);
+}
+
#endif /* !CONFIG_DISCONTIGMEM */
struct page * alloc_pages_node(int nid, int gfp_mask, unsigned long order)
@@ -29,10 +41,6 @@
static spinlock_t node_lock = SPIN_LOCK_UNLOCKED;
-extern void show_free_areas_core(int);
-extern void __init free_area_init_core(int nid, pg_data_t *pgdat,
- struct page **gmap, unsigned int *zones_size, unsigned long paddr);
-
void show_free_areas_node(int nid)
{
unsigned long flags;
@@ -47,7 +55,7 @@
* Nodes can be initialized parallely, in no particular order.
*/
void __init free_area_init_node(int nid, pg_data_t *pgdat,
- unsigned int *zones_size, unsigned long zone_start_paddr)
+ unsigned long *zones_size, unsigned long zone_start_paddr)
{
int i, size = 0;
struct page *discard;
@@ -56,6 +64,7 @@
mem_map = (mem_map_t *)PAGE_OFFSET;
free_area_init_core(nid, pgdat, &discard, zones_size, zone_start_paddr);
+ pgdat->node_id = nid;
/*
* Get space for the valid bitmap.
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)