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. |
||
---|---|---|
.. | ||
delay.c | ||
devicename.c | ||
devpath.c | ||
efi_console.c | ||
efi_driver_utils.c | ||
efichar.c | ||
efinet.c | ||
efipart.c | ||
efizfs.c | ||
env.c | ||
errno.c | ||
handles.c | ||
libefi.c | ||
Makefile | ||
Makefile.depend | ||
time_event.c | ||
time.c | ||
wchar.c |