# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1245219663 -3600
# Node ID aaab04808ee7f7504abc0c6a4fe5daf14968f184
# Parent 0ea75c3b7743ecf4b8dffd0b559e62849d0be313
Introduce mechanism to check standard conformance of headers
While pretty simplistic, it appears to serve the purpose at the moment
(i.e. it spotted two places where a GNU extension was used withou
proper preprocessor conditionals). The "simplistic" here includes that
the checking gets only done for native builds, and ia64 gets excluded
due to its arch-specific header intentionally (for whatever reason)
checking that anonymous struct/unions can be used.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
extras/mini-os/fs-front.c | 32 ++++++++++++------------
tools/fs-back/fs-ops.c | 44 ++++++++++++++++-----------------
xen/arch/ia64/xen/platform_hypercall.c | 2 -
xen/arch/x86/platform_hypercall.c | 4 +--
xen/include/Makefile | 19 ++++++++++++++
xen/include/headers.chk | 39 +++++++++++++++++++++++++++++
xen/include/public/event_channel.h | 2 +
xen/include/public/grant_table.h | 1
xen/include/public/hvm/hvm_op.h | 2 +
xen/include/public/io/fsif.h | 2 -
xen/include/public/io/xs_wire.h | 2 +
xen/include/public/memory.h | 2 +
xen/include/public/nmi.h | 2 +
xen/include/public/physdev.h | 2 +
xen/include/public/platform.h | 2 -
xen/include/public/vcpu.h | 2 +
16 files changed, 116 insertions(+), 43 deletions(-)
diff -r 0ea75c3b7743 -r aaab04808ee7 extras/mini-os/fs-front.c
--- a/extras/mini-os/fs-front.c Wed Jun 17 07:14:02 2009 +0100
+++ b/extras/mini-os/fs-front.c Wed Jun 17 07:21:03 2009 +0100
@@ -218,7 +218,7 @@ int fs_open(struct fs_import *import, ch
schedule();
/* Read the response */
- fd = (int)fsr->shadow_rsp.ret_val;
+ fd = (int)fsr->shadow_rsp.u.ret_val;
DEBUG("The following FD returned: %d\n", fd);
free_buffer_page(fsr);
add_id_to_freelist(priv_req_id, import->freelist);
@@ -256,7 +256,7 @@ int fs_close(struct fs_import *import, i
schedule();
/* Read the response */
- ret = (int)fsr->shadow_rsp.ret_val;
+ ret = (int)fsr->shadow_rsp.u.ret_val;
DEBUG("Close returned: %d\n", ret);
add_id_to_freelist(priv_req_id, import->freelist);
@@ -313,7 +313,7 @@ ssize_t fs_read(struct fs_import *import
schedule();
/* Read the response */
- ret = (ssize_t)fsr->shadow_rsp.ret_val;
+ ret = (ssize_t)fsr->shadow_rsp.u.ret_val;
DEBUG("The following ret value returned %d\n", ret);
if(ret > 0)
{
@@ -391,7 +391,7 @@ ssize_t fs_write(struct fs_import *impor
schedule();
/* Read the response */
- ret = (ssize_t)fsr->shadow_rsp.ret_val;
+ ret = (ssize_t)fsr->shadow_rsp.u.ret_val;
DEBUG("The following ret value returned %d\n", ret);
for(i=0; i<gnts.count; i++)
{
@@ -435,10 +435,10 @@ int fs_stat(struct fs_import *import,
schedule();
/* Read the response */
- ret = (int)fsr->shadow_rsp.ret_val;
+ ret = (int)fsr->shadow_rsp.u.ret_val;
DEBUG("Following ret from fstat: %d\n", ret);
memcpy(stat,
- &fsr->shadow_rsp.fstat,
+ &fsr->shadow_rsp.u.fstat,
sizeof(struct fsif_stat_response));
add_id_to_freelist(priv_req_id, import->freelist);
@@ -478,7 +478,7 @@ int fs_truncate(struct fs_import *import
schedule();
/* Read the response */
- ret = (int)fsr->shadow_rsp.ret_val;
+ ret = (int)fsr->shadow_rsp.u.ret_val;
DEBUG("Following ret from ftruncate: %d\n", ret);
add_id_to_freelist(priv_req_id, import->freelist);
@@ -520,7 +520,7 @@ int fs_remove(struct fs_import *import,
schedule();
/* Read the response */
- ret = (int)fsr->shadow_rsp.ret_val;
+ ret = (int)fsr->shadow_rsp.u.ret_val;
DEBUG("The following ret: %d\n", ret);
free_buffer_page(fsr);
add_id_to_freelist(priv_req_id, import->freelist);
@@ -575,7 +575,7 @@ int fs_rename(struct fs_import *import,
schedule();
/* Read the response */
- ret = (int)fsr->shadow_rsp.ret_val;
+ ret = (int)fsr->shadow_rsp.u.ret_val;
DEBUG("The following ret: %d\n", ret);
free_buffer_page(fsr);
add_id_to_freelist(priv_req_id, import->freelist);
@@ -621,7 +621,7 @@ int fs_create(struct fs_import *import,
schedule();
/* Read the response */
- ret = (int)fsr->shadow_rsp.ret_val;
+ ret = (int)fsr->shadow_rsp.u.ret_val;
DEBUG("The following ret: %d\n", ret);
free_buffer_page(fsr);
add_id_to_freelist(priv_req_id, import->freelist);
@@ -670,7 +670,7 @@ char** fs_list(struct fs_import *import,
schedule();
/* Read the response */
- *nr_files = (fsr->shadow_rsp.ret_val & NR_FILES_MASK) >> NR_FILES_SHIFT;
+ *nr_files = (fsr->shadow_rsp.u.ret_val & NR_FILES_MASK) >> NR_FILES_SHIFT;
files = NULL;
if(*nr_files <= 0) goto exit;
files = malloc(sizeof(char*) * (*nr_files));
@@ -681,7 +681,7 @@ char** fs_list(struct fs_import *import,
current_file += strlen(current_file) + 1;
}
if(has_more != NULL)
- *has_more = fsr->shadow_rsp.ret_val & HAS_MORE_FLAG;
+ *has_more = fsr->shadow_rsp.u.ret_val & HAS_MORE_FLAG;
free_buffer_page(fsr);
add_id_to_freelist(priv_req_id, import->freelist);
exit:
@@ -719,7 +719,7 @@ int fs_chmod(struct fs_import *import, i
schedule();
/* Read the response */
- ret = (int)fsr->shadow_rsp.ret_val;
+ ret = (int)fsr->shadow_rsp.u.ret_val;
DEBUG("The following returned: %d\n", ret);
add_id_to_freelist(priv_req_id, import->freelist);
@@ -761,7 +761,7 @@ int64_t fs_space(struct fs_import *impor
schedule();
/* Read the response */
- ret = (int64_t)fsr->shadow_rsp.ret_val;
+ ret = (int64_t)fsr->shadow_rsp.u.ret_val;
DEBUG("The following returned: %lld\n", ret);
free_buffer_page(fsr);
add_id_to_freelist(priv_req_id, import->freelist);
@@ -799,7 +799,7 @@ int fs_sync(struct fs_import *import, in
schedule();
/* Read the response */
- ret = (int)fsr->shadow_rsp.ret_val;
+ ret = (int)fsr->shadow_rsp.u.ret_val;
DEBUG("Close returned: %d\n", ret);
add_id_to_freelist(priv_req_id, import->freelist);
@@ -852,7 +852,7 @@ moretodo:
rsp = RING_GET_RESPONSE(&import->ring, cons);
DEBUG("Response at idx=%d to request id=%d, ret_val=%lx\n",
- cons, rsp->id, rsp->ret_val);
+ cons, rsp->id, rsp->u.ret_val);
req = &import->requests[rsp->id];
memcpy(&req->shadow_rsp, rsp, sizeof(struct fsif_response));
DEBUG("Waking up: %s\n", req->thread->name);
diff -r 0ea75c3b7743 -r aaab04808ee7 tools/fs-back/fs-ops.c
--- a/tools/fs-back/fs-ops.c Wed Jun 17 07:14:02 2009 +0100
+++ b/tools/fs-back/fs-ops.c Wed Jun 17 07:21:03 2009 +0100
@@ -89,7 +89,7 @@ static void dispatch_file_open(struct fs
FS_DEBUG("Writing response at: idx=%d, id=%d\n", rsp_idx, req_id);
rsp = RING_GET_RESPONSE(&mount->ring, rsp_idx);
rsp->id = req_id;
- rsp->ret_val = (uint64_t)fd;
+ rsp->u.ret_val = (uint64_t)fd;
}
static void dispatch_file_close(struct fs_mount *mount, struct fsif_request
*req)
@@ -119,7 +119,7 @@ static void dispatch_file_close(struct f
FS_DEBUG("Writing response at: idx=%d, id=%d\n", rsp_idx, req_id);
rsp = RING_GET_RESPONSE(&mount->ring, rsp_idx);
rsp->id = req_id;
- rsp->ret_val = (uint64_t)ret;
+ rsp->u.ret_val = (uint64_t)ret;
}
#define MAX_GNTS 16
@@ -190,7 +190,7 @@ static void end_file_read(struct fs_moun
FS_DEBUG("Writing response at: idx=%d, id=%d\n", rsp_idx, req_id);
rsp = RING_GET_RESPONSE(&mount->ring, rsp_idx);
rsp->id = req_id;
- rsp->ret_val = (uint64_t)aio_return(&priv_req->aiocb);
+ rsp->u.ret_val = (uint64_t)aio_return(&priv_req->aiocb);
}
static void dispatch_file_write(struct fs_mount *mount, struct fsif_request
*req)
@@ -261,7 +261,7 @@ static void end_file_write(struct fs_mou
FS_DEBUG("Writing response at: idx=%d, id=%d\n", rsp_idx, req_id);
rsp = RING_GET_RESPONSE(&mount->ring, rsp_idx);
rsp->id = req_id;
- rsp->ret_val = (uint64_t)aio_return(&priv_req->aiocb);
+ rsp->u.ret_val = (uint64_t)aio_return(&priv_req->aiocb);
}
static void dispatch_stat(struct fs_mount *mount, struct fsif_request *req)
@@ -294,24 +294,24 @@ static void dispatch_stat(struct fs_moun
FS_DEBUG("Writing response at: idx=%d, id=%d\n", rsp_idx, req_id);
rsp = RING_GET_RESPONSE(&mount->ring, rsp_idx);
rsp->id = req_id;
- rsp->fstat.stat_ret = (uint32_t)ret;
- rsp->fstat.stat_mode = stat.st_mode;
- rsp->fstat.stat_uid = stat.st_uid;
- rsp->fstat.stat_gid = stat.st_gid;
+ rsp->u.fstat.stat_ret = (uint32_t)ret;
+ rsp->u.fstat.stat_mode = stat.st_mode;
+ rsp->u.fstat.stat_uid = stat.st_uid;
+ rsp->u.fstat.stat_gid = stat.st_gid;
#ifdef BLKGETSIZE
if (S_ISBLK(stat.st_mode)) {
unsigned long sectors;
if (ioctl(fd, BLKGETSIZE, §ors)) {
perror("getting device size\n");
- rsp->fstat.stat_size = 0;
+ rsp->u.fstat.stat_size = 0;
} else
- rsp->fstat.stat_size = sectors << 9;
+ rsp->u.fstat.stat_size = sectors << 9;
} else
#endif
- rsp->fstat.stat_size = stat.st_size;
- rsp->fstat.stat_atime = stat.st_atime;
- rsp->fstat.stat_mtime = stat.st_mtime;
- rsp->fstat.stat_ctime = stat.st_ctime;
+ rsp->u.fstat.stat_size = stat.st_size;
+ rsp->u.fstat.stat_atime = stat.st_atime;
+ rsp->u.fstat.stat_mtime = stat.st_mtime;
+ rsp->u.fstat.stat_ctime = stat.st_ctime;
}
@@ -344,7 +344,7 @@ static void dispatch_truncate(struct fs_
FS_DEBUG("Writing response at: idx=%d, id=%d\n", rsp_idx, req_id);
rsp = RING_GET_RESPONSE(&mount->ring, rsp_idx);
rsp->id = req_id;
- rsp->ret_val = (uint64_t)ret;
+ rsp->u.ret_val = (uint64_t)ret;
}
static void dispatch_remove(struct fs_mount *mount, struct fsif_request *req)
@@ -382,7 +382,7 @@ static void dispatch_remove(struct fs_mo
FS_DEBUG("Writing response at: idx=%d, id=%d\n", rsp_idx, req_id);
rsp = RING_GET_RESPONSE(&mount->ring, rsp_idx);
rsp->id = req_id;
- rsp->ret_val = (uint64_t)ret;
+ rsp->u.ret_val = (uint64_t)ret;
}
@@ -429,7 +429,7 @@ static void dispatch_rename(struct fs_mo
FS_DEBUG("Writing response at: idx=%d, id=%d\n", rsp_idx, req_id);
rsp = RING_GET_RESPONSE(&mount->ring, rsp_idx);
rsp->id = req_id;
- rsp->ret_val = (uint64_t)ret;
+ rsp->u.ret_val = (uint64_t)ret;
}
@@ -490,7 +490,7 @@ static void dispatch_create(struct fs_mo
FS_DEBUG("Writing response at: idx=%d, id=%d\n", rsp_idx, req_id);
rsp = RING_GET_RESPONSE(&mount->ring, rsp_idx);
rsp->id = req_id;
- rsp->ret_val = (uint64_t)ret;
+ rsp->u.ret_val = (uint64_t)ret;
}
static void dispatch_list(struct fs_mount *mount, struct fsif_request *req)
@@ -560,7 +560,7 @@ error_out:
FS_DEBUG("Writing response at: idx=%d, id=%d\n", rsp_idx, req_id);
rsp = RING_GET_RESPONSE(&mount->ring, rsp_idx);
rsp->id = req_id;
- rsp->ret_val = ret_val;
+ rsp->u.ret_val = ret_val;
}
static void dispatch_chmod(struct fs_mount *mount, struct fsif_request *req)
@@ -591,7 +591,7 @@ static void dispatch_chmod(struct fs_mou
FS_DEBUG("Writing response at: idx=%d, id=%d\n", rsp_idx, req_id);
rsp = RING_GET_RESPONSE(&mount->ring, rsp_idx);
rsp->id = req_id;
- rsp->ret_val = (uint64_t)ret;
+ rsp->u.ret_val = (uint64_t)ret;
}
static void dispatch_fs_space(struct fs_mount *mount, struct fsif_request *req)
@@ -632,7 +632,7 @@ static void dispatch_fs_space(struct fs_
FS_DEBUG("Writing response at: idx=%d, id=%d\n", rsp_idx, req_id);
rsp = RING_GET_RESPONSE(&mount->ring, rsp_idx);
rsp->id = req_id;
- rsp->ret_val = (uint64_t)ret;
+ rsp->u.ret_val = (uint64_t)ret;
}
static void dispatch_file_sync(struct fs_mount *mount, struct fsif_request
*req)
@@ -681,7 +681,7 @@ static void end_file_sync(struct fs_moun
FS_DEBUG("Writing response at: idx=%d, id=%d\n", rsp_idx, req_id);
rsp = RING_GET_RESPONSE(&mount->ring, rsp_idx);
rsp->id = req_id;
- rsp->ret_val = (uint64_t)aio_return(&priv_req->aiocb);
+ rsp->u.ret_val = (uint64_t)aio_return(&priv_req->aiocb);
}
struct fs_op fopen_op = {.type = REQ_FILE_OPEN,
diff -r 0ea75c3b7743 -r aaab04808ee7 xen/arch/ia64/xen/platform_hypercall.c
--- a/xen/arch/ia64/xen/platform_hypercall.c Wed Jun 17 07:14:02 2009 +0100
+++ b/xen/arch/ia64/xen/platform_hypercall.c Wed Jun 17 07:21:03 2009 +0100
@@ -48,7 +48,7 @@ long do_platform_op(XEN_GUEST_HANDLE(xen
break;
}
ret = set_px_pminfo(op->u.set_pminfo.id,
- &op->u.set_pminfo.perf);
+ &op->u.set_pminfo.u.perf);
break;
case XEN_PM_CX:
diff -r 0ea75c3b7743 -r aaab04808ee7 xen/arch/x86/platform_hypercall.c
--- a/xen/arch/x86/platform_hypercall.c Wed Jun 17 07:14:02 2009 +0100
+++ b/xen/arch/x86/platform_hypercall.c Wed Jun 17 07:21:03 2009 +0100
@@ -359,7 +359,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
ret = -ENOSYS;
break;
}
- ret = set_px_pminfo(op->u.set_pminfo.id, &op->u.set_pminfo.perf);
+ ret = set_px_pminfo(op->u.set_pminfo.id, &op->u.set_pminfo.u.perf);
break;
case XEN_PM_CX:
@@ -368,7 +368,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
ret = -ENOSYS;
break;
}
- ret = set_cx_pminfo(op->u.set_pminfo.id, &op->u.set_pminfo.power);
+ ret = set_cx_pminfo(op->u.set_pminfo.id,
&op->u.set_pminfo.u.power);
break;
case XEN_PM_TX:
diff -r 0ea75c3b7743 -r aaab04808ee7 xen/include/Makefile
--- a/xen/include/Makefile Wed Jun 17 07:14:02 2009 +0100
+++ b/xen/include/Makefile Wed Jun 17 07:21:03 2009 +0100
@@ -1,3 +1,6 @@ ifneq ($(CONFIG_COMPAT),)
+XEN_ROOT:=$(BASEDIR)/..
+include $(XEN_ROOT)/Config.mk
+
ifneq ($(CONFIG_COMPAT),)
compat-arch-$(CONFIG_X86) := x86_32
@@ -35,6 +38,9 @@ suffix-$(CONFIG_X86) := \#pragma pa
endif
+public-$(CONFIG_X86) := $(wildcard public/arch-x86/*.h public/arch-x86/*/*.h)
+public-$(CONFIG_IA64) := $(wildcard public/arch-ia64/*.h
public/arch-ia64/*/*.h)
+
.PHONY: all
all: $(headers-y)
@@ -67,5 +73,18 @@ compat/xlat.h: xlat.lst $(filter-out com
done >$@.new
mv -f $@.new $@
+ifeq ($(XEN_TARGET_ARCH),$(XEN_COMPILE_ARCH))
+# public/arch-ia64.h explicitly bails on __STRICT_ANSI__
+ifeq ($(CONFIG_IA64),)
+
+all: headers.chk
+
+headers.chk: $(filter-out public/arch-% public/%ctl.h public/xsm/%
public/%hvm/save.h, $(wildcard public/*.h public/*/*.h) $(public-y)) Makefile
+ for i in $(filter %.h,$^); do $(CC) -ansi -include stdint.h -Wall -W
-Werror -S -o /dev/null -xc $$i || exit 1; echo $$i; done >$@.new
+ mv $@.new $@
+
+endif
+endif
+
clean::
rm -rf compat
diff -r 0ea75c3b7743 -r aaab04808ee7 xen/include/headers.chk
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xen/include/headers.chk Wed Jun 17 07:21:03 2009 +0100
@@ -0,0 +1,39 @@
+public/callback.h
+public/dom0_ops.h
+public/elfnote.h
+public/event_channel.h
+public/features.h
+public/grant_table.h
+public/kexec.h
+public/memory.h
+public/nmi.h
+public/physdev.h
+public/platform.h
+public/sched.h
+public/tmem.h
+public/trace.h
+public/vcpu.h
+public/version.h
+public/xencomm.h
+public/xen-compat.h
+public/xen.h
+public/xenoprof.h
+public/hvm/e820.h
+public/hvm/hvm_info_table.h
+public/hvm/hvm_op.h
+public/hvm/ioreq.h
+public/hvm/params.h
+public/io/blkif.h
+public/io/console.h
+public/io/fbif.h
+public/io/fsif.h
+public/io/kbdif.h
+public/io/netif.h
+public/io/pciif.h
+public/io/protocols.h
+public/io/ring.h
+public/io/tpmif.h
+public/io/usbif.h
+public/io/vscsiif.h
+public/io/xenbus.h
+public/io/xs_wire.h
diff -r 0ea75c3b7743 -r aaab04808ee7 xen/include/public/event_channel.h
--- a/xen/include/public/event_channel.h Wed Jun 17 07:14:02 2009 +0100
+++ b/xen/include/public/event_channel.h Wed Jun 17 07:21:03 2009 +0100
@@ -26,6 +26,8 @@
#ifndef __XEN_PUBLIC_EVENT_CHANNEL_H__
#define __XEN_PUBLIC_EVENT_CHANNEL_H__
+
+#include "xen.h"
/*
* Prototype for this hypercall is:
diff -r 0ea75c3b7743 -r aaab04808ee7 xen/include/public/grant_table.h
--- a/xen/include/public/grant_table.h Wed Jun 17 07:14:02 2009 +0100
+++ b/xen/include/public/grant_table.h Wed Jun 17 07:21:03 2009 +0100
@@ -28,6 +28,7 @@
#ifndef __XEN_PUBLIC_GRANT_TABLE_H__
#define __XEN_PUBLIC_GRANT_TABLE_H__
+#include "xen.h"
/***********************************
* GRANT TABLE REPRESENTATION
diff -r 0ea75c3b7743 -r aaab04808ee7 xen/include/public/hvm/hvm_op.h
--- a/xen/include/public/hvm/hvm_op.h Wed Jun 17 07:14:02 2009 +0100
+++ b/xen/include/public/hvm/hvm_op.h Wed Jun 17 07:21:03 2009 +0100
@@ -20,6 +20,8 @@
#ifndef __XEN_PUBLIC_HVM_HVM_OP_H__
#define __XEN_PUBLIC_HVM_HVM_OP_H__
+
+#include "../xen.h"
/* Get/set subcommands: extra argument == pointer to xen_hvm_param struct. */
#define HVMOP_set_param 0
diff -r 0ea75c3b7743 -r aaab04808ee7 xen/include/public/io/fsif.h
--- a/xen/include/public/io/fsif.h Wed Jun 17 07:14:02 2009 +0100
+++ b/xen/include/public/io/fsif.h Wed Jun 17 07:21:03 2009 +0100
@@ -169,7 +169,7 @@ struct fsif_response {
union {
uint64_t ret_val;
struct fsif_stat_response fstat;
- };
+ } u;
};
typedef struct fsif_response fsif_response_t;
diff -r 0ea75c3b7743 -r aaab04808ee7 xen/include/public/io/xs_wire.h
--- a/xen/include/public/io/xs_wire.h Wed Jun 17 07:14:02 2009 +0100
+++ b/xen/include/public/io/xs_wire.h Wed Jun 17 07:21:03 2009 +0100
@@ -60,6 +60,7 @@ struct xsd_errors
int errnum;
const char *errstring;
};
+#ifdef EINVAL
#define XSD_ERROR(x) { x, #x }
/* LINTED: static unused */
static struct xsd_errors xsd_errors[]
@@ -82,6 +83,7 @@ __attribute__((unused))
XSD_ERROR(EAGAIN),
XSD_ERROR(EISCONN)
};
+#endif
struct xsd_sockmsg
{
diff -r 0ea75c3b7743 -r aaab04808ee7 xen/include/public/memory.h
--- a/xen/include/public/memory.h Wed Jun 17 07:14:02 2009 +0100
+++ b/xen/include/public/memory.h Wed Jun 17 07:21:03 2009 +0100
@@ -27,6 +27,8 @@
#ifndef __XEN_PUBLIC_MEMORY_H__
#define __XEN_PUBLIC_MEMORY_H__
+#include "xen.h"
+
/*
* Increase or decrease the specified domain's memory reservation. Returns the
* number of extents successfully allocated or freed.
diff -r 0ea75c3b7743 -r aaab04808ee7 xen/include/public/nmi.h
--- a/xen/include/public/nmi.h Wed Jun 17 07:14:02 2009 +0100
+++ b/xen/include/public/nmi.h Wed Jun 17 07:21:03 2009 +0100
@@ -26,6 +26,8 @@
#ifndef __XEN_PUBLIC_NMI_H__
#define __XEN_PUBLIC_NMI_H__
+
+#include "xen.h"
/*
* NMI reason codes:
diff -r 0ea75c3b7743 -r aaab04808ee7 xen/include/public/physdev.h
--- a/xen/include/public/physdev.h Wed Jun 17 07:14:02 2009 +0100
+++ b/xen/include/public/physdev.h Wed Jun 17 07:21:03 2009 +0100
@@ -21,6 +21,8 @@
#ifndef __XEN_PUBLIC_PHYSDEV_H__
#define __XEN_PUBLIC_PHYSDEV_H__
+#include "xen.h"
+
/*
* Prototype for this hypercall is:
* int physdev_op(int cmd, void *args)
diff -r 0ea75c3b7743 -r aaab04808ee7 xen/include/public/platform.h
--- a/xen/include/public/platform.h Wed Jun 17 07:14:02 2009 +0100
+++ b/xen/include/public/platform.h Wed Jun 17 07:21:03 2009 +0100
@@ -307,7 +307,7 @@ struct xenpf_set_processor_pminfo {
union {
struct xen_processor_power power;/* Cx: _CST/_CSD */
struct xen_processor_performance perf; /* Px: _PPC/_PCT/_PSS/_PSD */
- };
+ } u;
};
typedef struct xenpf_set_processor_pminfo xenpf_set_processor_pminfo_t;
DEFINE_XEN_GUEST_HANDLE(xenpf_set_processor_pminfo_t);
diff -r 0ea75c3b7743 -r aaab04808ee7 xen/include/public/vcpu.h
--- a/xen/include/public/vcpu.h Wed Jun 17 07:14:02 2009 +0100
+++ b/xen/include/public/vcpu.h Wed Jun 17 07:21:03 2009 +0100
@@ -26,6 +26,8 @@
#ifndef __XEN_PUBLIC_VCPU_H__
#define __XEN_PUBLIC_VCPU_H__
+
+#include "xen.h"
/*
* Prototype for this hypercall is:
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|