===== arch/ia64/mm/numa.c 1.6 vs edited ===== --- 1.6/arch/ia64/mm/numa.c Sun Jan 11 22:54:38 2004 +++ edited/arch/ia64/mm/numa.c Fri Jan 23 11:56:48 2004 @@ -20,6 +20,8 @@ #include #include #include +#include +#include static struct memblk *sysfs_memblks; static struct node *sysfs_nodes; @@ -50,6 +52,13 @@ break; return (i < num_memblks) ? node_memblk[i].nid : (num_memblks ? -1 : 0); +} + +void node_to_physid(int node, char *buf) +{ + struct nodepda_s *nodeinfo = NODEPDA(node); + + format_module_id(buf, nodeinfo->module->id, MODULE_FORMAT_BRIEF); } static int __init topology_init(void) ===== drivers/base/node.c 1.16 vs edited ===== --- 1.16/drivers/base/node.c Mon Dec 29 13:37:47 2003 +++ edited/drivers/base/node.c Fri Jan 23 12:25:44 2004 @@ -56,6 +56,17 @@ static SYSDEV_ATTR(meminfo,S_IRUGO,node_read_meminfo,NULL); +static ssize_t node_read_physid(struct sys_device * dev, char * buf) +{ + struct node *node_dev = to_node(dev); + int len; + + len = snprintf(buf, NODE_MAX_PHYSID + 1, "%s\n", node_dev->physid); + return len; +} + +static SYSDEV_ATTR(physid,S_IRUGO,node_read_physid,NULL); + /* * register_node - Setup a driverfs device for a node. * @num - Node number to use when creating the device. @@ -67,6 +78,7 @@ int error; node->cpumap = node_to_cpumask(num); + node_to_physid(num, node->physid); node->sysdev.id = num; node->sysdev.cls = &node_class; error = sys_device_register(&node->sysdev); @@ -74,6 +86,7 @@ if (!error){ sysdev_create_file(&node->sysdev, &attr_cpumap); sysdev_create_file(&node->sysdev, &attr_meminfo); + sysdev_create_file(&node->sysdev, &attr_physid); } return error; } ===== include/asm-ia64/topology.h 1.9 vs edited ===== --- 1.9/include/asm-ia64/topology.h Wed Jun 18 18:38:50 2003 +++ edited/include/asm-ia64/topology.h Fri Jan 23 11:40:51 2004 @@ -60,6 +60,8 @@ void build_cpu_to_node_map(void); +extern void node_to_physid(int node, char *buf); + #endif /* CONFIG_NUMA */ #include ===== include/asm-ia64/sn/module.h 1.10 vs edited ===== --- 1.10/include/asm-ia64/sn/module.h Sun Jan 18 22:36:15 2004 +++ edited/include/asm-ia64/sn/module.h Fri Jan 23 11:38:34 2004 @@ -14,6 +14,7 @@ #include +#include #include #include ===== include/linux/node.h 1.5 vs edited ===== --- 1.5/include/linux/node.h Mon Aug 18 19:46:23 2003 +++ edited/include/linux/node.h Fri Jan 23 11:32:44 2004 @@ -22,8 +22,11 @@ #include #include +#define NODE_MAX_PHYSID 80 + struct node { cpumask_t cpumap; /* Bitmap of CPUs on the Node */ + char physid[NODE_MAX_PHYSID]; /* Physical ID of node */ struct sys_device sysdev; };