diff options
author | Andrew Cooper <andrew.cooper3@citrix.com> | 2013-09-09 11:48:28 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-09-09 11:48:28 +0200 |
commit | 3aa502a0315402b923d2796f20dad0009970f408 (patch) | |
tree | d76291c15a0fe0cdb814a3ef7ca43aa711e65874 | |
parent | 7ccd12c64bf54baa6d9379b561dc02d0ea15f83a (diff) | |
download | xen-3aa502a0315402b923d2796f20dad0009970f408.tar.gz xen-3aa502a0315402b923d2796f20dad0009970f408.tar.bz2 xen-3aa502a0315402b923d2796f20dad0009970f408.zip |
public/hvm_xs_strings.h: Fix ABI regression for OEM SMBios strings
The old code for OEM SMBios strings was:
char path[20] = "bios-strings/oem-XX";
path[(sizeof path) - 3] = '0' + ((i < 10) ? i : i / 10);
path[(sizeof path) - 2] = (i < 10) ? '\0' : '0' + (i % 10);
Where oem-1 thru 9 specifically had no leading 0.
However, the definition of HVM_XS_OEM_STRINGS specifically requires leading
0s.
This regression was introduced by the combination of c/s 4d23036e709627 and
e64c3f71ceb662
I realise that this patch causes a change to the public headers. However I
feel it is justified as:
* All toolstacks used to have to embed the magic string (and almost certainly
still do)
* If by some miriacle a new toolstack has started using the new define will
continue to work.
* The only intree consumer of the define is hvmloader itself.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
master commit: 0f4cb23c3ea5b987c49c9a9368e7a0d505ec064f
master date: 2013-08-30 10:40:48 +0200
-rw-r--r-- | xen/include/public/hvm/hvm_xs_strings.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/include/public/hvm/hvm_xs_strings.h b/xen/include/public/hvm/hvm_xs_strings.h index 4de5881697..8aec935110 100644 --- a/xen/include/public/hvm/hvm_xs_strings.h +++ b/xen/include/public/hvm/hvm_xs_strings.h @@ -75,6 +75,6 @@ /* 1 to 99 OEM strings can be set in xenstore using values of the form * below. These strings will be loaded into the SMBIOS type 11 structure. */ -#define HVM_XS_OEM_STRINGS "bios-strings/oem-%02d" +#define HVM_XS_OEM_STRINGS "bios-strings/oem-%d" #endif /* __XEN_PUBLIC_HVM_HVM_XS_STRINGS_H__ */ |