Subject: Re: libahdi [Re: CVS commit: basesrc]
To: None <tech-userlevel@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-userlevel
Date: 02/15/2000 17:08:52
>> What's the "root sector"? [...]
> [Atari-specific explanation]
That belongs in the Atari-specific goop, then, it seems to me, rather
than being up at the top level where all ports have it even when it's
meaningless to most of them.
>> As for Suns, well, I've got 16-partition disks on /sparc and /sun3
>> already.
> Is this compatible with native Sun disklabels?
Yes: if partitions i through p are all size=0 offset=0 the resulting
label is exactly a native Sun label, and even if they're not, all other
Sun label-readers I know of can still use partitions a through h
normally. (There's a chunk of unused space in native Sun labels; I put
the `extra' 8 partitions there, with magic numbers and checksums.)
>>> Data sizes
>>> All data sizes must be explicitly specified.
>> Only if there are structs describing "foreign" on-disk data
>> structures (often a bad idea anyway, if only for endianness
>> reasons).
> But, see above. I think the same struct should be able to describe
> one ports on-disk data structure for all ports.
This is not possible. Take Sun labels, for example: there is no way to
write a struct definition for a little-endian machine that accurately
describes a (big-endian) Sun label...at least not unless and until it's
possible to do something like
__byteswapped__ u_int32_t sl_magic;
(or perhaps __bigendian__ and __littlendian__; I can see uses for all
three).
> The Atari also uses a partition 'type' - a 3 byte partition id.
> Presumably not compatible with the DOS partition type?
How could it be, when the DOS type is only eight bits long? :-)
der Mouse
mouse@rodents.montreal.qc.ca
7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B