diff options
Diffstat (limited to 'pc-bios/bios-pq/0019-bios-fix-multiple-calls.patch')
-rw-r--r-- | pc-bios/bios-pq/0019-bios-fix-multiple-calls.patch | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/pc-bios/bios-pq/0019-bios-fix-multiple-calls.patch b/pc-bios/bios-pq/0019-bios-fix-multiple-calls.patch deleted file mode 100644 index cfa4c1309..000000000 --- a/pc-bios/bios-pq/0019-bios-fix-multiple-calls.patch +++ /dev/null @@ -1,35 +0,0 @@ -bios: Fix multiple calls into smbios_load_ex - -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 <alex.williamson@hp.com> -Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> - -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) |