2013-09-09 15:27:39 +00:00
|
|
|
# Commit 4aa19549e17650b9bfe2b31d7f52a95696d388f0
|
|
|
|
# Date 2013-08-30 10:40:29 +0200
|
|
|
|
# Author Andrew Cooper <andrew.cooper3@citrix.com>
|
|
|
|
# Committer Jan Beulich <jbeulich@suse.com>
|
|
|
|
hvmloader/smbios: Correctly count the number of tables written
|
|
|
|
|
|
|
|
Fixes regression indirectly introduced by c/s 4d23036e709627
|
|
|
|
|
|
|
|
That changeset added some smbios tables which were option based on the
|
|
|
|
toolstack providing appropriate xenstore keys. The do_struct() macro would
|
|
|
|
unconditionally increment nr_structs, even if a table was not actually
|
|
|
|
written.
|
|
|
|
|
|
|
|
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
|
|
|
|
Acked-by: Keir Fraser <keir@xen.org>
|
|
|
|
|
2013-10-02 22:41:46 +00:00
|
|
|
--- a/tools/firmware/hvmloader/smbios.c
|
|
|
|
+++ b/tools/firmware/hvmloader/smbios.c
|
2013-09-09 15:27:39 +00:00
|
|
|
@@ -192,7 +192,8 @@ write_smbios_tables(void *ep, void *star
|
|
|
|
|
|
|
|
#define do_struct(fn) do { \
|
|
|
|
q = (fn); \
|
|
|
|
- (*nr_structs)++; \
|
|
|
|
+ if ( q != p ) \
|
|
|
|
+ (*nr_structs)++; \
|
|
|
|
if ( (q - p) > *max_struct_size ) \
|
|
|
|
*max_struct_size = q - p; \
|
|
|
|
p = q; \
|