summaryrefslogtreecommitdiffstats
path: root/lib/libdisk/chunk.c
diff options
context:
space:
mode:
authornyan <nyan@FreeBSD.org>2002-10-31 05:51:25 +0000
committernyan <nyan@FreeBSD.org>2002-10-31 05:51:25 +0000
commit674ee796106bc578b59d4a3393360011bd29341a (patch)
tree9ed6f712cb503ca9efae0d2053d5105b16b30748 /lib/libdisk/chunk.c
parent0315c477ee0eedac4a4b0aab922b03f26c915f5d (diff)
downloadFreeBSD-src-674ee796106bc578b59d4a3393360011bd29341a.zip
FreeBSD-src-674ee796106bc578b59d4a3393360011bd29341a.tar.gz
Restore to pc98 support.
Diffstat (limited to 'lib/libdisk/chunk.c')
-rw-r--r--lib/libdisk/chunk.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/libdisk/chunk.c b/lib/libdisk/chunk.c
index 07f5aef..a93314d 100644
--- a/lib/libdisk/chunk.c
+++ b/lib/libdisk/chunk.c
@@ -255,7 +255,19 @@ Add_Chunk(struct disk *d, long offset, u_long size, const char *name,
}
break;
case p_pc98:
- subtype = 0xc494;
+ switch (type) {
+ case freebsd:
+ subtype = 0xc494;
+ /* FALLTHROUGH */
+ case fat:
+ c1 = Find_Mother_Chunk(d->chunks, offset, end, whole);
+ break;
+ case part:
+ c1 = Find_Mother_Chunk(d->chunks, offset, end, freebsd);
+ break;
+ default:
+ return(-1);
+ }
break;
case p_sparc64:
case p_alpha:
@@ -286,7 +298,7 @@ Add_Chunk(struct disk *d, long offset, u_long size, const char *name,
if (platform == p_sparc64) {
offset = Prev_Cyl_Aligned(d, offset);
size = Next_Cyl_Aligned(d, size);
- } else if (platform == p_i386) {
+ } else if (platform == p_i386 || platform == p_pc98) {
if (type != freebsd)
break;
if (!(flags & CHUNK_ALIGN))
OpenPOWER on IntegriCloud