Il 28/10/2012 02:22, Kevin O'Connor ha scritto:
On Wed, Oct 17, 2012 at 06:23:44PM +0200, Paolo Bonzini wrote:
In order to find network devices in the boot list, remember the PCI class for each BCV/BEV (which is also present in the PNP header as the device type code).
Signed-off-by: Paolo Bonzini pbonzini@redhat.com
src/boot.c | 10 ++++++---- src/boot.h | 4 ++-- src/optionroms.c | 8 +++++--- 3 file modificati, 13 inserzioni(+), 9 rimozioni(-)
diff --git a/src/boot.c b/src/boot.c index b9bcb57..2835008 100644 --- a/src/boot.c +++ b/src/boot.c @@ -339,9 +339,10 @@ static inline int defPrio(int priority, int defaultprio) {
// Add a BEV vector for a given pnp compatible option rom. void -boot_add_bev(u16 seg, u16 bev, u16 desc, int prio) +boot_add_bev(u16 seg, u16 bev, u16 desc, u16 class, int prio) {
- bootentry_add(IPL_TYPE_BEV, defPrio(prio, DefaultBEVPrio)
- class &= 0xF;
- bootentry_add(IPL_TYPE_BEV | class, defPrio(prio, DefaultBEVPrio)
Ultimately, bootentry_add() allocates and populates a 'struct bootentry_s'. I don't think it makes sense to overload the meaning of type when one can add a new field to the struct.
Note, your patch changes the default boot order as type is used in the sorting when no priority is specified. It's unclear if that was intentional or not.
Yes, it groups together similar devices. But I can do as you requested here.
Paolo