Mailing List Archive

[xen-unstable] hvmloader: Clarify relationship between xen_domain_handle_t and SMBIOS uuid field.
# HG changeset patch
# User kfraser@localhost.localdomain
# Date 1187969576 -3600
# Node ID 58d131f1fb35977ff2d8682f553391c8a866d52c
# Parent f279d776fcb0fd3d06c96e6e9b46d71bc1156968
hvmloader: Clarify relationship between xen_domain_handle_t and SMBIOS uuid field.
Signed-off-by: Keir Fraser <keir@xensource.com>
---
tools/firmware/hvmloader/smbios.c | 4 ++--
tools/firmware/hvmloader/util.h | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)

diff -r f279d776fcb0 -r 58d131f1fb35 tools/firmware/hvmloader/smbios.c
--- a/tools/firmware/hvmloader/smbios.c Fri Aug 24 16:19:14 2007 +0100
+++ b/tools/firmware/hvmloader/smbios.c Fri Aug 24 16:32:56 2007 +0100
@@ -159,8 +159,7 @@ int
int
hvm_write_smbios_tables(void)
{
- uint8_t uuid[16]; /* ** This will break if xen_domain_handle_t is
- not uint8_t[16]. ** */
+ xen_domain_handle_t uuid;
uint16_t xen_major_version, xen_minor_version;
uint32_t xen_version;
char xen_extra_version[XEN_EXTRAVERSION_LEN];
@@ -173,6 +172,7 @@ hvm_write_smbios_tables(void)
unsigned tmp_len; /* length of next string to add */

hypercall_xen_version(XENVER_guest_handle, uuid);
+ BUILD_BUG_ON(sizeof(xen_domain_handle_t) != 16);

/* xen_version major and minor */
xen_version = hypercall_xen_version(XENVER_version, NULL);
diff -r f279d776fcb0 -r 58d131f1fb35 tools/firmware/hvmloader/util.h
--- a/tools/firmware/hvmloader/util.h Fri Aug 24 16:19:14 2007 +0100
+++ b/tools/firmware/hvmloader/util.h Fri Aug 24 16:32:56 2007 +0100
@@ -17,6 +17,7 @@ extern void __bug(char *file, int line)
extern void __bug(char *file, int line) __attribute__((noreturn));
#define BUG() __bug(__FILE__, __LINE__)
#define BUG_ON(p) do { if (p) BUG(); } while (0)
+#define BUILD_BUG_ON(p) ((void)sizeof(char[1 - 2 * !!(p)]))

/* I/O output */
void outb(uint16_t addr, uint8_t val);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xensource.com
http://lists.xensource.com/xen-changelog