[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