Module Name: src Committed By: palle Date: Sun Mar 22 19:33:21 UTC 2015
Modified Files: src/sys/arch/sparc64/include: mdesc.h src/sys/arch/sparc64/sparc64: mdesc.c Log Message: sun4v: added new function mdesc_name_by_idx() for retrieving the name of a node To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/sparc64/include/mdesc.h cvs rdiff -u -r1.3 -r1.4 src/sys/arch/sparc64/sparc64/mdesc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/sparc64/include/mdesc.h diff -u src/sys/arch/sparc64/include/mdesc.h:1.2 src/sys/arch/sparc64/include/mdesc.h:1.3 --- src/sys/arch/sparc64/include/mdesc.h:1.2 Mon Jan 19 19:46:08 2015 +++ src/sys/arch/sparc64/include/mdesc.h Sun Mar 22 19:33:21 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: mdesc.h,v 1.2 2015/01/19 19:46:08 palle Exp $ */ +/* $NetBSD: mdesc.h,v 1.3 2015/03/22 19:33:21 palle Exp $ */ /* $OpenBSD: mdesc.h,v 1.3 2014/11/30 22:26:14 kettenis Exp $ */ /* * Copyright (c) 2009 Mark Kettenis @@ -50,4 +50,5 @@ int mdesc_find_child(int, const char *, int mdesc_find_node(const char *); int mdesc_find_node_by_idx(int, const char *); int mdesc_next_node(int); +const char *mdesc_name_by_idx(int); #endif Index: src/sys/arch/sparc64/sparc64/mdesc.c diff -u src/sys/arch/sparc64/sparc64/mdesc.c:1.3 src/sys/arch/sparc64/sparc64/mdesc.c:1.4 --- src/sys/arch/sparc64/sparc64/mdesc.c:1.3 Mon Jan 19 19:46:08 2015 +++ src/sys/arch/sparc64/sparc64/mdesc.c Sun Mar 22 19:33:21 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: mdesc.c,v 1.3 2015/01/19 19:46:08 palle Exp $ */ +/* $NetBSD: mdesc.c,v 1.4 2015/03/22 19:33:21 palle Exp $ */ /* $OpenBSD: mdesc.c,v 1.7 2014/11/30 22:26:15 kettenis Exp $ */ /* * Copyright (c) 2009 Mark Kettenis @@ -253,3 +253,23 @@ mdesc_next_node(int idx) return elem[idx].d.val; } +const char * +mdesc_name_by_idx(int idx) +{ + struct md_header *hdr; + struct md_element *elem; + const char *name_blk; + const char *str; + + hdr = (struct md_header *)mdesc; + elem = (struct md_element *)(mdesc + sizeof(struct md_header)); + name_blk = (char *)mdesc + sizeof(struct md_header) + hdr->node_blk_sz; + + str = name_blk + elem[idx].name_offset; + + return str; + +} + + +