[SeaBIOS] [PATCH v2 2/6] boot: track the PCI class of BCV/BEV boot entries

Paolo Bonzini pbonzini at redhat.com
Mon Oct 29 09:08:31 CET 2012


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 at 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



More information about the SeaBIOS mailing list