summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-04-24 20:33:04 +0000
committerphk <phk@FreeBSD.org>2002-04-24 20:33:04 +0000
commit024e952d8ceeb3e20abe67e1ed418eadc80dd897 (patch)
treecfe0a0b5ed648d132caad846d4c0ccfa6caa0622 /tools
parent4c7b56686f1dac7971459c8ba7901776ad7ae573 (diff)
downloadFreeBSD-src-024e952d8ceeb3e20abe67e1ed418eadc80dd897.zip
FreeBSD-src-024e952d8ceeb3e20abe67e1ed418eadc80dd897.tar.gz
Prepare the .conf XML comparator for a more kosher XML format.
Sponsored by: DARPA & NAI Labs.
Diffstat (limited to 'tools')
-rw-r--r--tools/regression/geom/ConfCmp/ConfCmp.c42
-rw-r--r--tools/regression/geom/ConfCmp/Makefile16
-rw-r--r--tools/regression/geom/ConfCmp/a2.conf481
-rw-r--r--tools/regression/geom/ConfCmp/a2a.conf207
-rw-r--r--tools/regression/geom/ConfCmp/a2b.conf207
-rw-r--r--tools/regression/geom/ConfCmp/a2c.conf206
-rw-r--r--tools/regression/geom/ConfCmp/a2d.conf211
7 files changed, 1004 insertions, 366 deletions
diff --git a/tools/regression/geom/ConfCmp/ConfCmp.c b/tools/regression/geom/ConfCmp/ConfCmp.c
index dd129ba..2bd54b8 100644
--- a/tools/regression/geom/ConfCmp/ConfCmp.c
+++ b/tools/regression/geom/ConfCmp/ConfCmp.c
@@ -52,9 +52,11 @@ struct node {
LIST_HEAD(, node) children;
LIST_ENTRY(node) siblings;
struct node *parent;
- char *name;
+ const char *name;
struct sbuf *cont;
struct sbuf *key;
+ char *id;
+ char *ref;
};
struct mytree {
@@ -94,10 +96,11 @@ indent(int n)
}
static void
-StartElement(void *userData, const char *name, const char **atts __unused)
+StartElement(void *userData, const char *name, const char **attr)
{
struct mytree *mt;
struct node *np;
+ int i;
mt = userData;
if (!strcmp(name, "FreeBSD")) {
@@ -107,6 +110,12 @@ StartElement(void *userData, const char *name, const char **atts __unused)
mt->ignore = 0;
mt->indent += 2;
np = new_node();
+ for (i = 0; attr[i]; i += 2) {
+ if (!strcmp(attr[i], "id"))
+ np->id = strdup(attr[i+1]);
+ else if (!strcmp(attr[i], "ref"))
+ np->ref = strdup(attr[i+1]);
+ }
np->name = strdup(name);
sbuf_cat(np->key, name);
sbuf_cat(np->key, "::");
@@ -198,7 +207,22 @@ dofile(char *filename)
static void
print_node(struct node *np)
{
- printf("\"%s\" -- \"%s\" -- \"%s\"\n", np->name, sbuf_data(np->cont), sbuf_data(np->key));
+ printf("\"%s\" -- \"%s\" -- \"%s\"", np->name, sbuf_data(np->cont), sbuf_data(np->key));
+ if (np->id)
+ printf(" id=\"%s\"", np->id);
+ if (np->ref)
+ printf(" ref=\"%s\"", np->ref);
+ printf("\n");
+}
+
+static void
+print_tree(struct node *np, int n)
+{
+ struct node *np1;
+
+ indent(n); printf("%s id=%s ref=%s\n", np->name, np->id, np->ref);
+ LIST_FOREACH(np1, &np->children, siblings)
+ print_tree(np1, n + 2);
}
static void
@@ -256,6 +280,18 @@ compare_node(struct node *n1, struct node *n2, int in)
i = strcmp(n1->name, n2->name);
if (i)
return (i);
+ if (n1->id && n2->id)
+ i = refcmp(n1->id, n2->id);
+ else if (n1->id || n2->id)
+ i = -1;
+ if (i)
+ return (i);
+ if (n1->ref && n2->ref)
+ i = refcmp(n1->ref, n2->ref);
+ else if (n1->ref || n2->ref)
+ i = -1;
+ if (i)
+ return (i);
if (!strcmp(n1->name, "ref"))
i = refcmp(sbuf_data(n1->cont), sbuf_data(n2->cont));
else
diff --git a/tools/regression/geom/ConfCmp/Makefile b/tools/regression/geom/ConfCmp/Makefile
index 90c4046..528588e 100644
--- a/tools/regression/geom/ConfCmp/Makefile
+++ b/tools/regression/geom/ConfCmp/Makefile
@@ -5,7 +5,7 @@ SRCS+= ConfCmp.c
SRCS+= subr_sbuf.c
VPATH+= /sys/kern
NOOBJ= youbet
-WARNS= 2
+WARNS= 5
CFLAGS+= -g -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -static
# Uncomment for ElectricFence
#LDADD += -lefence -L/usr/local/lib
@@ -21,14 +21,14 @@ CLEANFILES += _*
test: ${PROG}
rm -f _* *.core
- ./${PROG} a1.conf a1a.conf
+ ./${PROG} a1.conf a1.conf
+ ./${PROG} a1.conf a1a.conf
if ./${PROG} a1.conf a1b.conf > /dev/null 2>&1 ; then exit 1 ; fi
if ./${PROG} a1.conf a1c.conf > /dev/null 2>&1 ; then exit 1 ; fi
if ./${PROG} a1.conf a1d.conf > /dev/null 2>&1 ; then exit 1 ; fi
+ ./${PROG} a2.conf a2.conf
+ ./${PROG} a2.conf a2a.conf
+ if ./${PROG} a2.conf a2b.conf > /dev/null 2>&1 ; then exit 1 ; fi
+ if ./${PROG} a2.conf a2c.conf > /dev/null 2>&1 ; then exit 1 ; fi
+ if ./${PROG} a2.conf a2d.conf > /dev/null 2>&1 ; then exit 1 ; fi
-ttest: ${PROG}
- rm -f _* *.core
- ./${PROG} a1.conf a1a.conf
- ./${PROG} a1.conf a1b.conf
- ./${PROG} a1.conf a1c.conf
- ./${PROG} a1.conf a1d.conf
diff --git a/tools/regression/geom/ConfCmp/a2.conf b/tools/regression/geom/ConfCmp/a2.conf
index 7423066..6688fd1 100644
--- a/tools/regression/geom/ConfCmp/a2.conf
+++ b/tools/regression/geom/ConfCmp/a2.conf
@@ -1,436 +1,207 @@
<mesh>
<FreeBSD>$FreeBSD$</FreeBSD>
- <method>
- <ref>0x8071280</ref>
- <name>DEV-method</name>
- <geom>
- <ref>0x80bfd00</ref>
- <methodref>0x8071280</methodref>
- <name>ad0s3d</name>
+ <class id="0x80740e0">
+ <name>DEV-class</name>
+ <geom id="0x80bce00">
+ <class ref="0x80740e0"/>
+ <name>wd0s1f</name>
<rank>4</rank>
- <consumer>
- <ref>0x80b9500</ref>
- <geomref>0x80bfd00</geomref>
- <providerref>0x80bf880</providerref>
+ <consumer id="0x80ba240">
+ <geom ref="0x80bce00"/>
+ <provider ref="0x80bc880"/>
<mode>r0w0e0</mode>
</consumer>
</geom>
- <geom>
- <ref>0x80bfc80</ref>
- <methodref>0x8071280</methodref>
- <name>ad0s3c</name>
+ <geom id="0x80bcc80">
+ <class ref="0x80740e0"/>
+ <name>wd0s1e</name>
<rank>4</rank>
- <consumer>
- <ref>0x80b94c0</ref>
- <geomref>0x80bfc80</geomref>
- <providerref>0x80bf800</providerref>
+ <consumer id="0x80ba200">
+ <geom ref="0x80bcc80"/>
+ <provider ref="0x80bc800"/>
<mode>r0w0e0</mode>
</consumer>
</geom>
- <geom>
- <ref>0x80bfc00</ref>
- <methodref>0x8071280</methodref>
- <name>ad0s3a</name>
+ <geom id="0x80bcb00">
+ <class ref="0x80740e0"/>
+ <name>wd0s1c</name>
<rank>4</rank>
- <consumer>
- <ref>0x80b9480</ref>
- <geomref>0x80bfc00</geomref>
- <providerref>0x80bf780</providerref>
+ <consumer id="0x80ba1c0">
+ <geom ref="0x80bcb00"/>
+ <provider ref="0x80bc780"/>
<mode>r0w0e0</mode>
</consumer>
</geom>
- <geom>
- <ref>0x80bfb80</ref>
- <methodref>0x8071280</methodref>
- <name>ad0s2c</name>
+ <geom id="0x80bc980">
+ <class ref="0x80740e0"/>
+ <name>wd0s1b</name>
<rank>4</rank>
- <consumer>
- <ref>0x80b9440</ref>
- <geomref>0x80bfb80</geomref>
- <providerref>0x80bf600</providerref>
+ <consumer id="0x80ba180">
+ <geom ref="0x80bc980"/>
+ <provider ref="0x80bc700"/>
<mode>r0w0e0</mode>
</consumer>
</geom>
- <geom>
- <ref>0x80bfb00</ref>
- <methodref>0x8071280</methodref>
- <name>ad0s1f</name>
+ <geom id="0x80bc900">
+ <class ref="0x80740e0"/>
+ <name>wd0s1a</name>
<rank>4</rank>
- <consumer>
- <ref>0x80b9400</ref>
- <geomref>0x80bfb00</geomref>
- <providerref>0x80bf480</providerref>
+ <consumer id="0x80ba140">
+ <geom ref="0x80bc900"/>
+ <provider ref="0x80bc680"/>
<mode>r0w0e0</mode>
</consumer>
</geom>
- <geom>
- <ref>0x80bfa80</ref>
- <methodref>0x8071280</methodref>
- <name>ad0s1e</name>
- <rank>4</rank>
- <consumer>
- <ref>0x80b93c0</ref>
- <geomref>0x80bfa80</geomref>
- <providerref>0x80bf400</providerref>
- <mode>r0w0e0</mode>
- </consumer>
- </geom>
- <geom>
- <ref>0x80bfa00</ref>
- <methodref>0x8071280</methodref>
- <name>ad0s1c</name>
- <rank>4</rank>
- <consumer>
- <ref>0x80b9380</ref>
- <geomref>0x80bfa00</geomref>
- <providerref>0x80bf380</providerref>
- <mode>r0w0e0</mode>
- </consumer>
- </geom>
- <geom>
- <ref>0x80bf980</ref>
- <methodref>0x8071280</methodref>
- <name>ad0s1b</name>
- <rank>4</rank>
- <consumer>
- <ref>0x80b9340</ref>
- <geomref>0x80bf980</geomref>
- <providerref>0x80bf300</providerref>
- <mode>r0w0e0</mode>
- </consumer>
- </geom>
- <geom>
- <ref>0x80bf900</ref>
- <methodref>0x8071280</methodref>
- <name>ad0s1a</name>
- <rank>4</rank>
- <consumer>
- <ref>0x80b9300</ref>
- <geomref>0x80bf900</geomref>
- <providerref>0x80bf280</providerref>
- <mode>r0w0e0</mode>
- </consumer>
- </geom>
- <geom>
- <ref>0x80bf680</ref>
- <methodref>0x8071280</methodref>
- <name>ad0s3</name>
- <rank>3</rank>
- <consumer>
- <ref>0x80b9280</ref>
- <geomref>0x80bf680</geomref>
- <providerref>0x80bf100</providerref>
- <mode>r0w0e0</mode>
- </consumer>
- </geom>
- <geom>
- <ref>0x80bf500</ref>
- <methodref>0x8071280</methodref>
- <name>ad0s2</name>
- <rank>3</rank>
- <consumer>
- <ref>0x80b9200</ref>
- <geomref>0x80bf500</geomref>
- <providerref>0x80bf080</providerref>
- <mode>r0w0e0</mode>
- </consumer>
- </geom>
- <geom>
- <ref>0x80bf180</ref>
- <methodref>0x8071280</methodref>
- <name>ad0s1</name>
+ <geom id="0x80bc300">
+ <class ref="0x80740e0"/>
+ <name>wd0s1</name>
<rank>3</rank>
- <consumer>
- <ref>0x80b9180</ref>
- <geomref>0x80bf180</geomref>
- <providerref>0x80bf000</providerref>
+ <consumer id="0x80ba0c0">
+ <geom ref="0x80bc300"/>
+ <provider ref="0x80bc280"/>
<mode>r0w0e0</mode>
</consumer>
</geom>
- <geom>
- <ref>0x80b9080</ref>
- <methodref>0x8071280</methodref>
- <name>ad0</name>
+ <geom id="0x80bc100">
+ <class ref="0x80740e0"/>
+ <name>wd0</name>
<rank>2</rank>
- <consumer>
- <ref>0x80b90c0</ref>
- <geomref>0x80b9080</geomref>
- <providerref>0x80b9040</providerref>
+ <consumer id="0x80ba040">
+ <geom ref="0x80bc100"/>
+ <provider ref="0x80bc080"/>
<mode>r0w0e0</mode>
</consumer>
</geom>
- </method>
- <method>
- <ref>0x8071240</ref>
- <name>MBREXT-method</name>
- </method>
- <method>
- <ref>0x8071220</ref>
- <name>MBR-method</name>
- <geom>
- <ref>0x80b9100</ref>
- <methodref>0x8071220</methodref>
- <name>ad0</name>
+ </class>
+ <class id="0x8073fc0">
+ <name>PC98-class</name>
+ <geom id="0x80bc180">
+ <class ref="0x8073fc0"/>
+ <name>wd0</name>
<rank>2</rank>
<config>
+ <frontstuff>8704</frontstuff>
</config>
- <consumer>
- <ref>0x80b9140</ref>
- <geomref>0x80b9100</geomref>
- <providerref>0x80b9040</providerref>
+ <consumer id="0x80ba080">
+ <geom ref="0x80bc180"/>
+ <provider ref="0x80bc080"/>
<mode>r0w0e0</mode>
<config>
</config>
</consumer>
- <provider>
- <ref>0x80bf100</ref>
- <geomref>0x80b9100</geomref>
- <mode>r0w0e0</mode>
- <name>ad0s3</name>
- <config>
- <index>2</index>
- <length>8585256960</length>
- <seclength>16768080</seclength>
- <offset>8585256960</offset>
- <secoffset>16768080</secoffset>
- <type>165</type>
- </config>
- </provider>
- <provider>
- <ref>0x80bf080</ref>
- <geomref>0x80b9100</geomref>
+ <provider id="0x80bc280">
+ <geom ref="0x80bc180"/>
<mode>r0w0e0</mode>
- <name>ad0s2</name>
- <config>
- <index>1</index>
- <length>5364817920</length>
- <seclength>10478160</seclength>
- <offset>3220439040</offset>
- <secoffset>6289920</secoffset>
- <type>165</type>
- </config>
- </provider>
- <provider>
- <ref>0x80bf000</ref>
- <geomref>0x80b9100</geomref>
- <mode>r0w0e0</mode>
- <name>ad0s1</name>
+ <name>wd0s1</name>
<config>
<index>0</index>
- <length>3220406784</length>
- <seclength>6289857</seclength>
- <offset>32256</offset>
- <secoffset>63</secoffset>
- <type>165</type>
+ <length>1626533888</length>
+ <seclength>3176824</seclength>
+ <offset>69632</offset>
+ <secoffset>136</secoffset>
</config>
</provider>
</geom>
- </method>
- <method>
- <ref>0x8071260</ref>
- <name>BSD-method</name>
- <geom>
- <ref>0x80bf700</ref>
- <methodref>0x8071260</methodref>
- <name>ad0s3</name>
+ </class>
+ <class id="0x8073fe0">
+ <name>SUNLABEL-class</name>
+ </class>
+ <class id="0x80740c0">
+ <name>MBREXT-class</name>
+ </class>
+ <class id="0x80740a0">
+ <name>MBR-class</name>
+ </class>
+ <class id="0x8074100">
+ <name>BSD-class</name>
+ <geom id="0x80bc480">
+ <class ref="0x8074100"/>
+ <name>wd0s1</name>
<rank>3</rank>
<config>
+ <labeloffset>512</labeloffset>
+ <frontstuff>8192</frontstuff>
</config>
- <consumer>
- <ref>0x80b92c0</ref>
- <geomref>0x80bf700</geomref>
- <providerref>0x80bf100</providerref>
+ <consumer id="0x80ba100">
+ <geom ref="0x80bc480"/>
+ <provider ref="0x80bc280"/>
<mode>r0w0e0</mode>
<config>
</config>
</consumer>
- <provider>
- <ref>0x80bf880</ref>
- <geomref>0x80bf700</geomref>
- <mode>r0w0e0</mode>
- <name>ad0s3d</name>
- <config>
- <index>3</index>
- <length>6488104960</length>
- <seclength>12672080</seclength>
- <offset>10682408960</offset>
- <secoffset>20864080</secoffset>
- </config>
- </provider>
- <provider>
- <ref>0x80bf800</ref>
- <geomref>0x80bf700</geomref>
+ <provider id="0x80bc880">
+ <geom ref="0x80bc480"/>
<mode>r0w0e0</mode>
- <name>ad0s3c</name>
- <config>
- <index>2</index>
- <length>8585256960</length>
- <seclength>16768080</seclength>
- <offset>8585256960</offset>
- <secoffset>16768080</secoffset>
- </config>
- </provider>
- <provider>
- <ref>0x80bf780</ref>
- <geomref>0x80bf700</geomref>
- <mode>r0w0e0</mode>
- <name>ad0s3a</name>
- <config>
- <index>0</index>
- <length>2097152000</length>
- <seclength>4096000</seclength>
- <offset>8585256960</offset>
- <secoffset>16768080</secoffset>
- </config>
- </provider>
- </geom>
- <geom>
- <ref>0x80bf580</ref>
- <methodref>0x8071260</methodref>
- <name>ad0s2</name>
- <rank>3</rank>
- <config>
- </config>
- <consumer>
- <ref>0x80b9240</ref>
- <geomref>0x80bf580</geomref>
- <providerref>0x80bf080</providerref>
- <mode>r0w0e0</mode>
- <config>
- </config>
- </consumer>
- <provider>
- <ref>0x80bf600</ref>
- <geomref>0x80bf580</geomref>
- <mode>r0w0e0</mode>
- <name>ad0s2c</name>
- <config>
- <index>2</index>
- <length>5364817920</length>
- <seclength>10478160</seclength>
- <offset>3220439040</offset>
- <secoffset>6289920</secoffset>
- </config>
- </provider>
- </geom>
- <geom>
- <ref>0x80bf200</ref>
- <methodref>0x8071260</methodref>
- <name>ad0s1</name>
- <rank>3</rank>
- <config>
- </config>
- <consumer>
- <ref>0x80b91c0</ref>
- <geomref>0x80bf200</geomref>
- <providerref>0x80bf000</providerref>
- <mode>r0w0e0</mode>
- <config>
- </config>
- </consumer>
- <provider>
- <ref>0x80bf480</ref>
- <geomref>0x80bf200</geomref>
- <mode>r0w0e0</mode>
- <name>ad0s1f</name>
+ <name>wd0s1f</name>
<config>
<index>5</index>
- <length>2066973184</length>
- <seclength>4037057</seclength>
- <offset>1153465856</offset>
- <secoffset>2252863</secoffset>
+ <length>1390673920</length>
+ <seclength>2716160</seclength>
+ <offset>235929600</offset>
+ <secoffset>460800</secoffset>
</config>
</provider>
- <provider>
- <ref>0x80bf400</ref>
- <geomref>0x80bf200</geomref>
+ <provider id="0x80bc800">
+ <geom ref="0x80bc480"/>
<mode>r0w0e0</mode>
- <name>ad0s1e</name>
+ <name>wd0s1e</name>
<config>
<index>4</index>
- <length>524288000</length>
- <seclength>1024000</seclength>
- <offset>629177856</offset>
- <secoffset>1228863</secoffset>
+ <length>52428800</length>
+ <seclength>102400</seclength>
+ <offset>183500800</offset>
+ <secoffset>358400</secoffset>
</config>
</provider>
- <provider>
- <ref>0x80bf380</ref>
- <geomref>0x80bf200</geomref>
+ <provider id="0x80bc780">
+ <geom ref="0x80bc480"/>
<mode>r0w0e0</mode>
- <name>ad0s1c</name>
+ <name>wd0s1c</name>
<config>
<index>2</index>
- <length>3220406784</length>
- <seclength>6289857</seclength>
- <offset>32256</offset>
- <secoffset>63</secoffset>
+ <length>1626603520</length>
+ <seclength>3176960</seclength>
+ <offset>0</offset>
+ <secoffset>0</secoffset>
</config>
</provider>
- <provider>
- <ref>0x80bf300</ref>
- <geomref>0x80bf200</geomref>
+ <provider id="0x80bc700">
+ <geom ref="0x80bc480"/>
<mode>r0w0e0</mode>
- <name>ad0s1b</name>
+ <name>wd0s1b</name>
<config>
<index>1</index>
- <length>524288000</length>
- <seclength>1024000</seclength>
- <offset>104889856</offset>
- <secoffset>204863</secoffset>
+ <length>104857600</length>
+ <seclength>204800</seclength>
+ <offset>78643200</offset>
+ <secoffset>153600</secoffset>
</config>
</provider>
- <provider>
- <ref>0x80bf280</ref>
- <geomref>0x80bf200</geomref>
+ <provider id="0x80bc680">
+ <geom ref="0x80bc480"/>
<mode>r0w0e0</mode>
- <name>ad0s1a</name>
+ <name>wd0s1a</name>
<config>
<index>0</index>
- <length>104857600</length>
- <seclength>204800</seclength>
- <offset>32256</offset>
- <secoffset>63</secoffset>
+ <length>78643200</length>
+ <seclength>153600</seclength>
+ <offset>0</offset>
+ <secoffset>0</secoffset>
</config>
</provider>
</geom>
- </method>
- <method>
- <ref>0x8071180</ref>
- <name>SIMDISK-method</name>
- <geom>
- <ref>0x80b9000</ref>
- <methodref>0x8071180</methodref>
- <name>ad0</name>
+ </class>
+ <class id="0x8074000">
+ <name>SIMDISK-class</name>
+ <geom id="0x80bc000">
+ <class ref="0x8074000"/>
+ <name>wd0</name>
<rank>1</rank>
- <provider>
- <ref>0x80b9040</ref>
- <geomref>0x80b9000</geomref>
+ <provider id="0x80bc080">
+ <geom ref="0x80bc000"/>
<mode>r0w0e0</mode>
- <name>ad0</name>
+ <name>wd0</name>
</provider>
</geom>
- </method>
-</mesh>
-<mesh>
- <method>
- <ref>0x8071280</ref>
- <name>DEV-method</name>
- </method>
- <method>
- <ref>0x8071240</ref>
- <name>MBREXT-method</name>
- </method>
- <method>
- <ref>0x8071220</ref>
- <name>MBR-method</name>
- </method>
- <method>
- <ref>0x8071260</ref>
- <name>BSD-method</name>
- </method>
- <method>
- <ref>0x8071180</ref>
- <name>SIMDISK-method</name>
- </method>
+ </class>
</mesh>
diff --git a/tools/regression/geom/ConfCmp/a2a.conf b/tools/regression/geom/ConfCmp/a2a.conf
new file mode 100644
index 0000000..3d35fe9
--- /dev/null
+++ b/tools/regression/geom/ConfCmp/a2a.conf
@@ -0,0 +1,207 @@
+<mesh>
+ <FreeBSD>$FreeBSD$</FreeBSD>
+ <class id="0x90740e0">
+ <name>DEV-class</name>
+ <geom id="0x90bce00">
+ <class ref="0x90740e0"/>
+ <name>wd0s1f</name>
+ <rank>4</rank>
+ <consumer id="0x90ba240">
+ <geom ref="0x90bce00"/>
+ <provider ref="0x90bc880"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x90bcc80">
+ <class ref="0x90740e0"/>
+ <name>wd0s1e</name>
+ <rank>4</rank>
+ <consumer id="0x90ba200">
+ <geom ref="0x90bcc80"/>
+ <provider ref="0x90bc800"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x90bcb00">
+ <class ref="0x90740e0"/>
+ <name>wd0s1c</name>
+ <rank>4</rank>
+ <consumer id="0x90ba1c0">
+ <geom ref="0x90bcb00"/>
+ <provider ref="0x90bc780"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x90bc980">
+ <class ref="0x90740e0"/>
+ <name>wd0s1b</name>
+ <rank>4</rank>
+ <consumer id="0x90ba180">
+ <geom ref="0x90bc980"/>
+ <provider ref="0x90bc700"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x90bc900">
+ <class ref="0x90740e0"/>
+ <name>wd0s1a</name>
+ <rank>4</rank>
+ <consumer id="0x90ba140">
+ <geom ref="0x90bc900"/>
+ <provider ref="0x90bc680"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x90bc300">
+ <class ref="0x90740e0"/>
+ <name>wd0s1</name>
+ <rank>3</rank>
+ <consumer id="0x90ba0c0">
+ <geom ref="0x90bc300"/>
+ <provider ref="0x90bc280"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x90bc100">
+ <class ref="0x90740e0"/>
+ <name>wd0</name>
+ <rank>2</rank>
+ <consumer id="0x90ba040">
+ <geom ref="0x90bc100"/>
+ <provider ref="0x90bc080"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ </class>
+ <class id="0x9073fc0">
+ <name>PC98-class</name>
+ <geom id="0x90bc180">
+ <class ref="0x9073fc0"/>
+ <name>wd0</name>
+ <rank>2</rank>
+ <config>
+ <frontstuff>8704</frontstuff>
+ </config>
+ <consumer id="0x90ba080">
+ <geom ref="0x90bc180"/>
+ <provider ref="0x90bc080"/>
+ <mode>r0w0e0</mode>
+ <config>
+ </config>
+ </consumer>
+ <provider id="0x90bc280">
+ <geom ref="0x90bc180"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1</name>
+ <config>
+ <index>0</index>
+ <length>1626533888</length>
+ <seclength>3176824</seclength>
+ <offset>69632</offset>
+ <secoffset>136</secoffset>
+ </config>
+ </provider>
+ </geom>
+ </class>
+ <class id="0x9073fe0">
+ <name>SUNLABEL-class</name>
+ </class>
+ <class id="0x90740c0">
+ <name>MBREXT-class</name>
+ </class>
+ <class id="0x90740a0">
+ <name>MBR-class</name>
+ </class>
+ <class id="0x9074100">
+ <name>BSD-class</name>
+ <geom id="0x90bc480">
+ <class ref="0x9074100"/>
+ <name>wd0s1</name>
+ <rank>3</rank>
+ <config>
+ <labeloffset>512</labeloffset>
+ <frontstuff>8192</frontstuff>
+ </config>
+ <consumer id="0x90ba100">
+ <geom ref="0x90bc480"/>
+ <provider ref="0x90bc280"/>
+ <mode>r0w0e0</mode>
+ <config>
+ </config>
+ </consumer>
+ <provider id="0x90bc880">
+ <geom ref="0x90bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1f</name>
+ <config>
+ <index>5</index>
+ <length>1390673920</length>
+ <seclength>2716160</seclength>
+ <offset>235929600</offset>
+ <secoffset>460800</secoffset>
+ </config>
+ </provider>
+ <provider id="0x90bc800">
+ <geom ref="0x90bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1e</name>
+ <config>
+ <index>4</index>
+ <length>52428800</length>
+ <seclength>102400</seclength>
+ <offset>183500800</offset>
+ <secoffset>358400</secoffset>
+ </config>
+ </provider>
+ <provider id="0x90bc780">
+ <geom ref="0x90bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1c</name>
+ <config>
+ <index>2</index>
+ <length>1626603520</length>
+ <seclength>3176960</seclength>
+ <offset>0</offset>
+ <secoffset>0</secoffset>
+ </config>
+ </provider>
+ <provider id="0x90bc700">
+ <geom ref="0x90bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1b</name>
+ <config>
+ <index>1</index>
+ <length>104857600</length>
+ <seclength>204800</seclength>
+ <offset>78643200</offset>
+ <secoffset>153600</secoffset>
+ </config>
+ </provider>
+ <provider id="0x90bc680">
+ <geom ref="0x90bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1a</name>
+ <config>
+ <index>0</index>
+ <length>78643200</length>
+ <seclength>153600</seclength>
+ <offset>0</offset>
+ <secoffset>0</secoffset>
+ </config>
+ </provider>
+ </geom>
+ </class>
+ <class id="0x9074000">
+ <name>SIMDISK-class</name>
+ <geom id="0x90bc000">
+ <class ref="0x9074000"/>
+ <name>wd0</name>
+ <rank>1</rank>
+ <provider id="0x90bc080">
+ <geom ref="0x90bc000"/>
+ <mode>r0w0e0</mode>
+ <name>wd0</name>
+ </provider>
+ </geom>
+ </class>
+</mesh>
diff --git a/tools/regression/geom/ConfCmp/a2b.conf b/tools/regression/geom/ConfCmp/a2b.conf
new file mode 100644
index 0000000..58c0e15
--- /dev/null
+++ b/tools/regression/geom/ConfCmp/a2b.conf
@@ -0,0 +1,207 @@
+<mesh>
+ <FreeBSD>$FreeBSD$</FreeBSD>
+ <class id="0x80740e0">
+ <name>DEV-class</name>
+ <geom id="0x80bce00">
+ <class ref="0x80740e0"/>
+ <name>wd0s1f</name>
+ <rank>4</rank>
+ <consumer id="0x80ba240">
+ <geom ref="0x80bce00"/>
+ <provider ref="0x80bc880"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bcc80">
+ <class ref="0x80740e0"/>
+ <name>wd0s1e</name>
+ <rank>4</rank>
+ <consumer id="0x80ba200">
+ <geom ref="0x80bcc80"/>
+ <provider ref="0x80bc800"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bcb00">
+ <class ref="0x80740e0"/>
+ <name>wd0s1c</name>
+ <rank>4</rank>
+ <consumer id="0x80ba1c0">
+ <geom ref="0x80bcb00"/>
+ <provider ref="0x80bc780"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bc980">
+ <class ref="0x80740e0"/>
+ <name>wd0s1b</name>
+ <rank>4</rank>
+ <consumer id="0x80ba180">
+ <geom ref="0x80bc981"/>
+ <provider ref="0x80bc700"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bc900">
+ <class ref="0x80740e0"/>
+ <name>wd0s1a</name>
+ <rank>4</rank>
+ <consumer id="0x80ba140">
+ <geom ref="0x80bc900"/>
+ <provider ref="0x80bc680"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bc300">
+ <class ref="0x80740e0"/>
+ <name>wd0s1</name>
+ <rank>3</rank>
+ <consumer id="0x80ba0c0">
+ <geom ref="0x80bc300"/>
+ <provider ref="0x80bc280"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bc100">
+ <class ref="0x80740e0"/>
+ <name>wd0</name>
+ <rank>2</rank>
+ <consumer id="0x80ba040">
+ <geom ref="0x80bc100"/>
+ <provider ref="0x80bc080"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ </class>
+ <class id="0x8073fc0">
+ <name>PC98-class</name>
+ <geom id="0x80bc180">
+ <class ref="0x8073fc0"/>
+ <name>wd0</name>
+ <rank>2</rank>
+ <config>
+ <frontstuff>8704</frontstuff>
+ </config>
+ <consumer id="0x80ba080">
+ <geom ref="0x80bc180"/>
+ <provider ref="0x80bc080"/>
+ <mode>r0w0e0</mode>
+ <config>
+ </config>
+ </consumer>
+ <provider id="0x80bc280">
+ <geom ref="0x80bc180"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1</name>
+ <config>
+ <index>0</index>
+ <length>1626533888</length>
+ <seclength>3176824</seclength>
+ <offset>69632</offset>
+ <secoffset>136</secoffset>
+ </config>
+ </provider>
+ </geom>
+ </class>
+ <class id="0x8073fe0">
+ <name>SUNLABEL-class</name>
+ </class>
+ <class id="0x80740c0">
+ <name>MBREXT-class</name>
+ </class>
+ <class id="0x80740a0">
+ <name>MBR-class</name>
+ </class>
+ <class id="0x8074100">
+ <name>BSD-class</name>
+ <geom id="0x80bc480">
+ <class ref="0x8074100"/>
+ <name>wd0s1</name>
+ <rank>3</rank>
+ <config>
+ <labeloffset>512</labeloffset>
+ <frontstuff>8192</frontstuff>
+ </config>
+ <consumer id="0x80ba100">
+ <geom ref="0x80bc480"/>
+ <provider ref="0x80bc280"/>
+ <mode>r0w0e0</mode>
+ <config>
+ </config>
+ </consumer>
+ <provider id="0x80bc880">
+ <geom ref="0x80bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1f</name>
+ <config>
+ <index>5</index>
+ <length>1390673920</length>
+ <seclength>2716160</seclength>
+ <offset>235929600</offset>
+ <secoffset>460800</secoffset>
+ </config>
+ </provider>
+ <provider id="0x80bc800">
+ <geom ref="0x80bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1e</name>
+ <config>
+ <index>4</index>
+ <length>52428800</length>
+ <seclength>102400</seclength>
+ <offset>183500800</offset>
+ <secoffset>358400</secoffset>
+ </config>
+ </provider>
+ <provider id="0x80bc780">
+ <geom ref="0x80bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1c</name>
+ <config>
+ <index>2</index>
+ <length>1626603520</length>
+ <seclength>3176960</seclength>
+ <offset>0</offset>
+ <secoffset>0</secoffset>
+ </config>
+ </provider>
+ <provider id="0x80bc700">
+ <geom ref="0x80bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1b</name>
+ <config>
+ <index>1</index>
+ <length>104857600</length>
+ <seclength>204800</seclength>
+ <offset>78643200</offset>
+ <secoffset>153600</secoffset>
+ </config>
+ </provider>
+ <provider id="0x80bc680">
+ <geom ref="0x80bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1a</name>
+ <config>
+ <index>0</index>
+ <length>78643200</length>
+ <seclength>153600</seclength>
+ <offset>0</offset>
+ <secoffset>0</secoffset>
+ </config>
+ </provider>
+ </geom>
+ </class>
+ <class id="0x8074000">
+ <name>SIMDISK-class</name>
+ <geom id="0x80bc000">
+ <class ref="0x8074000"/>
+ <name>wd0</name>
+ <rank>1</rank>
+ <provider id="0x80bc080">
+ <geom ref="0x80bc000"/>
+ <mode>r0w0e0</mode>
+ <name>wd0</name>
+ </provider>
+ </geom>
+ </class>
+</mesh>
diff --git a/tools/regression/geom/ConfCmp/a2c.conf b/tools/regression/geom/ConfCmp/a2c.conf
new file mode 100644
index 0000000..381c410
--- /dev/null
+++ b/tools/regression/geom/ConfCmp/a2c.conf
@@ -0,0 +1,206 @@
+<mesh>
+ <FreeBSD>$FreeBSD$</FreeBSD>
+ <class id="0x80740e0">
+ <name>DEV-class</name>
+ <geom id="0x80bce00">
+ <class ref="0x80740e0"/>
+ <name>wd0s1f</name>
+ <rank>4</rank>
+ <consumer id="0x80ba240">
+ <geom ref="0x80bce00"/>
+ <provider ref="0x80bc880"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bcc80">
+ <class ref="0x80740e0"/>
+ <name>wd0s1e</name>
+ <rank>4</rank>
+ <consumer id="0x80ba200">
+ <geom ref="0x80bcc80"/>
+ <provider ref="0x80bc800"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bcb00">
+ <class ref="0x80740e0"/>
+ <name>wd0s1c</name>
+ <rank>4</rank>
+ <consumer id="0x80ba1c0">
+ <geom ref="0x80bcb00"/>
+ <provider ref="0x80bc780"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bc980">
+ <class ref="0x80740e0"/>
+ <name>wd0s1b</name>
+ <rank>4</rank>
+ <consumer id="0x80ba180">
+ <geom ref="0x80bc980"/>
+ <provider ref="0x80bc700"/>
+ </consumer>
+ </geom>
+ <geom id="0x80bc900">
+ <class ref="0x80740e0"/>
+ <name>wd0s1a</name>
+ <rank>4</rank>
+ <consumer id="0x80ba140">
+ <geom ref="0x80bc900"/>
+ <provider ref="0x80bc680"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bc300">
+ <class ref="0x80740e0"/>
+ <name>wd0s1</name>
+ <rank>3</rank>
+ <consumer id="0x80ba0c0">
+ <geom ref="0x80bc300"/>
+ <provider ref="0x80bc280"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bc100">
+ <class ref="0x80740e0"/>
+ <name>wd0</name>
+ <rank>2</rank>
+ <consumer id="0x80ba040">
+ <geom ref="0x80bc100"/>
+ <provider ref="0x80bc080"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ </class>
+ <class id="0x8073fc0">
+ <name>PC98-class</name>
+ <geom id="0x80bc180">
+ <class ref="0x8073fc0"/>
+ <name>wd0</name>
+ <rank>2</rank>
+ <config>
+ <frontstuff>8704</frontstuff>
+ </config>
+ <consumer id="0x80ba080">
+ <geom ref="0x80bc180"/>
+ <provider ref="0x80bc080"/>
+ <mode>r0w0e0</mode>
+ <config>
+ </config>
+ </consumer>
+ <provider id="0x80bc280">
+ <geom ref="0x80bc180"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1</name>
+ <config>
+ <index>0</index>
+ <length>1626533888</length>
+ <seclength>3176824</seclength>
+ <offset>69632</offset>
+ <secoffset>136</secoffset>
+ </config>
+ </provider>
+ </geom>
+ </class>
+ <class id="0x8073fe0">
+ <name>SUNLABEL-class</name>
+ </class>
+ <class id="0x80740c0">
+ <name>MBREXT-class</name>
+ </class>
+ <class id="0x80740a0">
+ <name>MBR-class</name>
+ </class>
+ <class id="0x8074100">
+ <name>BSD-class</name>
+ <geom id="0x80bc480">
+ <class ref="0x8074100"/>
+ <name>wd0s1</name>
+ <rank>3</rank>
+ <config>
+ <labeloffset>512</labeloffset>
+ <frontstuff>8192</frontstuff>
+ </config>
+ <consumer id="0x80ba100">
+ <geom ref="0x80bc480"/>
+ <provider ref="0x80bc280"/>
+ <mode>r0w0e0</mode>
+ <config>
+ </config>
+ </consumer>
+ <provider id="0x80bc880">
+ <geom ref="0x80bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1f</name>
+ <config>
+ <index>5</index>
+ <length>1390673920</length>
+ <seclength>2716160</seclength>
+ <offset>235929600</offset>
+ <secoffset>460800</secoffset>
+ </config>
+ </provider>
+ <provider id="0x80bc800">
+ <geom ref="0x80bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1e</name>
+ <config>
+ <index>4</index>
+ <length>52428800</length>
+ <seclength>102400</seclength>
+ <offset>183500800</offset>
+ <secoffset>358400</secoffset>
+ </config>
+ </provider>
+ <provider id="0x80bc780">
+ <geom ref="0x80bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1c</name>
+ <config>
+ <index>2</index>
+ <length>1626603520</length>
+ <seclength>3176960</seclength>
+ <offset>0</offset>
+ <secoffset>0</secoffset>
+ </config>
+ </provider>
+ <provider id="0x80bc700">
+ <geom ref="0x80bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1b</name>
+ <config>
+ <index>1</index>
+ <length>104857600</length>
+ <seclength>204800</seclength>
+ <offset>78643200</offset>
+ <secoffset>153600</secoffset>
+ </config>
+ </provider>
+ <provider id="0x80bc680">
+ <geom ref="0x80bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1a</name>
+ <config>
+ <index>0</index>
+ <length>78643200</length>
+ <seclength>153600</seclength>
+ <offset>0</offset>
+ <secoffset>0</secoffset>
+ </config>
+ </provider>
+ </geom>
+ </class>
+ <class id="0x8074000">
+ <name>SIMDISK-class</name>
+ <geom id="0x80bc000">
+ <class ref="0x8074000"/>
+ <name>wd0</name>
+ <rank>1</rank>
+ <provider id="0x80bc080">
+ <geom ref="0x80bc000"/>
+ <mode>r0w0e0</mode>
+ <name>wd0</name>
+ </provider>
+ </geom>
+ </class>
+</mesh>
diff --git a/tools/regression/geom/ConfCmp/a2d.conf b/tools/regression/geom/ConfCmp/a2d.conf
new file mode 100644
index 0000000..bccaed5
--- /dev/null
+++ b/tools/regression/geom/ConfCmp/a2d.conf
@@ -0,0 +1,211 @@
+<mesh>
+ <FreeBSD>$FreeBSD$</FreeBSD>
+ <class id="0x80740e0">
+ <name>DEV-class</name>
+ <geom id="0x80bce00">
+ <class ref="0x80740e0"/>
+ <name>wd0s1f</name>
+ <rank>4</rank>
+ <consumer id="0x80ba240">
+ <geom ref="0x80bce00"/>
+ <provider ref="0x80bc880"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bcc80">
+ <class ref="0x80740e0"/>
+ <name>wd0s1e</name>
+ <rank>4</rank>
+ <consumer id="0x80ba200">
+ <geom ref="0x80bcc80"/>
+ <provider ref="0x80bc800"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bcb00">
+ <class ref="0x80740e0"/>
+ <name>wd0s1c</name>
+ <rank>4</rank>
+ <consumer id="0x80ba1c0">
+ <geom ref="0x80bcb00"/>
+ <provider ref="0x80bc780"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bc980">
+ <class ref="0x80740e0"/>
+ <name>wd0s1b</name>
+ <rank>4</rank>
+ <consumer id="0x80ba180">
+ <geom ref="0x80bc980"/>
+ <provider ref="0x80bc700"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bc900">
+ <class ref="0x80740e0"/>
+ <name>wd0s1a</name>
+ <rank>4</rank>
+ <consumer id="0x80ba140">
+ <geom ref="0x80bc900"/>
+ <provider ref="0x80bc680"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ <consumer id="0x80ba141">
+ <geom ref="0x80bc900"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bc300">
+ <class ref="0x80740e0"/>
+ <name>wd0s1</name>
+ <rank>3</rank>
+ <consumer id="0x80ba0c0">
+ <geom ref="0x80bc300"/>
+ <provider ref="0x80bc280"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ <geom id="0x80bc100">
+ <class ref="0x80740e0"/>
+ <name>wd0</name>
+ <rank>2</rank>
+ <consumer id="0x80ba040">
+ <geom ref="0x80bc100"/>
+ <provider ref="0x80bc080"/>
+ <mode>r0w0e0</mode>
+ </consumer>
+ </geom>
+ </class>
+ <class id="0x8073fc0">
+ <name>PC98-class</name>
+ <geom id="0x80bc180">
+ <class ref="0x8073fc0"/>
+ <name>wd0</name>
+ <rank>2</rank>
+ <config>
+ <frontstuff>8704</frontstuff>
+ </config>
+ <consumer id="0x80ba080">
+ <geom ref="0x80bc180"/>
+ <provider ref="0x80bc080"/>
+ <mode>r0w0e0</mode>
+ <config>
+ </config>
+ </consumer>
+ <provider id="0x80bc280">
+ <geom ref="0x80bc180"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1</name>
+ <config>
+ <index>0</index>
+ <length>1626533888</length>
+ <seclength>3176824</seclength>
+ <offset>69632</offset>
+ <secoffset>136</secoffset>
+ </config>
+ </provider>
+ </geom>
+ </class>
+ <class id="0x8073fe0">
+ <name>SUNLABEL-class</name>
+ </class>
+ <class id="0x80740c0">
+ <name>MBREXT-class</name>
+ </class>
+ <class id="0x80740a0">
+ <name>MBR-class</name>
+ </class>
+ <class id="0x8074100">
+ <name>BSD-class</name>
+ <geom id="0x80bc480">
+ <class ref="0x8074100"/>
+ <name>wd0s1</name>
+ <rank>3</rank>
+ <config>
+ <labeloffset>512</labeloffset>
+ <frontstuff>8192</frontstuff>
+ </config>
+ <consumer id="0x80ba100">
+ <geom ref="0x80bc480"/>
+ <provider ref="0x80bc280"/>
+ <mode>r0w0e0</mode>
+ <config>
+ </config>
+ </consumer>
+ <provider id="0x80bc880">
+ <geom ref="0x80bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1f</name>
+ <config>
+ <index>5</index>
+ <length>1390673920</length>
+ <seclength>2716160</seclength>
+ <offset>235929600</offset>
+ <secoffset>460800</secoffset>
+ </config>
+ </provider>
+ <provider id="0x80bc800">
+ <geom ref="0x80bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1e</name>
+ <config>
+ <index>4</index>
+ <length>52428800</length>
+ <seclength>102400</seclength>
+ <offset>183500800</offset>
+ <secoffset>358400</secoffset>
+ </config>
+ </provider>
+ <provider id="0x80bc780">
+ <geom ref="0x80bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1c</name>
+ <config>
+ <index>2</index>
+ <length>1626603520</length>
+ <seclength>3176960</seclength>
+ <offset>0</offset>
+ <secoffset>0</secoffset>
+ </config>
+ </provider>
+ <provider id="0x80bc700">
+ <geom ref="0x80bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1b</name>
+ <config>
+ <index>1</index>
+ <length>104857600</length>
+ <seclength>204800</seclength>
+ <offset>78643200</offset>
+ <secoffset>153600</secoffset>
+ </config>
+ </provider>
+ <provider id="0x80bc680">
+ <geom ref="0x80bc480"/>
+ <mode>r0w0e0</mode>
+ <name>wd0s1a</name>
+ <config>
+ <index>0</index>
+ <length>78643200</length>
+ <seclength>153600</seclength>
+ <offset>0</offset>
+ <secoffset>0</secoffset>
+ </config>
+ </provider>
+ </geom>
+ </class>
+ <class id="0x8074000">
+ <name>SIMDISK-class</name>
+ <geom id="0x80bc000">
+ <class ref="0x8074000"/>
+ <name>wd0</name>
+ <rank>1</rank>
+ <provider id="0x80bc080">
+ <geom ref="0x80bc000"/>
+ <mode>r0w0e0</mode>
+ <name>wd0</name>
+ </provider>
+ </geom>
+ </class>
+</mesh>
OpenPOWER on IntegriCloud