Re-enable ds_subtype, and ds_name (included in #ifdef PC98).
Userland programs which access partition information require ds_subtype and ds_name on PC98.
This commit is contained in:
parent
52f682b582
commit
d563ee4300
@ -300,6 +300,7 @@ reread_mbr:
|
||||
sp->ds_offset = 0;
|
||||
sp->ds_size = lp->d_secperunit;
|
||||
sp->ds_type = DOSPTYP_386BSD;
|
||||
sp->ds_subtype = 0xc4;
|
||||
error = 0;
|
||||
ssp->dss_nslices = BASE_SLICE + 1;
|
||||
goto done;
|
||||
@ -329,6 +330,7 @@ reread_mbr:
|
||||
sp->ds_offset = 0;
|
||||
sp->ds_size = lp->d_secperunit;
|
||||
sp->ds_type = 0xa0; /* XXX */
|
||||
sp->ds_subtype = 0x81; /* XXX */
|
||||
error = 0;
|
||||
ssp->dss_nslices = BASE_SLICE + 1;
|
||||
goto done;
|
||||
@ -491,6 +493,8 @@ reread_mbr:
|
||||
sp->ds_offset = pc98_start;
|
||||
sp->ds_size = pc98_size;
|
||||
sp->ds_type = dp->dp_mid;
|
||||
sp->ds_subtype = dp->dp_sid;
|
||||
strncpy(sp->ds_name, dp->dp_name, 16);
|
||||
#else
|
||||
sp->ds_offset = mbr_offset + dp->dp_start;
|
||||
sp->ds_size = dp->dp_size;
|
||||
@ -627,6 +631,8 @@ extended(dname, dev, strat, lp, ssp, ext_offset, ext_size, base_ext_offset,
|
||||
sp->ds_offset = ext_offset + pc98_start;
|
||||
sp->ds_size = pc98_size;
|
||||
sp->ds_type = dp->dp_mid;
|
||||
sp->ds_subtype = dp->dp_sid;
|
||||
strncpy(sp->ds_name, dp->dp_name, 16);
|
||||
#else
|
||||
sp->ds_offset = ext_offset + dp->dp_start;
|
||||
sp->ds_size = dp->dp_size;
|
||||
|
@ -47,6 +47,10 @@ struct diskslice {
|
||||
u_long ds_offset; /* starting sector */
|
||||
u_long ds_size; /* number of sectors */
|
||||
int ds_type; /* (foreign) slice type */
|
||||
#ifdef PC98
|
||||
int ds_subtype; /* sub slice type */
|
||||
u_char ds_name[16]; /* slice name */
|
||||
#endif
|
||||
struct dkbad_intern *ds_bad; /* bad sector table, if any */
|
||||
struct disklabel *ds_label; /* BSD label, if any */
|
||||
void *ds_bdev; /* devfs token for whole slice */
|
||||
@ -84,6 +88,10 @@ struct diskslice {
|
||||
u_long ds_offset; /* starting sector */
|
||||
u_long ds_size; /* number of sectors */
|
||||
int ds_type; /* (foreign) slice type */
|
||||
#ifdef PC98
|
||||
int ds_subtype; /* sub slice type */
|
||||
u_char ds_name[16]; /* slice name */
|
||||
#endif
|
||||
struct dkbad_intern *ds_bad; /* bad sector table, if any */
|
||||
void *ds_date; /* Slice type specific data */
|
||||
struct slice_switch *switch; /* switch table for type handler */
|
||||
|
Loading…
x
Reference in New Issue
Block a user