diff options
author | nyan <nyan@FreeBSD.org> | 2002-10-31 05:51:25 +0000 |
---|---|---|
committer | nyan <nyan@FreeBSD.org> | 2002-10-31 05:51:25 +0000 |
commit | 674ee796106bc578b59d4a3393360011bd29341a (patch) | |
tree | 9ed6f712cb503ca9efae0d2053d5105b16b30748 /lib/libdisk/chunk.c | |
parent | 0315c477ee0eedac4a4b0aab922b03f26c915f5d (diff) | |
download | FreeBSD-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.c | 16 |
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)) |