HomeFreeBSD

Use the actual struct devdesc at the start of all *_devdesc structs

Description

Use the actual struct devdesc at the start of all *_devdesc structs

The current system is fragile and requires very careful layout of all
*_devdesc structures. It also makes it hard to change the base
devdesc. Take a page from CAM and put the 'header' in all the derived
classes and adjust the code to match.

For OFW, move the iHandle h_handle out of a slot conflicting with
d_opendata. Due to quirks in the alignment rules, this worked.
However changing the code to use d_opendata storage now that it's a
pointer is hard, so just have a separate field for it.

All other cleanups were to make the *_devdesc structures match where
they'd taken some liberties that were none-the-less compatible enough
to work.

Details

Provenance
impAuthored on Mar 12 2018, 9:39 PM
Parents
rGf264386b3233: Make struct libi386_devdesc match the struct devdesc better
Branches
Unknown
Tags
Unknown