Project

General

Profile

Bug #9275

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

Added by Toomas Soome about 1 year ago. Updated 11 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
bootloader
Start date:
2018-03-13
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:

Description

FreeBSD update: https://svnweb.freebsd.org/base?view=revision&revision=330809

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.

Also add the missing userboot bcache bits along with devdesc changes.

History

#1

Updated by Electric Monk 11 months ago

  • % Done changed from 90 to 100
  • Status changed from In Progress to Closed

git commit 76b35943c866f9d879ff5fc7e6fab17bef2b3402

commit  76b35943c866f9d879ff5fc7e6fab17bef2b3402
Author: Toomas Soome <tsoome@me.com>
Date:   2018-05-16T10:01:56.000Z

    9275 loader: Use the actual struct devdesc at the start of all *_devdesc structs
    Reviewed by: Yuri Pankov <yuripv@yuripv.net>
    Approved by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>

Also available in: Atom PDF