diff options
26 files changed, 65 insertions, 68 deletions
@@ -12,14 +12,6 @@ XEN_TARGET_X86_PAE ?= n HOSTCC = gcc HOSTCFLAGS = -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer -ifneq ($(debug),y) -# Optimisation flags are overridable -CFLAGS ?= -O3 -fomit-frame-pointer -CFLAGS += -DNDEBUG -else -CFLAGS += -g -endif - AS = $(CROSS_COMPILE)as LD = $(CROSS_COMPILE)ld CC = $(CROSS_COMPILE)gcc @@ -38,6 +30,22 @@ INSTALL_DIR = $(INSTALL) -d -m0755 INSTALL_DATA = $(INSTALL) -m0644 INSTALL_PROG = $(INSTALL) -m0755 +ifneq ($(debug),y) +# Optimisation flags are overridable +CFLAGS ?= -O2 -fomit-frame-pointer +CFLAGS += -DNDEBUG +else +CFLAGS += -g +endif + +ifeq ($(XEN_TARGET_ARCH),x86_32) +CFLAGS += -m32 -march=i686 +endif + +ifeq ($(XEN_TARGET_ARCH),x86_64) +CFLAGS += -m64 +endif + ifeq ($(XEN_TARGET_ARCH),x86_64) LIBDIR = lib64 else @@ -51,7 +59,7 @@ endif test-gcc-flag = $(shell $(1) -v --help 2>&1 | grep -q " $(2) " && echo $(2)) -CFLAGS += -Wall +CFLAGS += -Wall -Wstrict-prototypes HOSTCFLAGS += $(call test-gcc-flag,$(HOSTCC),-Wdeclaration-after-statement) CFLAGS += $(call test-gcc-flag,$(CC),-Wdeclaration-after-statement) diff --git a/tools/Rules.mk b/tools/Rules.mk index c52de46915..a2eeced638 100644 --- a/tools/Rules.mk +++ b/tools/Rules.mk @@ -10,16 +10,6 @@ XEN_LIBXC = $(XEN_ROOT)/tools/libxc XEN_XENSTORE = $(XEN_ROOT)/tools/xenstore XEN_LIBXENSTAT = $(XEN_ROOT)/tools/xenstat/libxenstat/src -ifeq ($(XEN_TARGET_ARCH),x86_32) -CFLAGS += -m32 -march=i686 -LDFLAGS += -m32 -endif - -ifeq ($(XEN_TARGET_ARCH),x86_64) -CFLAGS += -m64 -LDFLAGS += -m64 -endif - X11_LDPATH = -L/usr/X11R6/$(LIBDIR) %.opic: %.c diff --git a/tools/ioemu/target-i386-dm/Makefile b/tools/ioemu/target-i386-dm/Makefile index 3400621cef..887f73bea8 100644 --- a/tools/ioemu/target-i386-dm/Makefile +++ b/tools/ioemu/target-i386-dm/Makefile @@ -235,7 +235,7 @@ endif all: $(PROGS) $(QEMU_USER): $(OBJS) - $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) ifeq ($(ARCH),alpha) # Mark as 32 bit binary, i. e. it will be mapped into the low 31 bit of # the address space (31 bit so sign extending doesn't matter) @@ -311,7 +311,7 @@ endif endif $(QEMU_SYSTEM): $(VL_OBJS) libqemu.a - $(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(VNC_LIBS) $(VL_LIBS) -lpthread + $(CC) $(CFLAGS) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(VNC_LIBS) $(VL_LIBS) -lpthread vnc.o: vnc.c keyboard_rdesktop.c $(CC) $(CFLAGS) $(DEFINES) $(VNC_CFLAGS) -c -o $@ $< diff --git a/tools/ioemu/vl.h b/tools/ioemu/vl.h index 2b30dc8f26..439c530d48 100644 --- a/tools/ioemu/vl.h +++ b/tools/ioemu/vl.h @@ -697,7 +697,7 @@ void lance_init(NetDriverState *nd, int irq, uint32_t leaddr, uint32_t ledaddr); void tcx_init(DisplayState *ds, uint32_t addr); /* sched.c */ -void sched_init(); +void sched_init(uint32_t, uint32_t); /* magic-load.c */ void magic_init(const char *kfn, int kloadaddr, uint32_t addr); @@ -799,7 +799,7 @@ void readline_start(const char *prompt, int is_password, int gdbserver_start(int port); void update_select_wakeup_events(void); -void tun_receive_handler(); +void tun_receive_handler(fd_set *); extern char domain_name[]; #endif /* VL_H */ diff --git a/tools/misc/lomount/lomount.c b/tools/misc/lomount/lomount.c index b72f77da03..85e5f3b584 100644 --- a/tools/misc/lomount/lomount.c +++ b/tools/misc/lomount/lomount.c @@ -195,7 +195,7 @@ done: return fail; } -void usage() +void usage(void) { fprintf(stderr, "You must specify at least -diskimage and -partition.\n"); fprintf(stderr, "All other arguments are passed through to 'mount'.\n"); diff --git a/tools/misc/mbootpack/Makefile b/tools/misc/mbootpack/Makefile index 3c6791e4ee..d1e3334bf7 100644 --- a/tools/misc/mbootpack/Makefile +++ b/tools/misc/mbootpack/Makefile @@ -31,7 +31,7 @@ DEPFLAGS = -Wp,-MD,.$(@F).d DEPS = .*.d mbootpack: $(OBJS) - $(HOSTCC) -o $@ $(filter-out %.a, $^) $(LDFLAGS) + $(HOSTCC) -o $@ $(filter-out %.a, $^) clean: $(RM) mbootpack *.o $(DEPS) bootsect setup bzimage_header.c bin2c diff --git a/tools/misc/xc_shadow.c b/tools/misc/xc_shadow.c index 20363637bf..83c52ebc19 100644 --- a/tools/misc/xc_shadow.c +++ b/tools/misc/xc_shadow.c @@ -18,7 +18,7 @@ #include <errno.h> #include <string.h> -void usage() +void usage(void) { printf("xc_shadow: -[0|1|2]\n"); printf(" set shadow mode\n"); @@ -28,7 +28,7 @@ void usage() int main(int argc, char *argv[]) { int xc_handle; - int mode; + int mode = 0; if ( argc > 1 ) { diff --git a/tools/vtpm_manager/manager/Makefile b/tools/vtpm_manager/manager/Makefile index e6f20f5a5e..278a37e963 100644 --- a/tools/vtpm_manager/manager/Makefile +++ b/tools/vtpm_manager/manager/Makefile @@ -20,7 +20,7 @@ mrproper: clean rm -f $(BIN) *~ $(BIN): $(OBJS) - $(CC) $(LDFLAGS) $^ $(LIBS) -o $@ + $(CC) $(CFLAGS) $(LDFLAGS) $^ $(LIBS) -o $@ # libraries LIBS += ../tcs/libTCS.a ../util/libTCGUtils.a ../crypto/libtcpaCrypto.a diff --git a/tools/xenmon/xenbaked.c b/tools/xenmon/xenbaked.c index 1289e47425..a7cd4be2d0 100644 --- a/tools/xenmon/xenbaked.c +++ b/tools/xenmon/xenbaked.c @@ -379,7 +379,7 @@ struct t_rec **init_rec_ptrs(struct t_buf **meta, unsigned int num) /** * get_num_cpus - get the number of logical CPUs */ -unsigned int get_num_cpus() +unsigned int get_num_cpus(void) { dom0_op_t op; int xc_handle = xc_interface_open(); @@ -409,7 +409,7 @@ unsigned int get_num_cpus() /** * monitor_tbufs - monitor the contents of tbufs */ -int monitor_tbufs() +int monitor_tbufs(void) { int i; extern void process_record(int, struct t_rec *); diff --git a/tools/xenstat/libxenstat/Makefile b/tools/xenstat/libxenstat/Makefile index d874ba3af1..52832017ff 100644 --- a/tools/xenstat/libxenstat/Makefile +++ b/tools/xenstat/libxenstat/Makefile @@ -48,7 +48,7 @@ $(LIB): $(OBJECTS) $(RANLIB) $@ $(SHLIB): $(OBJECTS) - $(CC) $(LDFLAGS) $(SONAME_FLAGS) -shared -o $@ $(OBJECTS) + $(CC) $(CFLAGS) $(LDFLAGS) $(SONAME_FLAGS) -shared -o $@ $(OBJECTS) src/xenstat.o: src/xenstat.c src/xenstat.h src/xen-interface.h $(CC) $(CFLAGS) $(WARN_FLAGS) -c -o $@ $< diff --git a/tools/xenstat/libxenstat/src/xen-interface.c b/tools/xenstat/libxenstat/src/xen-interface.c index 6b6fa6b9fb..59723157ad 100644 --- a/tools/xenstat/libxenstat/src/xen-interface.c +++ b/tools/xenstat/libxenstat/src/xen-interface.c @@ -31,7 +31,7 @@ struct xi_handle { /* Initialize for xen-interface. Returns a handle to be used with subsequent * calls to the xen-interface functions or NULL if an error occurs. */ -xi_handle *xi_init() +xi_handle *xi_init(void) { xi_handle *handle; diff --git a/tools/xenstat/libxenstat/src/xen-interface.h b/tools/xenstat/libxenstat/src/xen-interface.h index c1e74edcd6..fc7119ae34 100644 --- a/tools/xenstat/libxenstat/src/xen-interface.h +++ b/tools/xenstat/libxenstat/src/xen-interface.h @@ -26,7 +26,7 @@ typedef struct xi_handle xi_handle; /* Initialize for xen-interface. Returns a handle to be used with subsequent * calls to the xen-interface functions or NULL if an error occurs. */ -xi_handle *xi_init(); +xi_handle *xi_init(void); /* Release the handle to libxc, free resources, etc. */ void xi_uninit(xi_handle *handle); diff --git a/tools/xenstat/libxenstat/src/xenstat.c b/tools/xenstat/libxenstat/src/xenstat.c index e8a6928dac..3332f2cad7 100644 --- a/tools/xenstat/libxenstat/src/xenstat.c +++ b/tools/xenstat/libxenstat/src/xenstat.c @@ -129,7 +129,7 @@ static xenstat_collector collectors[] = { /* * libxenstat API */ -xenstat_handle *xenstat_init() +xenstat_handle *xenstat_init(void) { xenstat_handle *handle; diff --git a/tools/xenstat/libxenstat/src/xenstat.h b/tools/xenstat/libxenstat/src/xenstat.h index b9ac1d3782..90676e8763 100644 --- a/tools/xenstat/libxenstat/src/xenstat.h +++ b/tools/xenstat/libxenstat/src/xenstat.h @@ -26,7 +26,7 @@ typedef struct xenstat_network xenstat_network; /* Initialize the xenstat library. Returns a handle to be used with * subsequent calls to the xenstat library, or NULL if an error occurs. */ -xenstat_handle *xenstat_init(); +xenstat_handle *xenstat_init(void); /* Release the handle to libxc, free resources, etc. */ void xenstat_uninit(xenstat_handle * handle); diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c index b23aa40fa5..bfa71f56bd 100644 --- a/tools/xenstore/xenstored_core.c +++ b/tools/xenstore/xenstored_core.c @@ -66,7 +66,7 @@ static char *tracefile = NULL; static TDB_CONTEXT *tdb_ctx; static void corrupt(struct connection *conn, const char *fmt, ...); -static void check_store(); +static void check_store(void); #define log(...) \ do { \ @@ -238,7 +238,7 @@ static void trigger_reopen_log(int signal __attribute__((unused))) } -static void reopen_log() +static void reopen_log(void) { if (tracefile) { if (tracefd > 0) @@ -1612,7 +1612,7 @@ static void clean_store(struct hashtable *reachable) } -static void check_store() +static void check_store(void) { char * root = talloc_strdup(NULL, "/"); struct hashtable * reachable = diff --git a/tools/xentrace/xentrace.c b/tools/xentrace/xentrace.c index 2780e1dbb2..34b2a6a649 100644 --- a/tools/xentrace/xentrace.c +++ b/tools/xentrace/xentrace.c @@ -258,7 +258,7 @@ struct t_rec **init_rec_ptrs(struct t_buf **meta, unsigned int num) /** * get_num_cpus - get the number of logical CPUs */ -unsigned int get_num_cpus() +unsigned int get_num_cpus(void) { dom0_op_t op; int xc_handle = xc_interface_open(); diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk index 66cddd1577..3921119034 100644 --- a/xen/arch/x86/Rules.mk +++ b/xen/arch/x86/Rules.mk @@ -22,19 +22,20 @@ CFLAGS += $(call test-gcc-flag,$(CC),-nopie) CFLAGS += $(call test-gcc-flag,$(CC),-fno-stack-protector) CFLAGS += $(call test-gcc-flag,$(CC),-fno-stack-protector-all) -ifeq ($(TARGET_SUBARCH),x86_32) -CFLAGS += -m32 -march=i686 -LDFLAGS += -m elf_i386 -ifeq ($(pae),y) +ifeq ($(TARGET_SUBARCH)$(pae),x86_32y) CFLAGS += -DCONFIG_X86_PAE=1 endif -endif + ifeq ($(supervisor_mode_kernel),y) CFLAGS += -DCONFIG_X86_SUPERVISOR_MODE_KERNEL=1 endif +ifeq ($(XEN_TARGET_ARCH),x86_32) +LDFLAGS += -m elf_i386 +endif + ifeq ($(TARGET_SUBARCH),x86_64) -CFLAGS += -m64 -mno-red-zone -fpic -fno-reorder-blocks +CFLAGS += -mno-red-zone -fpic -fno-reorder-blocks CFLAGS += -fno-asynchronous-unwind-tables LDFLAGS += -m elf_x86_64 endif diff --git a/xen/arch/x86/audit.c b/xen/arch/x86/audit.c index b0bba0daa3..b64f4e880d 100644 --- a/xen/arch/x86/audit.c +++ b/xen/arch/x86/audit.c @@ -350,7 +350,7 @@ int audit_adjust_pgtables(struct domain *d, int dir, int noisy) unmap_domain_page(pt); } - void adjust_shadow_tables() + void adjust_shadow_tables(void) { struct shadow_status *a; unsigned long smfn, gmfn; @@ -402,7 +402,7 @@ int audit_adjust_pgtables(struct domain *d, int dir, int noisy) } } - void adjust_oos_list() + void adjust_oos_list(void) { struct out_of_sync_entry *oos; @@ -426,7 +426,7 @@ int audit_adjust_pgtables(struct domain *d, int dir, int noisy) } } - void adjust_for_pgtbase() + void adjust_for_pgtbase(void) { struct vcpu *v; @@ -443,7 +443,7 @@ int audit_adjust_pgtables(struct domain *d, int dir, int noisy) } } - void adjust_guest_pages() + void adjust_guest_pages(void) { struct list_head *list_ent = d->page_list.next; struct page_info *page; diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index e9669983d4..c3f3318d40 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -205,12 +205,10 @@ void hvm_setup_platform(struct domain* d) } } -void pic_irq_request(int *interrupt_request, int level) +void pic_irq_request(void *data, int level) { - if (level) - *interrupt_request = 1; - else - *interrupt_request = 0; + int *interrupt_request = data; + *interrupt_request = level; } void hvm_pic_assist(struct vcpu *v) diff --git a/xen/arch/x86/hvm/i8259.c b/xen/arch/x86/hvm/i8259.c index 7bfb007865..3426342793 100644 --- a/xen/arch/x86/hvm/i8259.c +++ b/xen/arch/x86/hvm/i8259.c @@ -407,7 +407,7 @@ static void pic_init1(int io_addr, int elcr_addr, PicState *s) pic_reset(s); } -void pic_init(struct hvm_virpic *s, void (*irq_request)(), +void pic_init(struct hvm_virpic *s, void (*irq_request)(void *, int), void *irq_request_opaque) { memset(s, 0, sizeof(*s)); @@ -422,7 +422,8 @@ void pic_init(struct hvm_virpic *s, void (*irq_request)(), return; } -void pic_set_alt_irq_func(struct hvm_virpic *s, void (*alt_irq_func)(), +void pic_set_alt_irq_func(struct hvm_virpic *s, + void (*alt_irq_func)(void *, int, int), void *alt_irq_opaque) { s->alt_irq_func = alt_irq_func; diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c index ce0e8031eb..e612c1035d 100644 --- a/xen/arch/x86/hvm/vmx/vmcs.c +++ b/xen/arch/x86/hvm/vmx/vmcs.c @@ -363,7 +363,7 @@ static inline int construct_init_vmcs_guest(cpu_user_regs_t *regs) return error; } -static inline int construct_vmcs_host() +static inline int construct_vmcs_host(void) { int error = 0; #ifdef __x86_64__ diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index 77310e5146..ac169265f4 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -479,12 +479,13 @@ void vmx_init_ap_context(struct vcpu_guest_context *ctxt, void do_nmi(struct cpu_user_regs *); -static int check_vmx_controls(ctrls, msr) +static int check_vmx_controls(u32 ctrls, u32 msr) { u32 vmx_msr_low, vmx_msr_high; rdmsr(msr, vmx_msr_low, vmx_msr_high); - if (ctrls < vmx_msr_low || ctrls > vmx_msr_high) { + if ( (ctrls < vmx_msr_low) || (ctrls > vmx_msr_high) ) + { printk("Insufficient VMX capability 0x%x, " "msr=0x%x,low=0x%8x,high=0x%x\n", ctrls, msr, vmx_msr_low, vmx_msr_high); diff --git a/xen/common/lib.c b/xen/common/lib.c index 1eb70fe6c4..408e8eefe6 100644 --- a/xen/common/lib.c +++ b/xen/common/lib.c @@ -158,8 +158,7 @@ shl(register digit *p, register int len, register int sh) * leading zeros). */ u64 -__qdivrem(uq, vq, arq) - u64 uq, vq, *arq; +__qdivrem(u64 uq, u64 vq, u64 *arq) { union uu tmp; digit *u, *v, *q; @@ -382,8 +381,7 @@ __divdi3(s64 a, s64 b) * Divide two unsigned quads. */ u64 -__udivdi3(a, b) - u64 a, b; +__udivdi3(u64 a, u64 b) { return (__qdivrem(a, b, (u64 *)0)); diff --git a/xen/include/asm-x86/hvm/io.h b/xen/include/asm-x86/hvm/io.h index 224f22cc4a..6992a4ffeb 100644 --- a/xen/include/asm-x86/hvm/io.h +++ b/xen/include/asm-x86/hvm/io.h @@ -151,7 +151,7 @@ extern void handle_mmio(unsigned long, unsigned long); extern void hvm_wait_io(void); extern void hvm_safe_block(void); extern void hvm_io_assist(struct vcpu *v); -extern void pic_irq_request(int *interrupt_request, int level); +extern void pic_irq_request(void *data, int level); extern void hvm_pic_assist(struct vcpu *v); extern int cpu_get_interrupt(struct vcpu *v, int *type); extern int cpu_has_pending_irq(struct vcpu *v); diff --git a/xen/include/asm-x86/hvm/vpic.h b/xen/include/asm-x86/hvm/vpic.h index 57388119af..a46507ca6b 100644 --- a/xen/include/asm-x86/hvm/vpic.h +++ b/xen/include/asm-x86/hvm/vpic.h @@ -55,7 +55,7 @@ struct hvm_virpic { /* 0 is master pic, 1 is slave pic */ /* XXX: better separation between the two pics */ PicState pics[2]; - void (*irq_request)(int *opaque, int level); + void (*irq_request)(void *opaque, int level); void *irq_request_opaque; /* IOAPIC callback support */ void (*alt_irq_func)(void *opaque, int irq_num, int level); @@ -66,10 +66,10 @@ struct hvm_virpic { void pic_set_irq(struct hvm_virpic *s, int irq, int level); void pic_set_irq_new(void *opaque, int irq, int level); void pic_init(struct hvm_virpic *s, - void (*irq_request)(), + void (*irq_request)(void *, int), void *irq_request_opaque); void pic_set_alt_irq_func(struct hvm_virpic *s, - void(*alt_irq_func)(), + void (*alt_irq_func)(void *, int, int), void *alt_irq_opaque); int pic_read_irq(struct hvm_virpic *s); void pic_update_irq(struct hvm_virpic *s); diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h index e8348f48ae..3b3e8389ff 100644 --- a/xen/include/xen/sched.h +++ b/xen/include/xen/sched.h @@ -266,7 +266,7 @@ void sched_add_domain(struct vcpu *); void sched_rem_domain(struct vcpu *); long sched_ctl(struct sched_ctl_cmd *); long sched_adjdom(struct sched_adjdom_cmd *); -int sched_id(); +int sched_id(void); void vcpu_wake(struct vcpu *d); void vcpu_sleep_nosync(struct vcpu *d); void vcpu_sleep_sync(struct vcpu *d); |