diff options
Diffstat (limited to 'tools/regression/geom')
31 files changed, 4237 insertions, 0 deletions
diff --git a/tools/regression/geom/ConfCmp/ConfCmp.c b/tools/regression/geom/ConfCmp/ConfCmp.c new file mode 100644 index 000000000000..ec22a2a6a97f --- /dev/null +++ b/tools/regression/geom/ConfCmp/ConfCmp.c @@ -0,0 +1,375 @@ +/*- + * Copyright (c) 2002 Poul-Henning Kamp + * Copyright (c) 2002 Networks Associates Technology, Inc. + * All rights reserved. + * + * This software was developed for the FreeBSD Project by Poul-Henning Kamp + * and NAI Labs, the Security Research Division of Network Associates, Inc. + * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the + * DARPA CHATS research program. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The names of the authors may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <fcntl.h> +#include <ctype.h> +#include <sys/stat.h> +#include <sys/mman.h> +#include <sys/queue.h> +#include <sys/sbuf.h> +#include <err.h> +#include <bsdxml.h> + +FILE *fsubs; + +struct node { + LIST_HEAD(, node) children; + LIST_ENTRY(node) siblings; + struct node *parent; + const char *name; + struct sbuf *cont; + struct sbuf *key; + char *id; + char *ref; +}; + +struct mytree { + struct node *top; + struct node *cur; + int indent; + int ignore; +}; + +struct ref { + LIST_ENTRY(ref) next; + char *k1; + char *k2; +}; + +LIST_HEAD(, ref) refs = LIST_HEAD_INITIALIZER(refs); + +static struct node * +new_node(void) +{ + struct node *np; + + np = calloc(1, sizeof *np); + np->cont = sbuf_new_auto(); + sbuf_clear(np->cont); + np->key = sbuf_new_auto(); + sbuf_clear(np->key); + LIST_INIT(&np->children); + return (np); +} + +static void +indent(int n) +{ + + printf("%*.*s", n, n, ""); +} + +static void +StartElement(void *userData, const char *name, const char **attr) +{ + struct mytree *mt; + struct node *np; + int i; + + mt = userData; + if (!strcmp(name, "FreeBSD")) { + mt->ignore = 1; + return; + } + 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, "::"); + np->parent = mt->cur; + LIST_INSERT_HEAD(&mt->cur->children, np, siblings); + mt->cur = np; +} + +static void +EndElement(void *userData, const char *name __unused) +{ + struct mytree *mt; + struct node *np; + + mt = userData; + if (mt->ignore) + return; + + mt->indent -= 2; + sbuf_finish(mt->cur->cont); + LIST_FOREACH(np, &mt->cur->children, siblings) { + if (strcmp(np->name, "name")) + continue; + sbuf_cat(mt->cur->key, sbuf_data(np->cont)); + break; + } + sbuf_finish(mt->cur->key); + mt->cur = mt->cur->parent; +} + +static void +CharData(void *userData , const XML_Char *s , int len) +{ + struct mytree *mt; + const char *b, *e; + + mt = userData; + if (mt->ignore) + return; + b = s; + e = s + len - 1; + while (isspace(*b) && b < e) + b++; + while (isspace(*e) && e > b) + e--; + if (e != b || *b) + sbuf_bcat(mt->cur->cont, b, e - b + 1); +} + +static struct mytree * +dofile(char *filename) +{ + XML_Parser parser; + struct mytree *mt; + struct stat st; + int fd; + char *p; + int i; + + parser = XML_ParserCreate(NULL); + mt = calloc(1, sizeof *mt); + mt->top = new_node(); + mt->top->name = "(top)"; + mt->top->parent = mt->top; + mt->cur = mt->top; + sbuf_finish(mt->top->key); + sbuf_finish(mt->top->cont); + XML_SetUserData(parser, mt); + XML_SetElementHandler(parser, StartElement, EndElement); + XML_SetCharacterDataHandler(parser, CharData); + fd = open(filename, O_RDONLY); + if (fd < 0) + err(1, filename); + fstat(fd, &st); + p = mmap(NULL, st.st_size, PROT_READ, MAP_NOCORE|MAP_PRIVATE, fd, 0); + i = XML_Parse(parser, p, st.st_size, 1); + if (i != 1) + errx(1, "XML_Parse complained -> %d", i); + munmap(p, st.st_size); + close(fd); + XML_ParserFree(parser); + sbuf_finish(mt->top->cont); + if (i) + return (mt); + else + return (NULL); +} + +static void +print_node(struct node *np) +{ + 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 +sort_node(struct node *np) +{ + struct node *np1, *np2; + int n; + + LIST_FOREACH(np1, &np->children, siblings) + sort_node(np1); + do { + np1 = LIST_FIRST(&np->children); + n = 0; + for (;;) { + if (np1 == NULL) + return; + np2 = LIST_NEXT(np1, siblings); + if (np2 == NULL) + return; + if (strcmp(sbuf_data(np1->key), sbuf_data(np2->key)) > 0) { + LIST_REMOVE(np2, siblings); + LIST_INSERT_BEFORE(np1, np2, siblings); + n++; + break; + } + np1 = np2; + } + } while (n); +} + +static int +refcmp(char *r1, char *r2) +{ + struct ref *r; + + LIST_FOREACH(r, &refs, next) { + if (!strcmp(r1, r->k1)) + return (strcmp(r2, r->k2)); + } + r = calloc(1, sizeof(*r)); + r->k1 = strdup(r1); + r->k2 = strdup(r2); + LIST_INSERT_HEAD(&refs, r, next); + if (fsubs != NULL) { + fprintf(fsubs, "s/%s/%s/g\n", r1, r2); + fflush(fsubs); + } + return (0); +} + +static int compare_node2(struct node *n1, struct node *n2, int in); + +static int +compare_node(struct node *n1, struct node *n2, int in) +{ + int i; + struct node *n1a, *n2a; + + 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 + i = strcmp(sbuf_data(n1->cont), sbuf_data(n2->cont)); + if (i) + return (1); + n1a = LIST_FIRST(&n1->children); + n2a = LIST_FIRST(&n2->children); + for (;;) { + if (n1a == NULL && n2a == NULL) + return (0); + if (n1a != NULL && n2a == NULL) { + printf("1>"); + indent(in); + print_node(n1a); + printf("2>\n"); + return (1); + } + if (n1a == NULL && n2a != NULL) { + printf("1>\n"); + printf("2>"); + indent(in); + print_node(n2a); + return (1); + } + i = compare_node2(n1a, n2a, in + 2); + if (i) + return (1); + n1a = LIST_NEXT(n1a, siblings); + n2a = LIST_NEXT(n2a, siblings); + } + return (0); +} + +static int +compare_node2(struct node *n1, struct node *n2, int in) +{ + int i; + + i = compare_node(n1, n2, in); + if (i) { + printf("1>"); + indent(in); + print_node(n1); + printf("2>"); + indent(in); + print_node(n2); + } + return (i); +} + + + +int +main(int argc, char **argv) +{ + struct mytree *t1, *t2; + int i; + + fsubs = fopen("_.subs", "w"); + setbuf(stdout, NULL); + setbuf(stderr, NULL); + if (argc != 3) + errx(1, "usage: %s file1 file2", argv[0]); + + t1 = dofile(argv[1]); + if (t1 == NULL) + errx(2, "XML parser error on file %s", argv[1]); + sort_node(t1->top); + t2 = dofile(argv[2]); + if (t2 == NULL) + errx(2, "XML parser error on file %s", argv[2]); + sort_node(t2->top); + i = compare_node(t1->top, t2->top, 0); + return (i); +} + diff --git a/tools/regression/geom/ConfCmp/Makefile b/tools/regression/geom/ConfCmp/Makefile new file mode 100644 index 000000000000..a03de0e9bcd4 --- /dev/null +++ b/tools/regression/geom/ConfCmp/Makefile @@ -0,0 +1,32 @@ +PROG= ConfCmp +SRCS+= ConfCmp.c +SRCS+= subr_sbuf.c + +.PATH: ../../../../sys/kern + +NO_OBJ= +WARNS?= 5 +CFLAGS+= -g -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -static +# Uncomment for ElectricFence +#LDADD += -lefence -L/usr/local/lib + +LIBADD= bsdxml + +MAN= +CLEANFILES += _* + +.include <bsd.prog.mk> + +test: ${PROG} + rm -f _* *.core + ./${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 + diff --git a/tools/regression/geom/ConfCmp/a1.conf b/tools/regression/geom/ConfCmp/a1.conf new file mode 100644 index 000000000000..94171cdacb10 --- /dev/null +++ b/tools/regression/geom/ConfCmp/a1.conf @@ -0,0 +1,414 @@ +<mesh> + <FreeBSD>$FreeBSD$</FreeBSD> + <method> + <ref>0x80712c0</ref> + <name>DEV-method</name> + <geom> + <ref>0x80bfd00</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s3d</name> + <rank>4</rank> + <consumer> + <ref>0x80b9500</ref> + <geom><ref>0x80bfd00</ref></geom> + <provider><ref>0x80bf880</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfc80</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s3c</name> + <rank>4</rank> + <consumer> + <ref>0x80b94c0</ref> + <geom><ref>0x80bfc80</ref></geom> + <provider><ref>0x80bf800</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfc00</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s3a</name> + <rank>4</rank> + <consumer> + <ref>0x80b9480</ref> + <geom><ref>0x80bfc00</ref></geom> + <provider><ref>0x80bf780</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfb80</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s2c</name> + <rank>4</rank> + <consumer> + <ref>0x80b9440</ref> + <geom><ref>0x80bfb80</ref></geom> + <provider><ref>0x80bf600</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfb00</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1f</name> + <rank>4</rank> + <consumer> + <ref>0x80b9400</ref> + <geom><ref>0x80bfb00</ref></geom> + <provider><ref>0x80bf480</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfa80</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1e</name> + <rank>4</rank> + <consumer> + <ref>0x80b93c0</ref> + <geom><ref>0x80bfa80</ref></geom> + <provider><ref>0x80bf400</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfa00</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1c</name> + <rank>4</rank> + <consumer> + <ref>0x80b9380</ref> + <geom><ref>0x80bfa00</ref></geom> + <provider><ref>0x80bf380</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf980</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1b</name> + <rank>4</rank> + <consumer> + <ref>0x80b9340</ref> + <geom><ref>0x80bf980</ref></geom> + <provider><ref>0x80bf300</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf900</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1a</name> + <rank>4</rank> + <consumer> + <ref>0x80b9300</ref> + <geom><ref>0x80bf900</ref></geom> + <provider><ref>0x80bf280</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf680</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s3</name> + <rank>3</rank> + <consumer> + <ref>0x80b9280</ref> + <geom><ref>0x80bf680</ref></geom> + <provider><ref>0x80bf100</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf500</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s2</name> + <rank>3</rank> + <consumer> + <ref>0x80b9200</ref> + <geom><ref>0x80bf500</ref></geom> + <provider><ref>0x80bf080</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf180</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1</name> + <rank>3</rank> + <consumer> + <ref>0x80b9180</ref> + <geom><ref>0x80bf180</ref></geom> + <provider><ref>0x80bf000</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80b9080</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0</name> + <rank>2</rank> + <consumer> + <ref>0x80b90c0</ref> + <geom><ref>0x80b9080</ref></geom> + <provider><ref>0x80b9040</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + </method> + <method> + <ref>0x8071280</ref> + <name>MBREXT-method</name> + </method> + <method> + <ref>0x8071260</ref> + <name>MBR-method</name> + <geom> + <ref>0x80b9100</ref> + <method><ref>0x8071260</ref></method> + <name>ad0</name> + <rank>2</rank> + <config> + </config> + <consumer> + <ref>0x80b9140</ref> + <geom><ref>0x80b9100</ref></geom> + <provider><ref>0x80b9040</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x80bf100</ref> + <geom><ref>0x80b9100</ref></geom> + <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> + <geom><ref>0x80b9100</ref></geom> + <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> + <geom><ref>0x80b9100</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1</name> + <config> + <index>0</index> + <length>3220406784</length> + <seclength>6289857</seclength> + <offset>32256</offset> + <secoffset>63</secoffset> + <type>165</type> + </config> + </provider> + </geom> + </method> + <method> + <ref>0x80712a0</ref> + <name>BSD-method</name> + <geom> + <ref>0x80bf700</ref> + <method><ref>0x80712a0</ref></method> + <name>ad0s3</name> + <rank>3</rank> + <config> + </config> + <consumer> + <ref>0x80b92c0</ref> + <geom><ref>0x80bf700</ref></geom> + <provider><ref>0x80bf100</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x80bf880</ref> + <geom><ref>0x80bf700</ref></geom> + <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> + <geom><ref>0x80bf700</ref></geom> + <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> + <geom><ref>0x80bf700</ref></geom> + <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> + <method><ref>0x80712a0</ref></method> + <name>ad0s2</name> + <rank>3</rank> + <config> + </config> + <consumer> + <ref>0x80b9240</ref> + <geom><ref>0x80bf580</ref></geom> + <provider><ref>0x80bf080</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x80bf600</ref> + <geom><ref>0x80bf580</ref></geom> + <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> + <method><ref>0x80712a0</ref></method> + <name>ad0s1</name> + <rank>3</rank> + <config> + </config> + <consumer> + <ref>0x80b91c0</ref> + <geom><ref>0x80bf200</ref></geom> + <provider><ref>0x80bf000</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x80bf480</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1f</name> + <config> + <index>5</index> + <length>2066973184</length> + <seclength>4037057</seclength> + <offset>1153465856</offset> + <secoffset>2252863</secoffset> + </config> + </provider> + <provider> + <ref>0x80bf400</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1e</name> + <config> + <index>4</index> + <length>524288000</length> + <seclength>1024000</seclength> + <offset>629177856</offset> + <secoffset>1228863</secoffset> + </config> + </provider> + <provider> + <ref>0x80bf380</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1c</name> + <config> + <index>2</index> + <length>3220406784</length> + <seclength>6289857</seclength> + <offset>32256</offset> + <secoffset>63</secoffset> + </config> + </provider> + <provider> + <ref>0x80bf300</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1b</name> + <config> + <index>1</index> + <length>524288000</length> + <seclength>1024000</seclength> + <offset>104889856</offset> + <secoffset>204863</secoffset> + </config> + </provider> + <provider> + <ref>0x80bf280</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1a</name> + <config> + <index>0</index> + <length>104857600</length> + <seclength>204800</seclength> + <offset>32256</offset> + <secoffset>63</secoffset> + </config> + </provider> + </geom> + </method> + <method> + <ref>0x80711c0</ref> + <name>SIMDISK-method</name> + <geom> + <ref>0x80b9000</ref> + <method><ref>0x80711c0</ref></method> + <name>ad0</name> + <rank>1</rank> + <provider> + <ref>0x80b9040</ref> + <geom><ref>0x80b9000</ref></geom> + <mode>r0w0e0</mode> + <name>ad0</name> + </provider> + </geom> + </method> +</mesh> diff --git a/tools/regression/geom/ConfCmp/a1a.conf b/tools/regression/geom/ConfCmp/a1a.conf new file mode 100644 index 000000000000..01110f39f8af --- /dev/null +++ b/tools/regression/geom/ConfCmp/a1a.conf @@ -0,0 +1,414 @@ +<mesh> + <FreeBSD>$FreeBSD$</FreeBSD> + <method> + <ref>0x90712c0</ref> + <name>DEV-method</name> + <geom> + <ref>0x90bfd00</ref> + <method><ref>0x90712c0</ref></method> + <name>ad0s3d</name> + <rank>4</rank> + <consumer> + <ref>0x90b9500</ref> + <geom><ref>0x90bfd00</ref></geom> + <provider><ref>0x90bf880</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x90bfc80</ref> + <method><ref>0x90712c0</ref></method> + <name>ad0s3c</name> + <rank>4</rank> + <consumer> + <ref>0x90b94c0</ref> + <geom><ref>0x90bfc80</ref></geom> + <provider><ref>0x90bf800</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x90bfc00</ref> + <method><ref>0x90712c0</ref></method> + <name>ad0s3a</name> + <rank>4</rank> + <consumer> + <ref>0x90b9480</ref> + <geom><ref>0x90bfc00</ref></geom> + <provider><ref>0x90bf780</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x90bfb80</ref> + <method><ref>0x90712c0</ref></method> + <name>ad0s2c</name> + <rank>4</rank> + <consumer> + <ref>0x90b9440</ref> + <geom><ref>0x90bfb80</ref></geom> + <provider><ref>0x90bf600</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x90bfb00</ref> + <method><ref>0x90712c0</ref></method> + <name>ad0s1f</name> + <rank>4</rank> + <consumer> + <ref>0x90b9400</ref> + <geom><ref>0x90bfb00</ref></geom> + <provider><ref>0x90bf480</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x90bfa80</ref> + <method><ref>0x90712c0</ref></method> + <name>ad0s1e</name> + <rank>4</rank> + <consumer> + <ref>0x90b93c0</ref> + <geom><ref>0x90bfa80</ref></geom> + <provider><ref>0x90bf400</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x90bfa00</ref> + <method><ref>0x90712c0</ref></method> + <name>ad0s1c</name> + <rank>4</rank> + <consumer> + <ref>0x90b9380</ref> + <geom><ref>0x90bfa00</ref></geom> + <provider><ref>0x90bf380</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x90bf980</ref> + <method><ref>0x90712c0</ref></method> + <name>ad0s1b</name> + <rank>4</rank> + <consumer> + <ref>0x90b9340</ref> + <geom><ref>0x90bf980</ref></geom> + <provider><ref>0x90bf300</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x90bf900</ref> + <method><ref>0x90712c0</ref></method> + <name>ad0s1a</name> + <rank>4</rank> + <consumer> + <ref>0x90b9300</ref> + <geom><ref>0x90bf900</ref></geom> + <provider><ref>0x90bf280</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x90bf680</ref> + <method><ref>0x90712c0</ref></method> + <name>ad0s3</name> + <rank>3</rank> + <consumer> + <ref>0x90b9280</ref> + <geom><ref>0x90bf680</ref></geom> + <provider><ref>0x90bf100</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x90bf500</ref> + <method><ref>0x90712c0</ref></method> + <name>ad0s2</name> + <rank>3</rank> + <consumer> + <ref>0x90b9200</ref> + <geom><ref>0x90bf500</ref></geom> + <provider><ref>0x90bf080</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x90bf180</ref> + <method><ref>0x90712c0</ref></method> + <name>ad0s1</name> + <rank>3</rank> + <consumer> + <ref>0x90b9180</ref> + <geom><ref>0x90bf180</ref></geom> + <provider><ref>0x90bf000</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x90b9080</ref> + <method><ref>0x90712c0</ref></method> + <name>ad0</name> + <rank>2</rank> + <consumer> + <ref>0x90b90c0</ref> + <geom><ref>0x90b9080</ref></geom> + <provider><ref>0x90b9040</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + </method> + <method> + <ref>0x9071280</ref> + <name>MBREXT-method</name> + </method> + <method> + <ref>0x9071260</ref> + <name>MBR-method</name> + <geom> + <ref>0x90b9100</ref> + <method><ref>0x9071260</ref></method> + <name>ad0</name> + <rank>2</rank> + <config> + </config> + <consumer> + <ref>0x90b9140</ref> + <geom><ref>0x90b9100</ref></geom> + <provider><ref>0x90b9040</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x90bf100</ref> + <geom><ref>0x90b9100</ref></geom> + <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>0x90bf080</ref> + <geom><ref>0x90b9100</ref></geom> + <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>0x90bf000</ref> + <geom><ref>0x90b9100</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1</name> + <config> + <index>0</index> + <length>3220406784</length> + <seclength>6289857</seclength> + <offset>32256</offset> + <secoffset>63</secoffset> + <type>165</type> + </config> + </provider> + </geom> + </method> + <method> + <ref>0x90712a0</ref> + <name>BSD-method</name> + <geom> + <ref>0x90bf700</ref> + <method><ref>0x90712a0</ref></method> + <name>ad0s3</name> + <rank>3</rank> + <config> + </config> + <consumer> + <ref>0x90b92c0</ref> + <geom><ref>0x90bf700</ref></geom> + <provider><ref>0x90bf100</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x90bf880</ref> + <geom><ref>0x90bf700</ref></geom> + <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>0x90bf800</ref> + <geom><ref>0x90bf700</ref></geom> + <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>0x90bf780</ref> + <geom><ref>0x90bf700</ref></geom> + <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>0x90bf580</ref> + <method><ref>0x90712a0</ref></method> + <name>ad0s2</name> + <rank>3</rank> + <config> + </config> + <consumer> + <ref>0x90b9240</ref> + <geom><ref>0x90bf580</ref></geom> + <provider><ref>0x90bf080</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x90bf600</ref> + <geom><ref>0x90bf580</ref></geom> + <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>0x90bf200</ref> + <method><ref>0x90712a0</ref></method> + <name>ad0s1</name> + <rank>3</rank> + <config> + </config> + <consumer> + <ref>0x90b91c0</ref> + <geom><ref>0x90bf200</ref></geom> + <provider><ref>0x90bf000</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x90bf480</ref> + <geom><ref>0x90bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1f</name> + <config> + <index>5</index> + <length>2066973184</length> + <seclength>4037057</seclength> + <offset>1153465856</offset> + <secoffset>2252863</secoffset> + </config> + </provider> + <provider> + <ref>0x90bf400</ref> + <geom><ref>0x90bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1e</name> + <config> + <index>4</index> + <length>524288000</length> + <seclength>1024000</seclength> + <offset>629177856</offset> + <secoffset>1228863</secoffset> + </config> + </provider> + <provider> + <ref>0x90bf380</ref> + <geom><ref>0x90bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1c</name> + <config> + <index>2</index> + <length>3220406784</length> + <seclength>6289857</seclength> + <offset>32256</offset> + <secoffset>63</secoffset> + </config> + </provider> + <provider> + <ref>0x90bf300</ref> + <geom><ref>0x90bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1b</name> + <config> + <index>1</index> + <length>524288000</length> + <seclength>1024000</seclength> + <offset>104889856</offset> + <secoffset>204863</secoffset> + </config> + </provider> + <provider> + <ref>0x90bf280</ref> + <geom><ref>0x90bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1a</name> + <config> + <index>0</index> + <length>104857600</length> + <seclength>204800</seclength> + <offset>32256</offset> + <secoffset>63</secoffset> + </config> + </provider> + </geom> + </method> + <method> + <ref>0x90711c0</ref> + <name>SIMDISK-method</name> + <geom> + <ref>0x90b9000</ref> + <method><ref>0x90711c0</ref></method> + <name>ad0</name> + <rank>1</rank> + <provider> + <ref>0x90b9040</ref> + <geom><ref>0x90b9000</ref></geom> + <mode>r0w0e0</mode> + <name>ad0</name> + </provider> + </geom> + </method> +</mesh> diff --git a/tools/regression/geom/ConfCmp/a1b.conf b/tools/regression/geom/ConfCmp/a1b.conf new file mode 100644 index 000000000000..46f423b28ec0 --- /dev/null +++ b/tools/regression/geom/ConfCmp/a1b.conf @@ -0,0 +1,414 @@ +<mesh> + <FreeBSD>$FreeBSD$</FreeBSD> + <method> + <ref>0x80712c0</ref> + <name>DEV-method</name> + <geom> + <ref>0x80bfd00</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s3d</name> + <rank>4</rank> + <consumer> + <ref>0x80b9500</ref> + <geom><ref>0x80bfd00</ref></geom> + <provider><ref>0x80bf880</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfc80</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s3c</name> + <rank>4</rank> + <consumer> + <ref>0x80b94c0</ref> + <geom><ref>0x80bfc80</ref></geom> + <provider><ref>0x80bf800</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfc00</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s3a</name> + <rank>4</rank> + <consumer> + <ref>0x80b9480</ref> + <geom><ref>0x80bfc00</ref></geom> + <provider><ref>0x80bf780</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfb80</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s2c</name> + <rank>4</rank> + <consumer> + <ref>0x80b9440</ref> + <geom><ref>0x80bfb80</ref></geom> + <provider><ref>0x80bf600</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfb00</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1f</name> + <rank>4</rank> + <consumer> + <ref>0x80b9400</ref> + <geom><ref>0x80bfb00</ref></geom> + <provider><ref>0x80bf480</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfa80</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1e</name> + <rank>4</rank> + <consumer> + <ref>0x80b93c0</ref> + <geom><ref>0x80bfa80</ref></geom> + <provider><ref>0x80bf400</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfa00</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1c</name> + <rank>4</rank> + <consumer> + <ref>0x80b9380</ref> + <geom><ref>0x80bfa00</ref></geom> + <provider><ref>0x80bf380</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf980</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1b</name> + <rank>4</rank> + <consumer> + <ref>0x80b9340</ref> + <geom><ref>0x80bf980</ref></geom> + <provider><ref>0x80bf300</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf900</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1a</name> + <rank>4</rank> + <consumer> + <ref>0x80b9300</ref> + <geom><ref>0x80bf900</ref></geom> + <provider><ref>0x80bf280</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf680</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s3</name> + <rank>3</rank> + <consumer> + <ref>0x80b9280</ref> + <geom><ref>0x80bf680</ref></geom> + <provider><ref>0x80bf100</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf500</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s2</name> + <rank>3</rank> + <consumer> + <ref>0x80b9200</ref> + <geom><ref>0x80bf500</ref></geom> + <provider><ref>0x80bf080</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf180</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1</name> + <rank>3</rank> + <consumer> + <ref>0x80b9180</ref> + <geom><ref>0x80bf180</ref></geom> + <provider><ref>0x80bf000</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80b9080</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0</name> + <rank>2</rank> + <consumer> + <ref>0x80b90c0</ref> + <geom><ref>0x80b9080</ref></geom> + <provider><ref>0x80b9040</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + </method> + <method> + <ref>0x8071280</ref> + <name>MBREXT-method</name> + </method> + <method> + <ref>0x8071260</ref> + <name>MBR-method</name> + <geom> + <ref>0x80b9100</ref> + <method><ref>0x8071260</ref></method> + <name>ad0</name> + <rank>2</rank> + <config> + </config> + <consumer> + <ref>0x80b9140</ref> + <geom><ref>0x80b9100</ref></geom> + <provider><ref>0x80b9040</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x80bf100</ref> + <geom><ref>0x80b9100</ref></geom> + <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> + <geom><ref>0x80b9100</ref></geom> + <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> + <geom><ref>0x80b9100</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1</name> + <config> + <index>0</index> + <length>3220406784</length> + <seclength>6289857</seclength> + <offset>32256</offset> + <secoffset>63</secoffset> + <type>165</type> + </config> + </provider> + </geom> + </method> + <method> + <ref>0x80712a0</ref> + <name>BSD-method</name> + <geom> + <ref>0x80bf700</ref> + <method><ref>0x80712a0</ref></method> + <name>ad0s3</name> + <rank>3</rank> + <config> + </config> + <consumer> + <ref>0x80b92c0</ref> + <geom><ref>0x80bf700</ref></geom> + <provider><ref>0x80bf100</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x80bf880</ref> + <geom><ref>0x80bf700</ref></geom> + <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> + <geom><ref>0x80bf700</ref></geom> + <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> + <geom><ref>0x80bf700</ref></geom> + <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> + <method><ref>0x80712a0</ref></method> + <name>ad0s2</name> + <rank>3</rank> + <config> + </config> + <consumer> + <ref>0x80b9240</ref> + <geom><ref>0x80bf580</ref></geom> + <provider><ref>0x80bf080</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x80bf600</ref> + <geom><ref>0x80bf580</ref></geom> + <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> + <method><ref>0x80712a0</ref></method> + <name>ad0s1</name> + <rank>3</rank> + <config> + </config> + <consumer> + <ref>0x80b91c0</ref> + <geom><ref>0x80bf200</ref></geom> + <provider><ref>0x80bf000</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x80bf480</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1f</name> + <config> + <index>5</index> + <length>2066973184</length> + <seclength>4037057</seclength> + <offset>1153465856</offset> + <secoffset>2252863</secoffset> + </config> + </provider> + <provider> + <ref>0x80bf400</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1e</name> + <config> + <index>4</index> + <length>524288000</length> + <seclength>1024000</seclength> + <offset>629177856</offset> + <secoffset>1228863</secoffset> + </config> + </provider> + <provider> + <ref>0x80bf380</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1c</name> + <config> + <index>2</index> + <length>3220406784</length> + <seclength>6289857</seclength> + <offset>32256</offset> + <secoffset>63</secoffset> + </config> + </provider> + <provider> + <ref>0x80bf300</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1b</name> + <config> + <index>1</index> + <length>524288000</length> + <seclength>1024000</seclength> + <offset>104889856</offset> + <secoffset>204863</secoffset> + </config> + </provider> + <provider> + <ref>0x80bf280</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1a</name> + <config> + <index>0</index> + <length>104857600</length> + <seclength>204800</seclength> + <offset>32256</offset> + <secoffset>63</secoffset> + </config> + </provider> + </geom> + </method> + <method> + <ref>0x80711c0</ref> + <name>SIMDISK-method</name> + <geom> + <ref>0x80b9000</ref> + <method><ref>0x80711c0</ref></method> + <name>ad0</name> + <rank>1</rank> + <provider> + <ref>0x80b9041</ref> + <geom><ref>0x80b9000</ref></geom> + <mode>r0w0e0</mode> + <name>ad0</name> + </provider> + </geom> + </method> +</mesh> diff --git a/tools/regression/geom/ConfCmp/a1c.conf b/tools/regression/geom/ConfCmp/a1c.conf new file mode 100644 index 000000000000..1b5a2b939c2e --- /dev/null +++ b/tools/regression/geom/ConfCmp/a1c.conf @@ -0,0 +1,414 @@ +<mesh> + <FreeBSD>$FreeBSD$</FreeBSD> + <method> + <ref>0x80712c0</ref> + <name>DEV-method</name> + <geom> + <ref>0x80bfd00</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s3d</name> + <rank>4</rank> + <consumer> + <ref>0x80b9500</ref> + <geom><ref>0x80bfd00</ref></geom> + <provider><ref>0x80bf880</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfc80</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s3c</name> + <rank>4</rank> + <consumer> + <ref>0x80b94c0</ref> + <geom><ref>0x80bfc80</ref></geom> + <provider><ref>0x80bf800</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfc00</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s3a</name> + <rank>4</rank> + <consumer> + <ref>0x80b9480</ref> + <geom><ref>0x80bfc00</ref></geom> + <provider><ref>0x80bf780</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfb80</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s2c</name> + <rank>4</rank> + <consumer> + <ref>0x80b9440</ref> + <geom><ref>0x80bfb80</ref></geom> + <provider><ref>0x80bf600</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfb00</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1f</name> + <rank>4</rank> + <consumer> + <ref>0x80b9400</ref> + <geom><ref>0x80bfb00</ref></geom> + <provider><ref>0x80bf480</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfa80</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1e</name> + <rank>4</rank> + <consumer> + <ref>0x80b93c0</ref> + <geom><ref>0x80bfa80</ref></geom> + <provider><ref>0x80bf400</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfa00</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1c</name> + <rank>4</rank> + <consumer> + <ref>0x80b9380</ref> + <geom><ref>0x80bfa00</ref></geom> + <provider><ref>0x80bf380</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf980</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1b</name> + <rank>4</rank> + <consumer> + <ref>0x80b9340</ref> + <geom><ref>0x80bf980</ref></geom> + <provider><ref>0x80bf300</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf900</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1a</name> + <rank>4</rank> + <consumer> + <ref>0x80b9300</ref> + <geom><ref>0x80bf900</ref></geom> + <provider><ref>0x80bf280</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf680</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s3</name> + <rank>3</rank> + <consumer> + <ref>0x80b9280</ref> + <geom><ref>0x80bf680</ref></geom> + <provider><ref>0x80bf100</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf500</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s2</name> + <rank>3</rank> + <consumer> + <ref>0x80b9200</ref> + <geom><ref>0x80bf500</ref></geom> + <provider><ref>0x80bf080</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf180</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1</name> + <rank>3</rank> + <consumer> + <ref>0x80b9180</ref> + <geom><ref>0x80bf180</ref></geom> + <provider><ref>0x80bf000</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80b9080</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0</name> + <rank>2</rank> + <consumer> + <ref>0x80b90c0</ref> + <geom><ref>0x80b9080</ref></geom> + <provider><ref>0x80b9040</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + </method> + <method> + <ref>0x8071280</ref> + <name>MBREXT-method</name> + </method> + <method> + <ref>0x8071260</ref> + <name>MBR-method</name> + <geom> + <ref>0x80b9100</ref> + <method><ref>0x8071260</ref></method> + <name>ad0</name> + <rank>2</rank> + <config> + </config> + <consumer> + <ref>0x80b9140</ref> + <geom><ref>0x80b9100</ref></geom> + <provider><ref>0x80b9040</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x80bf100</ref> + <geom><ref>0x80b9100</ref></geom> + <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> + <geom><ref>0x80b9100</ref></geom> + <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> + <geom><ref>0x80b9100</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1</name> + <config> + <index>0</index> + <length>3220406784</length> + <seclength>6289857</seclength> + <offset>32256</offset> + <secoffset>63</secoffset> + <type>165</type> + </config> + </provider> + </geom> + </method> + <method> + <ref>0x80712a0</ref> + <name>BSD-method</name> + <geom> + <ref>0x80bf700</ref> + <method><ref>0x80712a0</ref></method> + <name>ad0s3</name> + <rank>3</rank> + <config> + </config> + <consumer> + <ref>0x80b92c0</ref> + <geom><ref>0x80bf700</ref></geom> + <provider><ref>0x80bf100</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x80bf880</ref> + <geom><ref>0x80bf700</ref></geom> + <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> + <geom><ref>0x80bf700</ref></geom> + <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> + <geom><ref>0x80bf700</ref></geom> + <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> + <method><ref>0x80712a0</ref></method> + <name>ad0s2</name> + <rank>3</rank> + <config> + </config> + <consumer> + <ref>0x80b9240</ref> + <geom><ref>0x80bf580</ref></geom> + <provider><ref>0x80bf080</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x80bf600</ref> + <geom><ref>0x80bf580</ref></geom> + <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> + <method><ref>0x80712a0</ref></method> + <name>ad0s1</name> + <rank>3</rank> + <config> + </config> + <consumer> + <ref>0x80b91c0</ref> + <geom><ref>0x80bf200</ref></geom> + <provider><ref>0x80bf000</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x80bf480</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1f</name> + <config> + <index>5</index> + <length>2066973184</length> + <seclength>4037057</seclength> + <offset>1153465856</offset> + <secoffset>2252863</secoffset> + </config> + </provider> + <provider> + <ref>0x80bf400</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1e</name> + <config> + <index>4</index> + <length>524288000</length> + <seclength>1024000</seclength> + <offset>629177856</offset> + <secoffset>1228863</secoffset> + </config> + </provider> + <provider> + <ref>0x80bf380</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1c</name> + <config> + <index>2</index> + <length>3220406784</length> + <seclength>6289857</seclength> + <offset>32256</offset> + <secoffset>63</secoffset> + </config> + </provider> + <provider> + <ref>0x80bf300</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1b</name> + <config> + <index>1</index> + <length>524288000</length> + <seclength>1024000</seclength> + <offset>104889856</offset> + <secoffset>204863</secoffset> + </config> + </provider> + <provider> + <ref>0x80bf280</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1a</name> + <config> + <index>0</index> + <length>104857600</length> + <seclength>204800</seclength> + <offset>32256</offset> + <secoffset>63</secoffset> + </config> + </provider> + </geom> + </method> + <method> + <ref>0x80711c0</ref> + <name>SIMDISK-method</name> + <geom> + <ref>0x80b9000</ref> + <method><ref>0x80711c0</ref></method> + <name>ad0</name> + <rank>1</rank> + <provider> + <ref>0x80b9040</ref> + <geom><ref>0x80b9000</ref></geom> + <mode>r0w0e1</mode> + <name>ad0</name> + </provider> + </geom> + </method> +</mesh> diff --git a/tools/regression/geom/ConfCmp/a1d.conf b/tools/regression/geom/ConfCmp/a1d.conf new file mode 100644 index 000000000000..a9063c554b35 --- /dev/null +++ b/tools/regression/geom/ConfCmp/a1d.conf @@ -0,0 +1,414 @@ +<mesh> + <FreeBSD>$FreeBSD$</FreeBSD> + <method> + <ref>0x80712c0</ref> + <name>DEV-method</name> + <geom> + <ref>0x80bfd00</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s3d</name> + <rank>4</rank> + <consumer> + <ref>0x80b9500</ref> + <geom><ref>0x80bfd00</ref></geom> + <provider><ref>0x80bf880</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfc80</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s3c</name> + <rank>4</rank> + <consumer> + <ref>0x80b94c0</ref> + <geom><ref>0x80bfc80</ref></geom> + <provider><ref>0x80bf800</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfc00</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s3a</name> + <rank>4</rank> + <consumer> + <ref>0x80b9480</ref> + <geom><ref>0x80bfc00</ref></geom> + <provider><ref>0x80bf780</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfb80</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s2c</name> + <rank>4</rank> + <consumer> + <ref>0x80b9440</ref> + <geom><ref>0x80bfb80</ref></geom> + <provider><ref>0x80bf600</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfb00</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1f</name> + <rank>4</rank> + <consumer> + <ref>0x80b9400</ref> + <geom><ref>0x80bfb00</ref></geom> + <provider><ref>0x80bf480</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfa80</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1e</name> + <rank>4</rank> + <consumer> + <ref>0x80b93c0</ref> + <geom><ref>0x80bfa80</ref></geom> + <provider><ref>0x80bf400</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bfa00</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1c</name> + <rank>4</rank> + <consumer> + <ref>0x80b9380</ref> + <geom><ref>0x80bfa00</ref></geom> + <provider><ref>0x80bf380</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf980</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1b</name> + <rank>4</rank> + <consumer> + <ref>0x80b9340</ref> + <geom><ref>0x80bf980</ref></geom> + <provider><ref>0x80bf300</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf900</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1a</name> + <rank>4</rank> + <consumer> + <ref>0x80b9300</ref> + <geom><ref>0x80bf900</ref></geom> + <provider><ref>0x80bf280</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf680</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s3</name> + <rank>3</rank> + <consumer> + <ref>0x80b9280</ref> + <geom><ref>0x80bf680</ref></geom> + <provider><ref>0x80bf100</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf500</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s2</name> + <rank>3</rank> + <consumer> + <ref>0x80b9200</ref> + <geom><ref>0x80bf500</ref></geom> + <provider><ref>0x80bf080</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80bf180</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0s1</name> + <rank>3</rank> + <consumer> + <ref>0x80b9180</ref> + <geom><ref>0x80bf180</ref></geom> + <provider><ref>0x80bf000</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + <geom> + <ref>0x80b9080</ref> + <method><ref>0x80712c0</ref></method> + <name>ad0</name> + <rank>2</rank> + <consumer> + <ref>0x80b90c0</ref> + <geom><ref>0x80b9080</ref></geom> + <provider><ref>0x80b9040</ref></provider> + <mode>r0w0e0</mode> + </consumer> + </geom> + </method> + <method> + <ref>0x8071280</ref> + <name>MBREXT-method</name> + </method> + <method> + <ref>0x8071260</ref> + <name>MBR-method</name> + <geom> + <ref>0x80b9100</ref> + <method><ref>0x8071260</ref></method> + <name>ad0</name> + <rank>2</rank> + <config> + </config> + <consumer> + <ref>0x80b9140</ref> + <geom><ref>0x80b9100</ref></geom> + <provider><ref>0x80b9040</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x80bf100</ref> + <geom><ref>0x80b9100</ref></geom> + <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> + <geom><ref>0x80b9100</ref></geom> + <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> + <geom><ref>0x80b9100</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1</name> + <config> + <index>0</index> + <length>3220406784</length> + <seclength>6289857</seclength> + <offset>32256</offset> + <secoffset>63</secoffset> + <type>165</type> + </config> + </provider> + </geom> + </method> + <method> + <ref>0x80712a0</ref> + <name>BSD-method</name> + <geom> + <ref>0x80bf700</ref> + <method><ref>0x80712a0</ref></method> + <name>ad0s3</name> + <rank>3</rank> + <config> + </config> + <consumer> + <ref>0x80b92c0</ref> + <geom><ref>0x80bf700</ref></geom> + <provider><ref>0x80bf100</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x80bf880</ref> + <geom><ref>0x80bf700</ref></geom> + <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> + <geom><ref>0x80bf700</ref></geom> + <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> + <geom><ref>0x80bf700</ref></geom> + <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> + <method><ref>0x80712a0</ref></method> + <name>ad0s2</name> + <rank>3</rank> + <config> + </config> + <consumer> + <ref>0x80b9240</ref> + <geom><ref>0x80bf580</ref></geom> + <provider><ref>0x80bf080</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x80bf600</ref> + <geom><ref>0x80bf580</ref></geom> + <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> + <method><ref>0x80712a0</ref></method> + <name>ad0s1</name> + <rank>3</rank> + <config> + </config> + <consumer> + <ref>0x80b91c0</ref> + <geom><ref>0x80bf200</ref></geom> + <provider><ref>0x80bf000</ref></provider> + <mode>r0w0e0</mode> + <config> + </config> + </consumer> + <provider> + <ref>0x80bf480</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1f</name> + <config> + <index>5</index> + <length>2066973184</length> + <seclength>4037057</seclength> + <offset>1153465856</offset> + <secoffset>2252863</secoffset> + </config> + </provider> + <provider> + <ref>0x80bf400</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1e</name> + <config> + <index>4</index> + <length>524288000</length> + <seclength>1024000</seclength> + <offset>629177856</offset> + <secoffset>1228863</secoffset> + </config> + </provider> + <provider> + <ref>0x80bf380</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1c</name> + <config> + <index>2</index> + <length>3220406784</length> + <seclength>6289857</seclength> + <offset>32256</offset> + <secoffset>63</secoffset> + </config> + </provider> + <provider> + <ref>0x80bf300</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1b</name> + <config> + <index>1</index> + <length>524288000</length> + <seclength>1024000</seclength> + <offset>104889856</offset> + <secoffset>204863</secoffset> + </config> + </provider> + <provider> + <ref>0x80bf280</ref> + <geom><ref>0x80bf200</ref></geom> + <mode>r0w0e0</mode> + <name>ad0s1a</name> + <config> + <index>0</index> + <length>104857600</length> + <seclength>204800</seclength> + <offset>32256</offset> + <secoffset>63</secoffset> + </config> + </provider> + </geom> + </method> + <method> + <ref>0x80711c0</ref> + <name>SIMDISK-method</name> + <geom> + <ref>0x80b9000</ref> + <method><ref>0x80711c0</ref></method> + <name>ad0</name> + <rank>1</rank> + <provider> + <ref>0x80b9040</ref> + <geom><ref>0x80b9000</ref></geom> + <mode>r0w0e0</mode> + <name>ad0</namf> + </provider> + </geom> + </method> +</mesh> diff --git a/tools/regression/geom/Data/disk.apple.xml b/tools/regression/geom/Data/disk.apple.xml new file mode 100644 index 000000000000..ecdd5236497c --- /dev/null +++ b/tools/regression/geom/Data/disk.apple.xml @@ -0,0 +1,93 @@ +<?xml version="1.0"?> +<DISKIMAGE> + <FreeBSD>$FreeBSD$</FreeBSD> + <sectorsize>512</sectorsize> + <mediasize>366530560</mediasize> + <fwsectors>0</fwsectors> + <fwheads>0</fwheads> + <fwcylinders>0</fwcylinders> + <sector> + <offset>0</offset> + <hexdata> + 45520200000aec68000100010000000000010000004000120001000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> + <sector> + <offset>512</offset> + <hexdata> + 504d00000000000300000060000aec084d61634f530000000000000000000000 + 000000000000000000000000000000004170706c655f48465300000000000000 + 0000000000000000000000000000000000000000000aec08000000b700000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> + <sector> + <offset>1024</offset> + <hexdata> + 504d000000000003000000010000003f4170706c650000000000000000000000 + 000000000000000000000000000000004170706c655f706172746974696f6e5f + 6d617000000000000000000000000000000000000000003f0000003700000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> + <sector> + <offset>1536</offset> + <hexdata> + 504d00000000000300000040000000204d6163696e746f736800000000000000 + 000000000000000000000000000000004170706c655f44726976657234330000 + 0000000000000000000000000000000000000000000000200000007f00000000 + 000023ee0000000000000000000000000000000000007c083638303030000000 + 0000000000000000000106000000000000000001000700000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> +</DISKIMAGE> diff --git a/tools/regression/geom/Data/disk.beast.da0.xml b/tools/regression/geom/Data/disk.beast.da0.xml new file mode 100644 index 000000000000..8a3ab6ec020b --- /dev/null +++ b/tools/regression/geom/Data/disk.beast.da0.xml @@ -0,0 +1,32 @@ +<?xml version="1.0"?> +<DISKIMAGE> + <comment> + alpha BSD label from beast.freebsd.org + </comment> + <sectorsize>512</sectorsize> + <mediasize>0</mediasize> + <fwsectors>0</fwsectors> + <fwheads>0</fwheads> + <fwcylinders>0</fwcylinders> + <sector> + <offset>0</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 5745568204000000646130000000000000000000000000000000000000000000 + 0000000000000000000200003f000000ff0000000f020000c13e000000338100 + 0000000000000000100e01000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000057455682594e08000020000000200000002079000000000000040000 + 0708100000130800002079000000000001000000003381000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0f0000000000000001000000000000000000000000000000fc8c1983a904da83 + </hexdata> + </sector> +</DISKIMAGE> diff --git a/tools/regression/geom/Data/disk.critter.ad0.xml b/tools/regression/geom/Data/disk.critter.ad0.xml new file mode 100644 index 000000000000..ff56d2e17c57 --- /dev/null +++ b/tools/regression/geom/Data/disk.critter.ad0.xml @@ -0,0 +1,177 @@ +<?xml version="1.0"?> +<DISKIMAGE> + <comment> + This image contains the MBR and disklabel sectors from my Asus M1300 + laptop. + </comment> + <sectorsize>512</sectorsize> + <mediasize>0</mediasize> + <sector> + <offset>0</offset> + <hexdata> + fc31c08ec08ed88ed0bc007cbe1a7cbf1a06b9e601f3a4e9008a31f6bbbe07b1 + 04382f74087f7885f6757489de80c310e2ef85f67502cd1880fa80720b8a3675 + 0480c68038f272028a1489e78a74018b4c02bb007c80feff753283f9ff752d51 + 53bbaa55b441cd13722081fb55aa751af6c10174155b666a0066ff740806536a + 016a1089e6b80042eb055b59b80102cd1389fc720f81bffe0155aa750cffe3be + bc06eb11bed406eb0cbef306eb07bb0700b40ecd10ac84c075f4ebfe496e7661 + 6c696420706172746974696f6e207461626c65004572726f72206c6f6164696e + 67206f7065726174696e672073797374656d004d697373696e67206f70657261 + 74696e672073797374656d000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008001 + 0100a50fffff3f00000041295402000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>512</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> + <sector> + <offset>32768</offset> + <hexdata> + 5745568205000000616430733100000000000000000000000000000000000000 + 0000000000000000000200003f0000001000000067970000f003000041295402 + 0000000000000000100e01000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000574556824fa608000020000000200000000020003f00000000040000 + 07081600000020003f0020000000000001000000412954023f00000000000000 + 00000000418984003fa0cf01000400000708160000a00f003f00400000040000 + 07081600000080003fa04f000004000007081600000060003fa0cf0000040000 + 070816000000a0003fa02f010004000007081600000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> + <sector> + <offset>64512</offset> + <hexdata> + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> + <sector> + <offset>1073806336</offset> + <hexdata> + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + </hexdata> + </sector> + <sector> + <offset>1598094336</offset> + <hexdata> + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + 4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f + </hexdata> + </sector> + <sector> + <offset>2147548160</offset> + <hexdata> + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> + <sector> + <offset>2671836160</offset> + <hexdata> + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffff00000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> +</DISKIMAGE> diff --git a/tools/regression/geom/Data/disk.empty.flp.xml b/tools/regression/geom/Data/disk.empty.flp.xml new file mode 100644 index 000000000000..7e3c827167b4 --- /dev/null +++ b/tools/regression/geom/Data/disk.empty.flp.xml @@ -0,0 +1,11 @@ +<?xml version="1.0"?> +<DISKIMAGE> + <comment> + An empty floppy disk + </comment> + <sectorsize>512</sectorsize> + <mediasize>1474560</mediasize> + <fwsectors>18</fwsectors> + <fwheads>2</fwheads> + <fwcylinders>80</fwcylinders> +</DISKIMAGE> diff --git a/tools/regression/geom/Data/disk.far.ad0.xml b/tools/regression/geom/Data/disk.far.ad0.xml new file mode 100644 index 000000000000..597d6ee1e190 --- /dev/null +++ b/tools/regression/geom/Data/disk.far.ad0.xml @@ -0,0 +1,50 @@ +<?xml version="1.0"?> +<DISKIMAGE> + <comment> + A Windows laptop. + </comment> + <sectorsize>512</sectorsize> + <mediasize>0</mediasize> + <sector> + <offset>0</offset> + <hexdata> + 33c08ed0bc007cfb5007501ffcbe1b7cbf1b065057b9e501f3a4cbbebe07b104 + 382c7c09751583c610e2f5cd188b148bee83c610497416382c74f6be10074eac + 3c0074fabb0700b40ecd10ebf2894625968a4604b4063c0e7411b40b3c0c7405 + 3ac4752b40c64625067524bbaa5550b441cd1358721681fb55aa7510f6c10174 + 0b8ae0885624c706a106eb1e886604bf0a00b801028bdc33c983ff057f038b4e + 25034e02cd137229be4607813efe7d55aa745a83ef057fda85f67583be2707eb + 8a9891529903460813560ae812005aebd54f74e433c0cd13ebb8000080093521 + 5633f656565250065351be1000568bf45052b800428a5624cd135a588d641072 + 0a4075014280c702e2f7f85ec3eb74496e76616c696420706172746974696f6e + 207461626c65004572726f72206c6f6164696e67206f7065726174696e672073 + 797374656d004d697373696e67206f7065726174696e672073797374656d0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000008bfc1e578bf5cb00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 0100a05304263f00000092d80800805401260befbf730cd90800340a88000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>512</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> +</DISKIMAGE> diff --git a/tools/regression/geom/Data/disk.flat.da1.xml b/tools/regression/geom/Data/disk.flat.da1.xml new file mode 100644 index 000000000000..63e919c20988 --- /dev/null +++ b/tools/regression/geom/Data/disk.flat.da1.xml @@ -0,0 +1,96 @@ +<?xml version="1.0"?> +<DISKIMAGE> + <comment> + This image contains an interesting setup: there is an MBR+BSD + but also another BSD at sector one which is valid but bogus. + </comment> + <sectorsize>512</sectorsize> + <mediasize>0</mediasize> + <fwsectors>0</fwsectors> + <fwheads>0</fwheads> + <fwcylinders>0</fwcylinders> + <sector> + <offset>0</offset> + <hexdata> + fc31c08ec08ed88ed0bc007cbe1a7cbf1a06b9e601f3a4e9008a31f6bbbe07b1 + 04382f74087f7885f6757489de80c310e2ef85f67502cd1880fa80720b8a3675 + 0480c68038f272028a1489e78a74018b4c02bb007c80feff753283f9ff752d51 + 53bbaa55b441cd13722081fb55aa751af6c10174155b666a0066ff740806536a + 016a1089e6b80042eb055b59b80102cd1389fc720f81bffe0155aa750cffe3be + bc06eb11bed406eb0cbef306eb07bb0700b40ecd10ac84c075f4ebfe496e7661 + 6c696420706172746974696f6e207461626c65004572726f72206c6f6164696e + 67206f7065726174696e672073797374656d004d697373696e67206f70657261 + 74696e672073797374656d000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008001 + 0100a5feffff3f0000003a612302000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>512</offset> + <hexdata> + 5745568204000000534541474154452053543331383433360000000000000000 + 000000000000000000020000000800000100000072440000000800000004fb00 + 0000000000000000100e01000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000057455682e29908000020000000200000002001000000000000040000 + 07081000000008000020010000000000010000000004fb000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000e0f100002009000004000007081000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> + <sector> + <offset>32256</offset> + <hexdata> + eb1b9090161f666a005150065331c088f0506a1089e5e8c7008d6610cbfc31c9 + 8ec18ed98ed1bc007c89e6bf0007fec5f3a5beee7d80fa80722cb601e86700b9 + 0100bebe8db601807c04a57507e319f60480751483c610fec680fe0572e949e3 + e1be8b7deb5231d289160009b610e83500bb00908b770a01debf00b0b900ac29 + f1f3a429f930c0f3aae80300e98113fae464a80275fab0d1e664e464a80275fa + b0dfe660fbc3bb008c8b44088b4c0a0ee853ff732abe867de81c00be907de816 + 0030e4cd16c70672043412ea0000ffffbb0700b40ecd10ac84c075f4b401f9c3 + 52b408cd1388f55a72f580e13f74edfa668b460852660fb6d96631d266f7f388 + eb88d54330d266f7f388d75a663dff030000fb774486c4c0c80208e8409188fe + 28e08a660238e0720288e0bf0500c45e0450b402cd135b730a4f741c30e4cd13 + 93ebeb0fb6c30146087303ff460ad0e3005e052846027788c32ef6069908800f + 8479ffbbaa5552b441cd135a0f826fff81fb55aa0f8564fff6c1010f845dff89 + eeb442cd13c35265616400426f6f7400206572726f720d0a0080909090909090 + 9090909090909090909090909090909090909090909090909090909090900000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000080000100a5ffffff0000000050c3000055aa + </hexdata> + </sector> + <sector> + <offset>32768</offset> + <hexdata> + 5745568204000000646131733100000000000000000000000000000000000000 + 0000000000000000000200003f000000ff000000b8080000c13e00003a612302 + 0000000000000000100e01000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000005745568233c408000020000000200000000000000000000000000000 + 0000000000800c003f800c0000000000010000003a6123023f00000000000000 + 000000000000000000000000000000000000000000800c003f00000000040000 + 07081600000020003f00190000040000070816003a61ea013f00390000040000 + 0708160000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> +</DISKIMAGE> diff --git a/tools/regression/geom/Data/disk.kern.flp.xml b/tools/regression/geom/Data/disk.kern.flp.xml new file mode 100644 index 000000000000..3d5db26469ca --- /dev/null +++ b/tools/regression/geom/Data/disk.kern.flp.xml @@ -0,0 +1,50 @@ +<?xml version="1.0"?> +<DISKIMAGE> + <comment> + A FreeBSD kern.flp image. + </comment> + <sectorsize>512</sectorsize> + <mediasize>0</mediasize> + <sector> + <offset>0</offset> + <hexdata> + eb1b9090161f666a005150065331c088f0506a1089e5e8c7008d6610cbfc31c9 + 8ec18ed98ed1bc007c89e6bf0007fec5f3a5beee7d80fa80722cb601e86700b9 + 0100bebe8db601807c04a57507e319f60480751483c610fec680fe0572e949e3 + e1be8b7deb5231d289160009b610e83500bb00908b770a01debf00b0b900ac29 + f1f3a429f930c0f3aae80300e98113fae464a80275fab0d1e664e464a80275fa + b0dfe660fbc3bb008c8b44088b4c0a0ee853ff732abe867de81c00be907de816 + 0030e4cd16c70672043412ea0000ffffbb0700b40ecd10ac84c075f4b401f9c3 + 52b408cd1388f55a72f580e13f74edfa668b460852660fb6d96631d266f7f388 + eb88d54330d266f7f388d75a663dff030000fb774486c4c0c80208e8409188fe + 28e08a660238e0720288e0bf0500c45e0450b402cd135b730a4f741c30e4cd13 + 93ebeb0fb6c30146087303ff460ad0e3005e052846027788c32ef6069908800f + 8479ffbbaa5552b441cd135a0f826fff81fb55aa0f8564fff6c1010f845dff89 + eeb442cd13c35265616400426f6f7400206572726f720d0a0080909090909090 + 9090909090909090909090909090909090909090909090909090909090900000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000080000100a5ffffff0000000050c3000055aa + </hexdata> + </sector> + <sector> + <offset>512</offset> + <hexdata> + 5745568200000000666431343430000000000000000000000000000000000000 + 00000000000000000002000012000000020000005000000024000000400b0000 + 00000000000000002c0101000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000057455682286903000020000000200000400b00000000000000020000 + 00080000400b0000000000000002000000080000400b00000000000000020000 + 0708060000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> +</DISKIMAGE> diff --git a/tools/regression/geom/Data/disk.msdos.ext.xml b/tools/regression/geom/Data/disk.msdos.ext.xml new file mode 100644 index 000000000000..64edc5c75141 --- /dev/null +++ b/tools/regression/geom/Data/disk.msdos.ext.xml @@ -0,0 +1,533 @@ +<?xml version="1.0"?> +<DISKIMAGE> + <comment> + A MSDOS 6.22 disk with maximal number of extended partitions. + </comment> + <sectorsize>512</sectorsize> + <mediasize>0</mediasize> + <sector> + <offset>0</offset> + <hexdata> + fa33c08ed0bc007c8bf45007501ffbfcbf0006b90001f2a5ea1d060000bebe07 + b304803c80740e803c00751c83c610fecb75efcd188b148b4c028bee83c610fe + cb741a803c0074f4be8b06ac3c00740b56bb0700b40ecd105eebf0ebfebf0500 + bb007cb8010257cd135f730c33c0cd134f75edbea306ebd3bec206bffe7d813d + 55aa75c78bf5ea007c0000496e76616c696420706172746974696f6e20746162 + 6c65004572726f72206c6f6164696e67206f7065726174696e67207379737465 + 6d004d697373696e67206f7065726174696e672073797374656d000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008001 + 010006fe7f043f00000086fa3f000000410505fe7f38c5fa3f0034bf0c000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>512</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> + <sector> + <offset>2146798080</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 410501fe7f053f000000823e00000000410605fe7f06c13e0000c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2155023360</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 410601fe7f063f000000823e00000000410705fe7f07827d0000c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2163248640</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 410701fe7f073f000000823e00000000410805fe7f0843bc0000c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2171473920</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 410801fe7f083f000000823e00000000410905fe7f0904fb0000c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2179699200</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 410901fe7f093f000000823e00000000410a05fe7f0ac5390100c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2187924480</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 410a01fe7f0a3f000000823e00000000410b05fe7f0b86780100c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2196149760</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 410b01fe7f0b3f000000823e00000000410c05fe7f0c47b70100c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2204375040</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 410c01fe7f0c3f000000823e00000000410d05fe7f0d08f60100c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2212600320</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 410d01fe7f0d3f000000823e00000000410e05fe7f0ec9340200c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2220825600</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 410e01fe7f0e3f000000823e00000000410f05fe7f0f8a730200c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2229050880</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 410f01fe7f0f3f000000823e00000000411005fe7f104bb20200c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2237276160</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 411001fe7f103f000000823e00000000411105fe7f110cf10200c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2245501440</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 411101fe7f113f000000823e00000000411205fe7f12cd2f0300c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2253726720</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 411201fe7f123f000000823e00000000411305fe7f138e6e0300c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2261952000</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 411301fe7f133f000000823e00000000411405fe7f144fad0300c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2270177280</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 411401fe7f143f000000823e00000000411505fe7f1510ec0300c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2278402560</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 411501fe7f153f000000823e00000000411605fe7f16d12a0400c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2286627840</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 411601fe7f163f000000823e00000000411705fe7f1792690400c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2294853120</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 411701fe7f173f000000823e00000000411805fe7f1853a80400c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2303078400</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 411801fe7f183f000000823e00000000411905fe7f1914e70400c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2311303680</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 411901fe7f193f000000823e00000000411a05fe7f1ad5250500c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2319528960</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 411a01fe7f1a3f000000823e00000000411b05fe7f1b96640500c13e00000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>2327754240</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 411b01fe7f1b3f000000823e0000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000000000000055aa + </hexdata> + </sector> +</DISKIMAGE> diff --git a/tools/regression/geom/Data/disk.msdos.flp.xml b/tools/regression/geom/Data/disk.msdos.flp.xml new file mode 100644 index 000000000000..8bc9210c5170 --- /dev/null +++ b/tools/regression/geom/Data/disk.msdos.flp.xml @@ -0,0 +1,50 @@ +<?xml version="1.0"?> +<DISKIMAGE> + <comment> + A MSDOS floppy image. + </comment> + <sectorsize>512</sectorsize> + <mediasize>0</mediasize> + <sector> + <offset>0</offset> + <hexdata> + eb3c904d53444f53352e30000201010002e000400bf009001200020000000000 + 0000000000002911053b114e4f204e414d45202020204641543132202020fa33 + c08ed0bc007c1607bb780036c5371e561653bf3e7cb90b00fcf3a4061fc645fe + 0f8b0e187c884df9894702c7073e7cfbcd13727933c03906137c74088b0e137c + 890e207ca0107cf726167c03061c7c13161e7c03060e7c83d200a3507c891652 + 7ca3497c89164b7cb82000f726117c8b1e0b7c03c348f7f30106497c83164b7c + 00bb00058b16527ca1507ce89200721db001e8ac0072168bfbb90b00bee67df3 + a6750a8d7f20b90b00f3a67418be9e7de85f0033c0cd165e1f8f048f4402cd19 + 585858ebe88b471a48488a1e0d7c32fff7e30306497c13164b7cbb0007b90300 + 505251e83a0072d8b001e85400595a5872bb05010083d200031e0b7ce2e28a2e + 157c8a16247c8b1e497ca14b7cea00007000ac0ac07429b40ebb0700cd10ebf2 + 3b16187c7319f736187cfec288164f7c33d2f7361a7c8816257ca34d7cf8c3f9 + c3b4028b164d7cb106d2e60a364f7c8bca86e98a16247c8a36257ccd13c30d0a + 4e6f6e2d53797374656d206469736b206f72206469736b206572726f720d0a52 + 65706c61636520616e6420707265737320616e79206b6579207768656e207265 + 6164790d0a00494f2020202020205359534d53444f53202020535953000055aa + </hexdata> + </sector> + <sector> + <offset>512</offset> + <hexdata> + f0ffff03400005600007800009a0000bc0000de0000f00011120011340011560 + 0117800119a0011bc0011de0011f000221200223400225600227800229a0022b + c0022de0022f000331200333400335600337800339a0033bc0033de0033f0004 + 41200443400445600447800449a0044bc0044de0044f000551f0ff5340055560 + 0557800559a0055bc0055de0055f000661200663400665600667800669a0066b + c0066de0066f000771200773400775600777800779a0077bc0077de0077f0008 + 81200883400885600887800889a0088bc0088de0088f00099120099340099560 + 0997800999a0099bc009ffef099f000aa1200aa3400aa5600aa7800aa9a00aab + c00aade00aaf000bb1200bb3400bb5600bb7800bb9a00bbbc00bbde00bbf000c + c1200cc3400cc5600cc7800cc9a00ccbc00ccde00ccf000dd1200dd3400dd560 + 0dd7800dd9a00ddbc00ddde00ddf000ee1200ee3400ee5600ee7800ee9a00eeb + c00eede00eef000ff1200ff3400ff5600ff7800ff9a00ffbc00ffde00fff0010 + 01211003411005611007f1ff09a1100bc1100de1100f01111121111341111561 + 1117811119a1111bc1111de1111f011221211223411225611227811229a1122b + c1122de1122f011331211333411335611337811339a1133bc1133de1133f0114 + 41211443411445611447811449a1144bc1144de1144f01155121155341155561 + </hexdata> + </sector> +</DISKIMAGE> diff --git a/tools/regression/geom/Data/disk.typo.ad0.xml b/tools/regression/geom/Data/disk.typo.ad0.xml new file mode 100644 index 000000000000..6c7ae72a88cb --- /dev/null +++ b/tools/regression/geom/Data/disk.typo.ad0.xml @@ -0,0 +1,218 @@ +<?xml version="1.0"?> +<DISKIMAGE> + <comment> + A multislice FreeBSD disk + </comment> + <sectorsize>512</sectorsize> + <mediasize>0</mediasize> + <sector> + <offset>0</offset> + <hexdata> + fc31c08ec08ed88ed0bc007cbd000a89efb108f3abfe45f252bb000689eeb802 + 02e82e015ae9008af686bbfd20750484d278048a96bafd885600e8fc0052bbc2 + 0731d2886ffc0fa396bbfd731c8a07bf0f08b103f2ae7411b10df2ae750481c7 + 0d008a0d01cfe8c1004280c31073d4582c7f3a067504720548740e30c004b088 + 86b8fdbfb207e8a100be0308e8ad008a96b9fd4ee8880030e4cd1a89d703bebc + fdb401cd16751330e4cd1a39fa72f28a86b9fdeb15b007e88e0030e4cd1688e0 + 3c1c74eb2c3b3c0477eb980fa3460c73e48886b9fdbe000a8a1489f33c049c74 + 0ac0e00405be0793c6078053f686bbfd407509bb0006b80103e856005e9d7507 + 8a96b8fd80ea30bb007cb80102e8420072a381bffe0155aa759be81c00ffe3b0 + 46e82400b03100d0eb170fab560cbe0008e8ebff89fee80300be0d08aca88075 + 05e80400ebf6247f53bb0700b40ecd105bc38a74018b4c025689e780feff7540 + 83f9ff753bf686bbfd8074345153bbaa5550b441cd1358720e81fb55aa7508f6 + c101740380cc405b59f6c4407412666a0066ff740806536a006a1089e6864402 + cd1389fc5ec39090909090909090909001014472697665200000808fb6008001 + 0100a5ef7f9f3f000000c1f95f00000041a0a5efffff00fa5f0050e29f0000ff + ffffa5efffff50dcff0050dcff000000000000000000000000000000000055aa + </hexdata> + </sector> + <sector> + <offset>512</offset> + <hexdata> + 2020a00a44656661756c743aa00d8a00050f010406070b0c0e6383a5a6a9b70e + 141312141d1c1b2124282e3439556e6b6e6f77ee444fd357696e646f7773204e + d457696e646f77f3554e49d84c696e75f8467265654253c44f70656e4253c44e + 65744253c44253442f4fd3000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> + <sector> + <offset>32768</offset> + <hexdata> + 5745568205000000616430733100000000000000000000000000000000000000 + 0000000000000000000200003f000000f0000000180a0000103b000080295402 + 0000000000000000100e01000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000005745568204c108000020000000200000002003003f00000000000000 + 0700000000a00f003f2003000000000001000000c1f95f003f00000000000000 + 000000000000000000000000000000000000000000a00f003fc0120000000000 + 07000000c1993d003f6022000000000007000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> + <sector> + <offset>64512</offset> + <hexdata> + 0000007c0000010002000400f8ff0000000400f8000000000000000000000004 + 0000004000000008000000000010007e00800000070000fe1f00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> + <sector> + <offset>104922112</offset> + <hexdata> + 3310f30d0350fbf66f44ebd906c9963d46b2bf609bb753131e7c24cf9ed194ce + a59117b612772b207ddcb753df72456f98d0cac567f60526c7b9308afd87e657 + dd45b3d1eb075b6820aa6ea5a0f10511f65a257f0d7d89d88e189bef43786ff5 + a0316511a7a07168f2ef001e71fbc56dd8ddc7866c4856dc979742be22f4badd + e1fcba7aebe4b5f4bb8b0c89e84de59f0ba48d7a8b00bb1797fc057e3d3d8058 + 4b1987ac49b74bed74cb4985850d5be64e8188d40ad0323165b355c512a91523 + 5d5211eeb021c754f552b160f9a73c4c5e59370163cf531ca0382cc462f9ac9d + 35612380f7a5d9d5e3bde129ef6fab02347088025d0937fb6c56dc68c283ce9d + 1cfc5b3c7ad1f52faeae05188386cb57cb88c5dccaa2db17a09420ae7d9f9d6e + 058370711f445cff4d4543ee9f0c3054400116304018f68d9c08d05b04680162 + 23172b8b1775157790fe5e5100c530e3377d383a0080468b0125e87e8d7dee5f + 46030a238dc8a0000cb4eafc6ad4735f2c16d1642e3834aefbb5bfc25fcc0062 + 3a89410ab88839e3ed151cd6bc2b5704c5db4c9fc39662bd3a41347212c664be + 04684e551c0a0362bb3139a460a7c8d178c349a47d724b7d456606b2f47a8d99 + d4af7998148ed93443a828ece96cdb7eb158a21189ed1527bdad7b18b74f168b + d01fcfde994977174e41ad8f6ea19fac8bb95e5d68643d0457d746cf32531639 + </hexdata> + </sector> + <sector> + <offset>629210112</offset> + <hexdata> + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> + <sector> + <offset>1153498112</offset> + <hexdata> + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> + <sector> + <offset>3220439552</offset> + <hexdata> + 5745568205000000616430733200000000000000000000000000000000000000 + 0000000000000000000200003f000000f0000000180a0000103b000080295402 + 0000000000000000100e01000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000057455682fc1908000020000000200000000000000000000000000000 + 000000000000000000000000000000000000000050e29f0000fa5f0000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> + <sector> + <offset>6440878080</offset> + <hexdata> + 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a + 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a + 0a0a0a0a0a0a0a0a0a0a0a0a3c4120200a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a + 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a + 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a + 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a + 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a687265663d22687474703a2f2f777777 + 2e706c6179626f7973746f72652e636f6d2f70626c696e6b2e6367693f616666 + 696c696174653d4d4f3130303030303034353426736b753d4249303130362220 + 7461726765743d225f626c616e6b22206f6e6d6f7573656f7665723d22706172 + 656e742e77696e646f772e7374617475733d27506c6179626f792053746f7265 + 273b2072657475726e2074727565223e3c494d47207372633d22687474703a2f + 2f61313833322e672e616b2e706c6179626f792e636f6d2f372f313833322f32 + 332f3939303232313437302f7777772e706c6179626f792e636f6d2f6d616761 + 7a696e652f63757272656e742f696d782f636f7665725f696e6465782e6a7067 + 2220616c69676e3d72696768742077696474683d223135302220686569676874 + </hexdata> + </sector> + <sector> + <offset>8585257472</offset> + <hexdata> + 5745568205000000616430733300000000000000000000000000000000000000 + 0000000000000000000200003f000000f000000055040000103b000050dcff00 + 0000000000000000100e01000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000057455682bcbd0800002000000020000000803e0050dcff0000040000 + 070816000000000000000000000000000000000050dcff0050dcff0000000000 + 00000000505cc100505c3e010010000007049f00000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + </hexdata> + </sector> +</DISKIMAGE> diff --git a/tools/regression/geom/MdLoad/Makefile b/tools/regression/geom/MdLoad/Makefile new file mode 100644 index 000000000000..0a5473ee9b91 --- /dev/null +++ b/tools/regression/geom/MdLoad/Makefile @@ -0,0 +1,12 @@ +PROG= MdLoad +LIBADD= sbuf bsdxml +NO_OBJ= t + +MAN= + + +WARNS?= 4 +.include "bsd.prog.mk" + +test: ${PROG} + ./${PROG} md34 ../Data/disk.critter.ad0.xml diff --git a/tools/regression/geom/MdLoad/MdLoad.c b/tools/regression/geom/MdLoad/MdLoad.c new file mode 100644 index 000000000000..b5d75d4a8267 --- /dev/null +++ b/tools/regression/geom/MdLoad/MdLoad.c @@ -0,0 +1,269 @@ +/*- + * Copyright (c) 2003 Poul-Henning Kamp + * Copyright (c) 2002 Networks Associates Technology, Inc. + * All rights reserved. + * + * This software was developed for the FreeBSD Project by Poul-Henning Kamp + * and NAI Labs, the Security Research Division of Network Associates, Inc. + * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the + * DARPA CHATS research program. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The names of the authors may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <stdint.h> +#include <string.h> +#include <ctype.h> +#include <errno.h> +#include <paths.h> +#include <fcntl.h> +#include <err.h> +#include <bsdxml.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <sys/queue.h> +#include <sys/sbuf.h> +#include <sys/mman.h> + +struct sector { + LIST_ENTRY(sector) sectors; + off_t offset; + unsigned char *data; +}; + +struct simdisk_softc { + int sectorsize; + off_t mediasize; + off_t lastsector; + LIST_HEAD(,sector) sectors; + struct sbuf *sbuf; + struct sector *sp; + u_int fwsectors; + u_int fwheads; + u_int fwcylinders; +}; + +static void +g_simdisk_insertsector(struct simdisk_softc *sc, struct sector *dsp) +{ + struct sector *dsp2, *dsp3; + + if (sc->lastsector < dsp->offset) + sc->lastsector = dsp->offset; + if (LIST_EMPTY(&sc->sectors)) { + LIST_INSERT_HEAD(&sc->sectors, dsp, sectors); + return; + } + dsp3 = NULL; + LIST_FOREACH(dsp2, &sc->sectors, sectors) { + dsp3 = dsp2; + if (dsp2->offset > dsp->offset) { + LIST_INSERT_BEFORE(dsp2, dsp, sectors); + return; + } + } + LIST_INSERT_AFTER(dsp3, dsp, sectors); +} + +static void +startElement(void *userData, const char *name, const char **atts __unused) +{ + struct simdisk_softc *sc; + + sc = userData; + if (!strcasecmp(name, "sector")) { + sc->sp = calloc(1, sizeof(*sc->sp) + sc->sectorsize); + sc->sp->data = (u_char *)(sc->sp + 1); + } + sbuf_clear(sc->sbuf); +} + +static void +endElement(void *userData, const char *name) +{ + struct simdisk_softc *sc; + char *p; + u_char *q; + int i, j; + off_t o; + + sc = userData; + + if (!strcasecmp(name, "comment")) { + sbuf_clear(sc->sbuf); + return; + } + sbuf_finish(sc->sbuf); + if (!strcasecmp(name, "sectorsize")) { + sc->sectorsize = strtoul(sbuf_data(sc->sbuf), &p, 0); + if (*p != '\0') + errx(1, "strtoul croaked on sectorsize"); + } else if (!strcasecmp(name, "mediasize")) { + o = strtoull(sbuf_data(sc->sbuf), &p, 0); + if (*p != '\0') + errx(1, "strtoul croaked on mediasize"); + if (o > 0) + sc->mediasize = o; + } else if (!strcasecmp(name, "fwsectors")) { + sc->fwsectors = strtoul(sbuf_data(sc->sbuf), &p, 0); + if (*p != '\0') + errx(1, "strtoul croaked on fwsectors"); + } else if (!strcasecmp(name, "fwheads")) { + sc->fwheads = strtoul(sbuf_data(sc->sbuf), &p, 0); + if (*p != '\0') + errx(1, "strtoul croaked on fwheads"); + } else if (!strcasecmp(name, "fwcylinders")) { + sc->fwcylinders = strtoul(sbuf_data(sc->sbuf), &p, 0); + if (*p != '\0') + errx(1, "strtoul croaked on fwcylinders"); + } else if (!strcasecmp(name, "offset")) { + sc->sp->offset= strtoull(sbuf_data(sc->sbuf), &p, 0); + if (*p != '\0') + errx(1, "strtoul croaked on offset"); + } else if (!strcasecmp(name, "fill")) { + j = strtoul(sbuf_data(sc->sbuf), NULL, 16); + memset(sc->sp->data, j, sc->sectorsize); + } else if (!strcasecmp(name, "hexdata")) { + q = sc->sp->data; + p = sbuf_data(sc->sbuf); + for (i = 0; i < sc->sectorsize; i++) { + if (!isxdigit(*p)) + errx(1, "I croaked on hexdata %d:(%02x)", i, *p); + if (isdigit(*p)) + j = (*p - '0') << 4; + else + j = (tolower(*p) - 'a' + 10) << 4; + p++; + if (!isxdigit(*p)) + errx(1, "I croaked on hexdata %d:(%02x)", i, *p); + if (isdigit(*p)) + j |= *p - '0'; + else + j |= tolower(*p) - 'a' + 10; + p++; + *q++ = j; + } + } else if (!strcasecmp(name, "sector")) { + g_simdisk_insertsector(sc, sc->sp); + sc->sp = NULL; + } else if (!strcasecmp(name, "diskimage")) { + } else if (!strcasecmp(name, "FreeBSD")) { + } else { + printf("<%s>[[%s]]\n", name, sbuf_data(sc->sbuf)); + } + sbuf_clear(sc->sbuf); +} + +static void +characterData(void *userData, const XML_Char *s, int len) +{ + const char *b, *e; + struct simdisk_softc *sc; + + sc = userData; + b = s; + e = s + len - 1; + while (isspace(*b) && b < e) + b++; + while (isspace(*e) && e > b) + e--; + if (e != b || !isspace(*b)) + sbuf_bcat(sc->sbuf, b, e - b + 1); +} + +static struct simdisk_softc * +g_simdisk_xml_load(const char *file) +{ + XML_Parser parser = XML_ParserCreate(NULL); + struct stat st; + char *p; + struct simdisk_softc *sc; + int fd, i; + + sc = calloc(1, sizeof *sc); + sc->sbuf = sbuf_new_auto(); + LIST_INIT(&sc->sectors); + XML_SetUserData(parser, sc); + XML_SetElementHandler(parser, startElement, endElement); + XML_SetCharacterDataHandler(parser, characterData); + + fd = open(file, O_RDONLY); + if (fd < 0) + err(1, "%s", file); + fstat(fd, &st); + p = mmap(NULL, st.st_size, PROT_READ, MAP_NOCORE|MAP_PRIVATE, fd, 0); + i = XML_Parse(parser, p, st.st_size, 1); + if (i != 1) + errx(1, "XML_Parse complains: return %d", i); + munmap(p, st.st_size); + close(fd); + XML_ParserFree(parser); + return (sc); +} + +int +main(int argc, char **argv) +{ + struct simdisk_softc *sc; + char buf[BUFSIZ]; + int error, fd; + struct sector *dsp; + + if (argc != 3) + errx(1, "Usage: %s mddevice xmlfile", argv[0]); + + sc = g_simdisk_xml_load(argv[2]); + if (sc->mediasize == 0) + sc->mediasize = sc->lastsector + sc->sectorsize * 10; + if (sc->sectorsize == 0) + sc->sectorsize = 512; + sprintf(buf, "mdconfig -a -t malloc -s %jd -S %d", + (intmax_t)sc->mediasize / sc->sectorsize, sc->sectorsize); + if (sc->fwsectors && sc->fwheads) + sprintf(buf + strlen(buf), " -x %d -y %d", + sc->fwsectors, sc->fwheads); + sprintf(buf + strlen(buf), " -u %s", argv[1]); + error = system(buf); + if (error) + return (error); + fd = open(argv[1], O_RDWR); + if (fd < 0 && errno == ENOENT) { + sprintf(buf, "%s%s", _PATH_DEV, argv[1]); + fd = open(buf, O_RDWR); + } + if (fd < 0) + err(1, "Could not open %s", argv[1]); + LIST_FOREACH(dsp, &sc->sectors, sectors) { + lseek(fd, dsp->offset, SEEK_SET); + error = write(fd, dsp->data, sc->sectorsize); + if (error != sc->sectorsize) + err(1, "write sectordata failed"); + } + close(fd); + exit (0); +} diff --git a/tools/regression/geom/Ref/disk.apple.xml b/tools/regression/geom/Ref/disk.apple.xml new file mode 100644 index 000000000000..6fe9a799fde1 --- /dev/null +++ b/tools/regression/geom/Ref/disk.apple.xml @@ -0,0 +1,4 @@ +/dev/md34 512 366530560 715880 +/dev/md34s1 512 366481408 715784 +/dev/md34s2 512 32256 63 +/dev/md34s3 512 16384 32 diff --git a/tools/regression/geom/Ref/disk.beast.da0.xml b/tools/regression/geom/Ref/disk.beast.da0.xml new file mode 100644 index 000000000000..800b42f31952 --- /dev/null +++ b/tools/regression/geom/Ref/disk.beast.da0.xml @@ -0,0 +1,4 @@ +/dev/md34 512 5120 10 +/dev/md34a 512 4064280576 7938048 +/dev/md34b 512 270925824 529152 +/dev/md34c 512 4335206400 8467200 diff --git a/tools/regression/geom/Ref/disk.critter.ad0.xml b/tools/regression/geom/Ref/disk.critter.ad0.xml new file mode 100644 index 000000000000..08dc395fe570 --- /dev/null +++ b/tools/regression/geom/Ref/disk.critter.ad0.xml @@ -0,0 +1,10 @@ +/dev/md34 512 2671841280 5218440 +/dev/md34s1 512 20003848704 39070017 +/dev/md34s1a 512 1073741824 2097152 +/dev/md34s1b 512 1073741824 2097152 +/dev/md34s1c 512 20003848704 39070017 +/dev/md34s1d 512 4447175168 8685889 +/dev/md34s1e 512 524288000 1024000 +/dev/md34s1f 512 4294967296 8388608 +/dev/md34s1g 512 3221225472 6291456 +/dev/md34s1h 512 5368709120 10485760 diff --git a/tools/regression/geom/Ref/disk.empty.flp.xml b/tools/regression/geom/Ref/disk.empty.flp.xml new file mode 100644 index 000000000000..6bf22524e439 --- /dev/null +++ b/tools/regression/geom/Ref/disk.empty.flp.xml @@ -0,0 +1 @@ +/dev/md34 512 1474560 2880 0 0 80 2 18 diff --git a/tools/regression/geom/Ref/disk.far.ad0.xml b/tools/regression/geom/Ref/disk.far.ad0.xml new file mode 100644 index 000000000000..146d4995d83e --- /dev/null +++ b/tools/regression/geom/Ref/disk.far.ad0.xml @@ -0,0 +1,3 @@ +/dev/md34 512 5632 11 +/dev/md34s1 512 296821760 579730 +/dev/md34s2 512 4564740096 8915508 diff --git a/tools/regression/geom/Ref/disk.flat.da1.xml b/tools/regression/geom/Ref/disk.flat.da1.xml new file mode 100644 index 000000000000..d3264958c920 --- /dev/null +++ b/tools/regression/geom/Ref/disk.flat.da1.xml @@ -0,0 +1,11 @@ +/dev/md34 512 37888 74 +/dev/md34a 512 37748736 73728 +/dev/md34b 512 268435456 524288 +/dev/md34c 512 8422686720 16450560 +/dev/md34h 512 8115978240 15851520 +/dev/md34s1 512 18367017984 35873082 +/dev/md34s1b 512 419430400 819200 +/dev/md34s1c 512 18367017984 35873082 +/dev/md34s1e 512 419430400 819200 +/dev/md34s1f 512 1073741824 2097152 +/dev/md34s1g 512 16454415360 32137530 diff --git a/tools/regression/geom/Ref/disk.kern.flp.xml b/tools/regression/geom/Ref/disk.kern.flp.xml new file mode 100644 index 000000000000..90ddf2276ba1 --- /dev/null +++ b/tools/regression/geom/Ref/disk.kern.flp.xml @@ -0,0 +1,4 @@ +/dev/md34 512 5632 11 +/dev/md34a 512 1474560 2880 +/dev/md34b 512 1474560 2880 +/dev/md34c 512 1474560 2880 diff --git a/tools/regression/geom/Ref/disk.msdos.ext.xml b/tools/regression/geom/Ref/disk.msdos.ext.xml new file mode 100644 index 000000000000..97deb1bae302 --- /dev/null +++ b/tools/regression/geom/Ref/disk.msdos.ext.xml @@ -0,0 +1,26 @@ +/dev/md34 512 2327759360 4546405 +/dev/md34s1 512 2146765824 4192902 +/dev/md34s10 512 8193024 16002 +/dev/md34s11 512 8193024 16002 +/dev/md34s12 512 8193024 16002 +/dev/md34s13 512 8193024 16002 +/dev/md34s14 512 8193024 16002 +/dev/md34s15 512 8193024 16002 +/dev/md34s16 512 8193024 16002 +/dev/md34s17 512 8193024 16002 +/dev/md34s18 512 8193024 16002 +/dev/md34s19 512 8193024 16002 +/dev/md34s2 512 427714560 835380 +/dev/md34s20 512 8193024 16002 +/dev/md34s21 512 8193024 16002 +/dev/md34s22 512 8193024 16002 +/dev/md34s23 512 8193024 16002 +/dev/md34s24 512 8193024 16002 +/dev/md34s25 512 8193024 16002 +/dev/md34s26 512 8193024 16002 +/dev/md34s27 512 8193024 16002 +/dev/md34s5 512 8193024 16002 +/dev/md34s6 512 8193024 16002 +/dev/md34s7 512 8193024 16002 +/dev/md34s8 512 8193024 16002 +/dev/md34s9 512 8193024 16002 diff --git a/tools/regression/geom/Ref/disk.msdos.flp.xml b/tools/regression/geom/Ref/disk.msdos.flp.xml new file mode 100644 index 000000000000..a74c766dcf1d --- /dev/null +++ b/tools/regression/geom/Ref/disk.msdos.flp.xml @@ -0,0 +1 @@ +/dev/md34 512 5632 11 diff --git a/tools/regression/geom/Ref/disk.typo.ad0.xml b/tools/regression/geom/Ref/disk.typo.ad0.xml new file mode 100644 index 000000000000..df2279fc674b --- /dev/null +++ b/tools/regression/geom/Ref/disk.typo.ad0.xml @@ -0,0 +1,13 @@ +/dev/md34 512 8585262592 16768091 +/dev/md34s1 512 3220406784 6289857 +/dev/md34s1a 512 104857600 204800 +/dev/md34s1b 512 524288000 1024000 +/dev/md34s1c 512 3220406784 6289857 +/dev/md34s1e 512 524288000 1024000 +/dev/md34s1f 512 2066973184 4037057 +/dev/md34s2 512 5364817920 10478160 +/dev/md34s2c 512 5364817920 10478160 +/dev/md34s3 512 8585256960 16768080 +/dev/md34s3a 512 2097152000 4096000 +/dev/md34s3c 512 8585256960 16768080 +/dev/md34s3d 512 6488104960 12672080 diff --git a/tools/regression/geom/RunTest.sh b/tools/regression/geom/RunTest.sh new file mode 100644 index 000000000000..d8d6f7cf3232 --- /dev/null +++ b/tools/regression/geom/RunTest.sh @@ -0,0 +1,43 @@ +#!/bin/sh + +MD=34 +TMP=/tmp/$$ + +set -e + +r=0 + +(cd MdLoad && make) > /dev/null 2>&1 + +for f in Data/disk.*.xml +do + b=`basename $f` + mdconfig -d -u $MD > /dev/null 2>&1 || true + if [ -c /dev/md$MD ] ; then + sleep 1 + fi + if [ -c /dev/md$MD ] ; then + sleep 1 + fi + if [ -c /dev/md$MD ] ; then + echo "/dev/md$MD is busy" 1>&2 + exit 1 + fi + MdLoad/MdLoad md${MD} $f + if [ -f Ref/$b ] ; then + if diskinfo /dev/md${MD}* | + diff -I '$FreeBSD' -u Ref/$b - > $TMP; then + echo "PASSED: $b" + else + echo "FAILED: $b" + sed 's/^/ /' $TMP + r=2; + fi + else + diskinfo /dev/md${MD}* > Ref/`basename $f` + fi +done + +mdconfig -d -u $MD > /dev/null 2>&1 || true +rm -f $TMP +exit $r diff --git a/tools/regression/geom/RunTest.t b/tools/regression/geom/RunTest.t new file mode 100644 index 000000000000..83ef47635c05 --- /dev/null +++ b/tools/regression/geom/RunTest.t @@ -0,0 +1,49 @@ +#!/bin/sh + +MD=34 +TMP=/tmp/$$ + +set -e + +# Start from the right directory so we can find all our data files. +cd `dirname $0` + +(cd MdLoad && make) > /dev/null 2>&1 + +# Print the test header +echo -n '1..' +echo `ls -1 Data/disk.*.xml | wc -l` + +for f in Data/disk.*.xml +do + b=`basename $f` + mdconfig -d -u $MD > /dev/null 2>&1 || true + if [ -c /dev/md$MD ] ; then + sleep 1 + fi + if [ -c /dev/md$MD ] ; then + sleep 1 + fi + if [ -c /dev/md$MD ] ; then + echo "Bail out!" + echo "/dev/md$MD is busy" + exit 1 + fi + MdLoad/MdLoad md${MD} $f + if [ -f Ref/$b ] ; then + if diskinfo /dev/md${MD}* | + diff -I '\$FreeBSD' -u Ref/$b - > $TMP; then + echo "ok - $b" + else + echo "not ok - $b" + sed 's/^/# /' $TMP + fi + else + diskinfo /dev/md${MD}* > Ref/`basename $f` + fi +done + +mdconfig -d -u $MD > /dev/null 2>&1 || true +rm -f $TMP + +exit 0 |
