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 <[email protected]>
> ---
>  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.

-Kevin

_______________________________________________
SeaBIOS mailing list
[email protected]
http://www.seabios.org/mailman/listinfo/seabios

Reply via email to