qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH RESEND] bios: Fix multiple calls into smbios_lo


From: Alex Williamson
Subject: Re: [Qemu-devel] [PATCH RESEND] bios: Fix multiple calls into smbios_load_external()
Date: Tue, 7 Jul 2009 08:59:58 -0600

Bump.

On Mon, Jun 15, 2009 at 9:41 AM, Alex Williamson<address@hidden> wrote:
> We're marking the used entry bitmap in smbios_load_external() for each
> type we check, regardless of whether we loaded anything.  This makes
> subsequent calls behave as if we've already loaded the tables from qemu
> and can result in missing tables (ex. multiple type4 entries on an SMP
> guest).  Only mark the bitmap if we actually load something.
>
> Signed-off-by: Alex Williamson <address@hidden>
> --
>
> diff --git a/bios/rombios32.c b/bios/rombios32.c
> index f861f81..c869798 100644
> --- a/bios/rombios32.c
> +++ b/bios/rombios32.c
> @@ -2554,13 +2554,14 @@ smbios_load_external(int type, char **p, unsigned 
> *nr_structs,
>             *max_struct_size = *p - (char *)header;
>     }
>
> -    /* Mark that we've reported on this type */
> -    used_bitmap[(type >> 6) & 0x3] |= (1ULL << (type & 0x3f));
> +    if (start != *p) {
> +        /* Mark that we've reported on this type */
> +        used_bitmap[(type >> 6) & 0x3] |= (1ULL << (type & 0x3f));
> +        return 1;
> +    }
>
> -    return (start != *p);
> -#else /* !BX_QEMU */
> +#endif /* !BX_QEMU */
>     return 0;
> -#endif
>  }
>
>  void smbios_init(void)
>
>
>
>
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]