Tim Deegan
2011-May-26 11:20 UTC
[Xen-devel] [PATCH] xen: remove extern function declarations from C files
# HG changeset patch # User Tim Deegan <Tim.Deegan@citrix.com> # Date 1306408735 -3600 # Node ID c979d508e814e2dbdba09e1bb545420cc13119e6 # Parent 08a17b468c17084e4765bb0f330c0c71f50902b8 xen: remove extern function declarations from C files. Move all extern declarations into appropriate header files. This also fixes up a few places where the caller and the definition had different signatures. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com> diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/acpi/cpu_idle.c --- a/xen/arch/x86/acpi/cpu_idle.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/acpi/cpu_idle.c Thu May 26 12:18:55 2011 +0100 @@ -72,10 +72,6 @@ static uint64_t (*ticks_elapsed)(uint64_ static uint64_t (*tick_to_ns)(uint64_t ticks); static uint64_t (*ns_to_tick)(uint64_t ticks); -extern void (*pm_idle) (void); -extern void (*dead_idle) (void); -extern void menu_get_trace_data(u32 *expected, u32 *pred); - static void (*pm_idle_save) (void) __read_mostly; unsigned int max_cstate __read_mostly = ACPI_PROCESSOR_MAX_POWER - 1; integer_param("max_cstate", max_cstate); diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/cpu/mtrr/main.c --- a/xen/arch/x86/cpu/mtrr/main.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/cpu/mtrr/main.c Thu May 26 12:18:55 2011 +0100 @@ -580,9 +580,6 @@ mtrr_del(int reg, unsigned long base, un * These should be called implicitly, but we can''t yet until all the initcall * stuff is done... */ -extern void amd_init_mtrr(void); -extern void cyrix_init_mtrr(void); - static void __init init_ifs(void) { #ifndef CONFIG_X86_64 diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/cpu/mtrr/mtrr.h --- a/xen/arch/x86/cpu/mtrr/mtrr.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/cpu/mtrr/mtrr.h Thu May 26 12:18:55 2011 +0100 @@ -83,3 +83,6 @@ extern unsigned int num_var_ranges; void mtrr_state_warn(void); void mtrr_wrmsr(unsigned int msr, uint64_t msr_content); +extern int amd_init_mtrr(void); +extern int cyrix_init_mtrr(void); + diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/debug.c --- a/xen/arch/x86/debug.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/debug.c Thu May 26 12:18:55 2011 +0100 @@ -22,6 +22,7 @@ #include <xen/mm.h> #include <xen/domain_page.h> #include <xen/guest_access.h> +#include <asm/debugger.h> #include <asm/p2m.h> /* @@ -30,8 +31,8 @@ */ #ifdef XEN_KDB_CONFIG -extern volatile int kdbdbg; -extern void kdbp(const char *fmt, ...); +#include "../kdb/include/kdbdefs.h" +#include "../kdb/include/kdbproto.h" #define DBGP(...) {(kdbdbg) ? kdbp(__VA_ARGS__):0;} #define DBGP1(...) {(kdbdbg>1) ? kdbp(__VA_ARGS__):0;} #define DBGP2(...) {(kdbdbg>2) ? kdbp(__VA_ARGS__):0;} @@ -40,10 +41,6 @@ extern void kdbp(const char *fmt, ...); #define DBGP2(...) {0;} #endif -typedef unsigned long dbgva_t; -typedef unsigned char dbgbyte_t; - - /* Returns: mfn for the given (hvm guest) vaddr */ static unsigned long dbg_hvm_va2mfn(dbgva_t vaddr, struct domain *dp, int toaddr) diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/domctl.c --- a/xen/arch/x86/domctl.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/domctl.c Thu May 26 12:18:55 2011 +0100 @@ -34,22 +34,14 @@ #include <public/mem_event.h> #include <asm/mem_sharing.h> #include <asm/xstate.h> - -#ifdef XEN_KDB_CONFIG -#include "../kdb/include/kdbdefs.h" -#include "../kdb/include/kdbproto.h" -#else -typedef unsigned long kdbva_t; -typedef unsigned char kdbbyt_t; -extern int dbg_rw_mem(kdbva_t, kdbbyt_t *, int, domid_t, int, uint64_t); -#endif +#include <asm/debugger.h> static int gdbsx_guest_mem_io( domid_t domid, struct xen_domctl_gdbsx_memio *iop) { ulong l_uva = (ulong)iop->uva; iop->remain = dbg_rw_mem( - (kdbva_t)iop->gva, (kdbbyt_t *)l_uva, iop->len, domid, + (dbgva_t)iop->gva, (dbgbyte_t *)l_uva, iop->len, domid, iop->gwr, iop->pgd3val); return (iop->remain ? -EFAULT : 0); } @@ -732,8 +724,6 @@ long arch_do_domctl( case XEN_DOMCTL_SENDTRIGGER_SLEEP: { - extern void hvm_acpi_sleep_button(struct domain *d); - ret = -EINVAL; if ( is_hvm_domain(d) ) { diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/hvm/hvm.c --- a/xen/arch/x86/hvm/hvm.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/hvm/hvm.c Thu May 26 12:18:55 2011 +0100 @@ -108,10 +108,6 @@ static struct notifier_block cpu_nfb = { static int __init hvm_enable(void) { - extern struct hvm_function_table *start_svm(void); - extern struct hvm_function_table *start_vmx(void); - extern int hvm_port80_allowed; - struct hvm_function_table *fns = NULL; switch ( boot_cpu_data.x86_vendor ) @@ -502,8 +498,6 @@ int hvm_domain_initialise(struct domain return rc; } -extern void msixtbl_pt_cleanup(struct domain *d); - void hvm_domain_relinquish_resources(struct domain *d) { hvm_destroy_ioreq_page(d, &d->arch.hvm_domain.ioreq); @@ -1377,8 +1371,6 @@ int hvm_set_efer(uint64_t value) return X86EMUL_OKAY; } -extern void shadow_blow_tables_per_domain(struct domain *d); - /* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill. */ static bool_t domain_exit_uc_mode(struct vcpu *v) { diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/hvm/nestedhvm.c --- a/xen/arch/x86/hvm/nestedhvm.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/hvm/nestedhvm.c Thu May 26 12:18:55 2011 +0100 @@ -200,7 +200,6 @@ unsigned long * nestedhvm_vcpu_iomap_get(bool_t port_80, bool_t port_ed) { int i; - extern int hvm_port80_allowed; if (!hvm_port80_allowed) port_80 = 1; diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/hvm/vmsi.c --- a/xen/arch/x86/hvm/vmsi.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/hvm/vmsi.c Thu May 26 12:18:55 2011 +0100 @@ -447,7 +447,7 @@ found: spin_unlock_irq(&irq_desc->lock); } -void msixtbl_pt_cleanup(struct domain *d, int pirq) +void msixtbl_pt_cleanup(struct domain *d) { struct msixtbl_entry *entry, *temp; unsigned long flags; diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/ioport_emulate.c --- a/xen/arch/x86/ioport_emulate.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/ioport_emulate.c Thu May 26 12:18:55 2011 +0100 @@ -9,10 +9,6 @@ #include <xen/sched.h> #include <xen/dmi.h> -/* Function pointer used to handle platform specific I/O port emulation. */ -extern void (*ioemul_handle_quirk)( - u8 opcode, char *io_emul_stub, struct cpu_user_regs *regs); - static void ioemul_handle_proliant_quirk( u8 opcode, char *io_emul_stub, struct cpu_user_regs *regs) { diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/irq.c --- a/xen/arch/x86/irq.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/irq.c Thu May 26 12:18:55 2011 +0100 @@ -1708,8 +1708,6 @@ void free_domain_pirqs(struct domain *d) spin_unlock(&pcidevs_lock); } -extern void dump_ioapic_irq_info(void); - static void dump_irqs(unsigned char key) { int i, irq, pirq; diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/machine_kexec.c --- a/xen/arch/x86/machine_kexec.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/machine_kexec.c Thu May 26 12:18:55 2011 +0100 @@ -21,9 +21,6 @@ typedef void (*relocate_new_kernel_t)( #endif unsigned int preserve_context); -extern int machine_kexec_get_xen(xen_kexec_range_t *range); - - int machine_kexec_load(int type, int slot, xen_kexec_image_t *image) { unsigned long prev_ma = 0; @@ -101,10 +98,6 @@ void machine_kexec(xen_kexec_image_t *im #ifdef CONFIG_COMPAT if ( is_pv_32on64_domain(dom0) ) { - extern void compat_machine_kexec(unsigned long rnk, - unsigned long indirection_page, - unsigned long *page_list, - unsigned long start_address); compat_machine_kexec(image->page_list[1], image->indirection_page, image->page_list, diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/mm/p2m-pod.c --- a/xen/arch/x86/mm/p2m-pod.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/mm/p2m-pod.c Thu May 26 12:18:55 2011 +0100 @@ -33,18 +33,6 @@ #include <asm/hvm/nestedhvm.h> #include <asm/hvm/svm/amd-iommu-proto.h> -/* Printouts */ -#define P2M_PRINTK(_f, _a...) \ - debugtrace_printk("p2m: %s(): " _f, __func__, ##_a) -#define P2M_ERROR(_f, _a...) \ - printk("pg error: %s(): " _f, __func__, ##_a) -#if P2M_DEBUGGING -#define P2M_DEBUG(_f, _a...) \ - debugtrace_printk("p2mdebug: %s(): " _f, __func__, ##_a) -#else -#define P2M_DEBUG(_f, _a...) do { (void)(_f); } while(0) -#endif - /* Override macros from asm/page.h to make them work with mfn_t */ #undef mfn_to_page @@ -54,12 +42,6 @@ #undef page_to_mfn #define page_to_mfn(_pg) _mfn(__page_to_mfn(_pg)) -#if P2M_AUDIT -extern void audit_p2m(struct p2m_domain *p2m, int strict_m2p); -#else -# define audit_p2m(_p2m, _m2p) do { (void)(_p2m),(_m2p); } while (0) -#endif /* P2M_AUDIT */ - #define SUPERPAGE_PAGES (1UL << 9) #define superpage_aligned(_x) (((_x)&(SUPERPAGE_PAGES-1))==0) diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/mm/p2m-pt.c --- a/xen/arch/x86/mm/p2m-pt.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/mm/p2m-pt.c Thu May 26 12:18:55 2011 +0100 @@ -38,23 +38,6 @@ #include <asm/hvm/nestedhvm.h> #include <asm/hvm/svm/amd-iommu-proto.h> -/* Debugging and auditing of the P2M code? */ -#define P2M_AUDIT 0 -#define P2M_DEBUGGING 0 - -/* Printouts */ -#define P2M_PRINTK(_f, _a...) \ - debugtrace_printk("p2m: %s(): " _f, __func__, ##_a) -#define P2M_ERROR(_f, _a...) \ - printk("pg error: %s(): " _f, __func__, ##_a) -#if P2M_DEBUGGING -#define P2M_DEBUG(_f, _a...) \ - debugtrace_printk("p2mdebug: %s(): " _f, __func__, ##_a) -#else -#define P2M_DEBUG(_f, _a...) do { (void)(_f); } while(0) -#endif - - /* Override macros from asm/page.h to make them work with mfn_t */ #undef mfn_to_page #define mfn_to_page(_m) __mfn_to_page(mfn_x(_m)) @@ -113,11 +96,6 @@ unsigned long p2m_type_to_flags(p2m_type } } -#if P2M_AUDIT -void audit_p2m(struct p2m_domain *p2m, int strict_m2p); -#else -# define audit_p2m(_p2m, _m2p) do { (void)(_p2m),(_m2p); } while (0) -#endif /* P2M_AUDIT */ // Find the next level''s P2M entry, checking for out-of-range gfn''s... // Returns NULL on error. diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/mm/p2m.c --- a/xen/arch/x86/mm/p2m.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/mm/p2m.c Thu May 26 12:18:55 2011 +0100 @@ -65,14 +65,6 @@ boolean_param("hap_2mb", opt_hap_2mb); #undef page_to_mfn #define page_to_mfn(_pg) _mfn(__page_to_mfn(_pg)) -#if P2M_AUDIT -extern void audit_p2m(struct p2m_domain *p2m, int strict_m2p); -#else -# define audit_p2m(_p2m, _m2p) do { (void)(_p2m),(_m2p); } while (0) -#endif /* P2M_AUDIT */ - -/* XXX declare functions moved to p2m-pt.c */ -extern void p2m_pt_init(struct p2m_domain *p2m); /* Init the datastructures for later use by the p2m code */ static void p2m_initialise(struct domain *d, struct p2m_domain *p2m) diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/mm/paging.c --- a/xen/arch/x86/mm/paging.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/mm/paging.c Thu May 26 12:18:55 2011 +0100 @@ -875,8 +875,6 @@ const struct paging_mode *paging_get_mod return paging_get_nestedmode(v); } -extern const struct paging_mode *hap_paging_get_mode(struct vcpu *); - void paging_update_nestedmode(struct vcpu *v) { ASSERT(nestedhvm_enabled(v->domain)); diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/physdev.c --- a/xen/arch/x86/physdev.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/physdev.c Thu May 26 12:18:55 2011 +0100 @@ -9,6 +9,7 @@ #include <xen/guest_access.h> #include <xen/iocap.h> #include <asm/current.h> +#include <asm/io_apic.h> #include <asm/msi.h> #include <asm/hypercall.h> #include <public/xen.h> @@ -20,13 +21,6 @@ typedef long ret_t; #endif -int -ioapic_guest_read( - unsigned long physbase, unsigned int reg, u32 *pval); -int -ioapic_guest_write( - unsigned long physbase, unsigned int reg, u32 pval); - static int physdev_hvm_map_pirq( struct domain *d, struct physdev_map_pirq *map) { diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/platform_hypercall.c --- a/xen/arch/x86/platform_hypercall.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/platform_hypercall.c Thu May 26 12:18:55 2011 +0100 @@ -20,6 +20,7 @@ #include <xen/guest_access.h> #include <xen/acpi.h> #include <xen/cpu.h> +#include <xen/pmstat.h> #include <asm/current.h> #include <public/platform.h> #include <acpi/cpufreq/processor_perf.h> @@ -47,9 +48,6 @@ extern spinlock_t xenpf_lock; static DEFINE_PER_CPU(uint64_t, freq); -extern int set_px_pminfo(uint32_t cpu, struct xen_processor_performance *perf); -extern long set_cx_pminfo(uint32_t cpu, struct xen_processor_power *power); - static long cpu_frequency_change_helper(void *data) { return cpu_frequency_change(this_cpu(freq)); diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/smpboot.c --- a/xen/arch/x86/smpboot.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/smpboot.c Thu May 26 12:18:55 2011 +0100 @@ -213,7 +213,6 @@ void smp_callin(void) if ( (rc = hvm_cpu_up()) != 0 ) { - extern void (*dead_idle) (void); printk("CPU%d: Failed to initialise HVM. Not coming online.\n", cpu); cpu_error = rc; clear_local_APIC(); @@ -840,7 +839,6 @@ remove_siblinginfo(int cpu) void __cpu_disable(void) { - extern void fixup_irqs(void); int cpu = smp_processor_id(); set_cpu_state(CPU_STATE_DYING); diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/sysctl.c --- a/xen/arch/x86/sysctl.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/sysctl.c Thu May 26 12:18:55 2011 +0100 @@ -11,6 +11,7 @@ #include <xen/lib.h> #include <xen/mm.h> #include <xen/guest_access.h> +#include <xen/hypercall.h> #include <public/sysctl.h> #include <xen/sched.h> #include <xen/event.h> @@ -56,8 +57,6 @@ long cpu_down_helper(void *data) return ret; } -extern int __node_distance(int a, int b); - long arch_do_sysctl( struct xen_sysctl *sysctl, XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl) { diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/traps.c --- a/xen/arch/x86/traps.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/traps.c Thu May 26 12:18:55 2011 +0100 @@ -69,6 +69,7 @@ #include <asm/hypercall.h> #include <asm/mce.h> #include <asm/apic.h> +#include <asm/hpet.h> #include <public/arch-x86/cpuid.h> /* @@ -1634,8 +1635,6 @@ static uint32_t guest_io_read( return data; } -extern void (*pv_rtc_handler)(unsigned int port, uint8_t value); - static void guest_io_write( unsigned int port, unsigned int bytes, uint32_t data, struct vcpu *v, struct cpu_user_regs *regs) diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/x86_32/traps.c --- a/xen/arch/x86/x86_32/traps.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/x86_32/traps.c Thu May 26 12:18:55 2011 +0100 @@ -21,8 +21,6 @@ #include <public/callback.h> -extern asmlinkage int hypercall(void); - static void print_xen_info(void) { char taint_str[TAINT_STRING_MAX_LEN]; diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/x86_64/cpu_idle.c --- a/xen/arch/x86/x86_64/cpu_idle.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/x86_64/cpu_idle.c Thu May 26 12:18:55 2011 +0100 @@ -28,6 +28,7 @@ #include <xen/types.h> #include <xen/xmalloc.h> #include <xen/guest_access.h> +#include <xen/pmstat.h> #include <compat/platform.h> CHECK_processor_csd; @@ -35,15 +36,6 @@ CHECK_processor_csd; DEFINE_XEN_GUEST_HANDLE(compat_processor_csd_t); DEFINE_XEN_GUEST_HANDLE(compat_processor_cx_t); -#define xlat_page_start ((unsigned long)COMPAT_ARG_XLAT_VIRT_BASE) -#define xlat_page_size COMPAT_ARG_XLAT_SIZE -#define xlat_page_left_size(xlat_page_current) \ - (xlat_page_start + xlat_page_size - xlat_page_current) - -#define xlat_malloc_init(xlat_page_current) do { \ - xlat_page_current = xlat_page_start; \ -} while (0) - void *xlat_malloc(unsigned long *xlat_page_current, size_t size) { void *ret; @@ -60,8 +52,6 @@ void *xlat_malloc(unsigned long *xlat_pa return ret; } -#define xlat_malloc_array(_p, _t, _c) ((_t *) xlat_malloc(&_p, sizeof(_t) * _c)) - static int copy_from_compat_state(xen_processor_cx_t *xen_state, compat_processor_cx_t *state) { @@ -78,8 +68,6 @@ static int copy_from_compat_state(xen_pr return 0; } -extern long set_cx_pminfo(uint32_t cpu, struct xen_processor_power *power); - long compat_set_cx_pminfo(uint32_t cpu, struct compat_processor_power *power) { struct xen_processor_power *xen_power; diff -r 08a17b468c17 -r c979d508e814 xen/arch/x86/x86_64/cpufreq.c --- a/xen/arch/x86/x86_64/cpufreq.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/arch/x86/x86_64/cpufreq.c Thu May 26 12:18:55 2011 +0100 @@ -25,23 +25,11 @@ #include <xen/types.h> #include <xen/xmalloc.h> #include <xen/guest_access.h> +#include <xen/pmstat.h> #include <compat/platform.h> DEFINE_XEN_GUEST_HANDLE(compat_processor_px_t); -#define xlat_page_start ((unsigned long)COMPAT_ARG_XLAT_VIRT_BASE) - -#define xlat_malloc_init(xlat_page_current) do { \ - xlat_page_current = xlat_page_start; \ -} while (0) - -extern void *xlat_malloc(unsigned long *xlat_page_current, size_t size); - -#define xlat_malloc_array(_p, _t, _c) ((_t *) xlat_malloc(&_p, sizeof(_t) * _c)) - -extern int -set_px_pminfo(uint32_t cpu, struct xen_processor_performance *perf); - int compat_set_px_pminfo(uint32_t cpu, struct compat_processor_performance *perf) { diff -r 08a17b468c17 -r c979d508e814 xen/common/cpupool.c --- a/xen/common/cpupool.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/common/cpupool.c Thu May 26 12:18:55 2011 +0100 @@ -582,8 +582,6 @@ int cpupool_do_sysctl(struct xen_sysctl_ return ret; } -void schedule_dump(struct cpupool *c); - void dump_runq(unsigned char key) { unsigned long flags; diff -r 08a17b468c17 -r c979d508e814 xen/common/domctl.c --- a/xen/common/domctl.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/common/domctl.c Thu May 26 12:18:55 2011 +0100 @@ -22,15 +22,13 @@ #include <xen/guest_access.h> #include <xen/bitmap.h> #include <xen/paging.h> +#include <xen/hypercall.h> #include <asm/current.h> #include <public/domctl.h> #include <xsm/xsm.h> static DEFINE_SPINLOCK(domctl_lock); -extern long arch_do_domctl( - struct xen_domctl *op, XEN_GUEST_HANDLE(xen_domctl_t) u_domctl); - int cpumask_to_xenctl_cpumap( struct xenctl_cpumap *xenctl_cpumap, cpumask_t *cpumask) { diff -r 08a17b468c17 -r c979d508e814 xen/common/kernel.c --- a/xen/common/kernel.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/common/kernel.c Thu May 26 12:18:55 2011 +0100 @@ -18,6 +18,7 @@ #include <public/version.h> #ifdef CONFIG_X86 #include <asm/shared.h> +#include <asm/setup.h> #endif #ifndef COMPAT @@ -237,7 +238,6 @@ DO(xen_version)(int cmd, XEN_GUEST_HANDL case XENVER_capabilities: { xen_capabilities_info_t info; - extern void arch_get_xen_caps(xen_capabilities_info_t *info); memset(info, 0, sizeof(info)); arch_get_xen_caps(&info); diff -r 08a17b468c17 -r c979d508e814 xen/common/keyhandler.c --- a/xen/common/keyhandler.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/common/keyhandler.c Thu May 26 12:18:55 2011 +0100 @@ -14,6 +14,7 @@ #include <xen/rangeset.h> #include <xen/compat.h> #include <xen/ctype.h> +#include <xen/perfc.h> #include <asm/debugger.h> #include <asm/div64.h> @@ -403,7 +404,6 @@ static struct keyhandler read_clocks_key .desc = "display multi-cpu clock info" }; -extern void dump_runq(unsigned char key); static struct keyhandler dump_runq_keyhandler = { .diagnostic = 1, .u.fn = dump_runq, @@ -411,13 +411,11 @@ static struct keyhandler dump_runq_keyha }; #ifdef PERF_COUNTERS -extern void perfc_printall(unsigned char key); static struct keyhandler perfc_printall_keyhandler = { .diagnostic = 1, .u.fn = perfc_printall, .desc = "print performance counters" }; -extern void perfc_reset(unsigned char key); static struct keyhandler perfc_reset_keyhandler = { .u.fn = perfc_reset, .desc = "reset performance counters" @@ -425,13 +423,11 @@ static struct keyhandler perfc_reset_key #endif #ifdef LOCK_PROFILE -extern void spinlock_profile_printall(unsigned char key); static struct keyhandler spinlock_printall_keyhandler = { .diagnostic = 1, .u.fn = spinlock_profile_printall, .desc = "print lock profile info" }; -extern void spinlock_profile_reset(unsigned char key); static struct keyhandler spinlock_reset_keyhandler = { .u.fn = spinlock_profile_reset, .desc = "reset lock profile info" diff -r 08a17b468c17 -r c979d508e814 xen/common/sysctl.c --- a/xen/common/sysctl.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/common/sysctl.c Thu May 26 12:18:55 2011 +0100 @@ -27,12 +27,6 @@ #include <xsm/xsm.h> #include <xen/pmstat.h> -extern long arch_do_sysctl( - struct xen_sysctl *op, XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl); -#ifdef LOCK_PROFILE -extern int spinlock_profile_control(xen_sysctl_lockprof_op_t *pc); -#endif - long do_sysctl(XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl) { long ret = 0; diff -r 08a17b468c17 -r c979d508e814 xen/drivers/passthrough/io.c --- a/xen/drivers/passthrough/io.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/drivers/passthrough/io.c Thu May 26 12:18:55 2011 +0100 @@ -452,7 +452,6 @@ void hvm_dpci_msi_eoi(struct domain *d, spin_unlock(&d->event_lock); } -extern int vmsi_deliver(struct domain *d, int pirq); static int hvm_pci_msi_assert(struct domain *d, int pirq) { if ( hvm_domain_use_pirq(d, pirq) ) diff -r 08a17b468c17 -r c979d508e814 xen/drivers/passthrough/vtd/x86/vtd.c --- a/xen/drivers/passthrough/vtd/x86/vtd.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/drivers/passthrough/vtd/x86/vtd.c Thu May 26 12:18:55 2011 +0100 @@ -25,6 +25,7 @@ #include <xen/iommu.h> #include <xen/numa.h> #include <asm/fixmap.h> +#include <asm/setup.h> #include "../iommu.h" #include "../dmar.h" #include "../vtd.h" @@ -113,7 +114,6 @@ void hvm_dpci_isairq_eoi(struct domain * void __init iommu_set_dom0_mapping(struct domain *d) { unsigned long i, j, tmp, top; - extern int xen_in_range(unsigned long mfn); BUG_ON(d->domain_id != 0); diff -r 08a17b468c17 -r c979d508e814 xen/include/asm-x86/acpi.h --- a/xen/include/asm-x86/acpi.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/asm-x86/acpi.h Thu May 26 12:18:55 2011 +0100 @@ -150,6 +150,7 @@ void acpi_mmcfg_init(void); extern uint32_t system_reset_counter; void hvm_acpi_power_button(struct domain *d); +void hvm_acpi_sleep_button(struct domain *d); /* suspend/resume */ void save_rest_processor_state(void); diff -r 08a17b468c17 -r c979d508e814 xen/include/asm-x86/debugger.h --- a/xen/include/asm-x86/debugger.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/asm-x86/debugger.h Thu May 26 12:18:55 2011 +0100 @@ -77,4 +77,9 @@ static inline int debugger_trap_entry( return 0; } +typedef unsigned long dbgva_t; +typedef unsigned char dbgbyte_t; +extern int dbg_rw_mem(dbgva_t addr, dbgbyte_t *buf, int len, + domid_t domid, int toaddr, uint64_t pgd3); + #endif /* __X86_DEBUGGER_H__ */ diff -r 08a17b468c17 -r c979d508e814 xen/include/asm-x86/hap.h --- a/xen/include/asm-x86/hap.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/asm-x86/hap.h Thu May 26 12:18:55 2011 +0100 @@ -97,6 +97,8 @@ int hap_track_dirty_vram(struct domain unsigned long nr, XEN_GUEST_HANDLE_64(uint8) dirty_bitmap); +extern const struct paging_mode *hap_paging_get_mode(struct vcpu *); + #endif /* XEN_HAP_H */ /* diff -r 08a17b468c17 -r c979d508e814 xen/include/asm-x86/hpet.h --- a/xen/include/asm-x86/hpet.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/asm-x86/hpet.h Thu May 26 12:18:55 2011 +0100 @@ -74,4 +74,6 @@ void hpet_broadcast_exit(void); int hpet_broadcast_is_available(void); void hpet_disable_legacy_broadcast(void); +extern void (*pv_rtc_handler)(unsigned int port, uint8_t value); + #endif /* __X86_HPET_H__ */ diff -r 08a17b468c17 -r c979d508e814 xen/include/asm-x86/hvm/hvm.h --- a/xen/include/asm-x86/hvm/hvm.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/asm-x86/hvm/hvm.h Thu May 26 12:18:55 2011 +0100 @@ -174,6 +174,10 @@ struct hvm_function_table { extern struct hvm_function_table hvm_funcs; extern bool_t hvm_enabled; extern bool_t cpu_has_lmsl; +extern s8 hvm_port80_allowed; + +extern struct hvm_function_table *start_svm(void); +extern struct hvm_function_table *start_vmx(void); int hvm_domain_initialise(struct domain *d); void hvm_domain_relinquish_resources(struct domain *d); @@ -195,6 +199,7 @@ void hvm_init_guest_time(struct domain * void hvm_set_guest_time(struct vcpu *v, u64 guest_time); u64 hvm_get_guest_time(struct vcpu *v); +int vmsi_deliver(struct domain *d, int pirq); int hvm_girq_dest_2_vcpu_id(struct domain *d, uint8_t dest, uint8_t dest_mode); #define hvm_paging_enabled(v) \ diff -r 08a17b468c17 -r c979d508e814 xen/include/asm-x86/hypercall.h --- a/xen/include/asm-x86/hypercall.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/asm-x86/hypercall.h Thu May 26 12:18:55 2011 +0100 @@ -101,6 +101,11 @@ arch_do_domctl( struct xen_domctl *domctl, XEN_GUEST_HANDLE(xen_domctl_t) u_domctl); +extern long +arch_do_sysctl( + struct xen_sysctl *op, + XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl); + extern int do_kexec( unsigned long op, unsigned arg1, XEN_GUEST_HANDLE(void) uarg); diff -r 08a17b468c17 -r c979d508e814 xen/include/asm-x86/io.h --- a/xen/include/asm-x86/io.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/asm-x86/io.h Thu May 26 12:18:55 2011 +0100 @@ -52,4 +52,8 @@ __OUT(l,,int) extern void (*pv_post_outb_hook)(unsigned int port, u8 value); +/* Function pointer used to handle platform specific I/O port emulation. */ +extern void (*ioemul_handle_quirk)( + u8 opcode, char *io_emul_stub, struct cpu_user_regs *regs); + #endif diff -r 08a17b468c17 -r c979d508e814 xen/include/asm-x86/io_apic.h --- a/xen/include/asm-x86/io_apic.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/asm-x86/io_apic.h Thu May 26 12:18:55 2011 +0100 @@ -198,6 +198,8 @@ extern void init_ioapic_mappings(void); extern void ioapic_suspend(void); extern void ioapic_resume(void); +extern void dump_ioapic_irq_info(void); + extern struct IO_APIC_route_entry **alloc_ioapic_entries(void); extern void free_ioapic_entries(struct IO_APIC_route_entry **ioapic_entries); extern int save_IO_APIC_setup(struct IO_APIC_route_entry **ioapic_entries); @@ -215,4 +217,7 @@ extern int free_irq_vector(int vector); unsigned highest_gsi(void); +int ioapic_guest_read( unsigned long physbase, unsigned int reg, u32 *pval); +int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 pval); + #endif diff -r 08a17b468c17 -r c979d508e814 xen/include/asm-x86/irq.h --- a/xen/include/asm-x86/irq.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/asm-x86/irq.h Thu May 26 12:18:55 2011 +0100 @@ -116,6 +116,9 @@ int map_domain_emuirq_pirq(struct domain int unmap_domain_pirq_emuirq(struct domain *d, int pirq); int hvm_domain_use_pirq(struct domain *d, int irq); +/* A cpu has been removed from cpu_online_mask. Re-set irq affinities. */ +void fixup_irqs(void); + int init_irq_data(void); void clear_irq_vector(int irq); diff -r 08a17b468c17 -r c979d508e814 xen/include/asm-x86/numa.h --- a/xen/include/asm-x86/numa.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/asm-x86/numa.h Thu May 26 12:18:55 2011 +0100 @@ -83,5 +83,6 @@ extern int valid_numa_range(u64 start, u #endif void srat_parse_regions(u64 addr); +extern int __node_distance(int a, int b); #endif diff -r 08a17b468c17 -r c979d508e814 xen/include/asm-x86/p2m.h --- a/xen/include/asm-x86/p2m.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/asm-x86/p2m.h Thu May 26 12:18:55 2011 +0100 @@ -666,6 +666,31 @@ static inline int p2m_gfn_check_limit( int set_p2m_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn, unsigned int page_order, p2m_type_t p2mt, p2m_access_t p2ma); +/* Set up function pointers for PT implementation: only for use by p2m code */ +extern void p2m_pt_init(struct p2m_domain *p2m); + +/* Debugging and auditing of the P2M code? */ +#define P2M_AUDIT 0 +#define P2M_DEBUGGING 0 + +#if P2M_AUDIT +extern void audit_p2m(struct p2m_domain *p2m, int strict_m2p); +#else +# define audit_p2m(_p2m, _m2p) do { (void)(_p2m),(_m2p); } while (0) +#endif /* P2M_AUDIT */ + +/* Printouts */ +#define P2M_PRINTK(_f, _a...) \ + debugtrace_printk("p2m: %s(): " _f, __func__, ##_a) +#define P2M_ERROR(_f, _a...) \ + printk("pg error: %s(): " _f, __func__, ##_a) +#if P2M_DEBUGGING +#define P2M_DEBUG(_f, _a...) \ + debugtrace_printk("p2mdebug: %s(): " _f, __func__, ##_a) +#else +#define P2M_DEBUG(_f, _a...) do { (void)(_f); } while(0) +#endif + #endif /* _XEN_P2M_H */ /* diff -r 08a17b468c17 -r c979d508e814 xen/include/asm-x86/processor.h --- a/xen/include/asm-x86/processor.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/asm-x86/processor.h Thu May 26 12:18:55 2011 +0100 @@ -580,6 +580,7 @@ DECLARE_TRAP_HANDLER(machine_check); DECLARE_TRAP_HANDLER(alignment_check); DECLARE_TRAP_HANDLER(spurious_interrupt_bug); #undef DECLARE_TRAP_HANDLER +extern asmlinkage int hypercall(void); int cpuid_hypervisor_leaves( uint32_t idx, uint32_t sub_idx, uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx); diff -r 08a17b468c17 -r c979d508e814 xen/include/asm-x86/setup.h --- a/xen/include/asm-x86/setup.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/asm-x86/setup.h Thu May 26 12:18:55 2011 +0100 @@ -2,6 +2,7 @@ #define __X86_SETUP_H_ #include <xen/multiboot.h> +#include <public/version.h> extern bool_t early_boot; extern unsigned long xenheap_initial_phys_start; @@ -38,4 +39,7 @@ int construct_dom0( unsigned long initial_images_nrpages(void); void discard_initial_images(void); +int xen_in_range(unsigned long mfn); +void arch_get_xen_caps(xen_capabilities_info_t *info); + #endif diff -r 08a17b468c17 -r c979d508e814 xen/include/asm-x86/shadow.h --- a/xen/include/asm-x86/shadow.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/asm-x86/shadow.h Thu May 26 12:18:55 2011 +0100 @@ -115,6 +115,9 @@ static inline void shadow_remove_all_sha sh_remove_shadows(v, gmfn, 0 /* Be thorough */, 1 /* Must succeed */); } +/* Discard _all_ mappings from the domain''s shadows. */ +void shadow_blow_tables_per_domain(struct domain *d); + #endif /* _XEN_SHADOW_H */ /* diff -r 08a17b468c17 -r c979d508e814 xen/include/asm-x86/x86_64/uaccess.h --- a/xen/include/asm-x86/x86_64/uaccess.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/asm-x86/x86_64/uaccess.h Thu May 26 12:18:55 2011 +0100 @@ -14,6 +14,19 @@ void free_compat_arg_xlat(struct vcpu *v ((__off + (unsigned long)(size)) <= COMPAT_ARG_XLAT_SIZE); \ }) +#define xlat_page_start ((unsigned long)COMPAT_ARG_XLAT_VIRT_BASE) +#define xlat_page_size COMPAT_ARG_XLAT_SIZE +#define xlat_page_left_size(xlat_page_current) \ + (xlat_page_start + xlat_page_size - xlat_page_current) + +#define xlat_malloc_init(xlat_page_current) do { \ + xlat_page_current = xlat_page_start; \ +} while (0) + +extern void *xlat_malloc(unsigned long *xlat_page_current, size_t size); + +#define xlat_malloc_array(_p, _t, _c) ((_t *) xlat_malloc(&_p, sizeof(_t) * _c)) + /* * Valid if in +ve half of 48-bit address space, or above Xen-reserved area. * This is also valid for range checks (addr, addr+size). As long as the diff -r 08a17b468c17 -r c979d508e814 xen/include/xen/cpuidle.h --- a/xen/include/xen/cpuidle.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/xen/cpuidle.h Thu May 26 12:18:55 2011 +0100 @@ -95,4 +95,6 @@ extern void cpuidle_wakeup_mwait(cpumask #define CPUIDLE_DRIVER_STATE_START 1 +extern void menu_get_trace_data(u32 *expected, u32 *pred); + #endif /* _XEN_CPUIDLE_H */ diff -r 08a17b468c17 -r c979d508e814 xen/include/xen/kexec.h --- a/xen/include/xen/kexec.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/xen/kexec.h Thu May 26 12:18:55 2011 +0100 @@ -34,6 +34,12 @@ void kexec_crash_save_cpu(void); crash_xen_info_t *kexec_crash_save_info(void); void machine_crash_shutdown(void); int machine_kexec_get(xen_kexec_range_t *range); +int machine_kexec_get_xen(xen_kexec_range_t *range); + +void compat_machine_kexec(unsigned long rnk, + unsigned long indirection_page, + unsigned long *page_list, + unsigned long start_address); /* vmcoreinfo stuff */ #define VMCOREINFO_BYTES (4096) diff -r 08a17b468c17 -r c979d508e814 xen/include/xen/pci.h --- a/xen/include/xen/pci.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/xen/pci.h Thu May 26 12:18:55 2011 +0100 @@ -119,6 +119,7 @@ int pci_find_ext_capability(int seg, int int msixtbl_pt_register(struct domain *d, int pirq, uint64_t gtable); void msixtbl_pt_unregister(struct domain *d, int pirq); +void msixtbl_pt_cleanup(struct domain *d); void pci_enable_acs(struct pci_dev *pdev); #endif /* __XEN_PCI_H__ */ diff -r 08a17b468c17 -r c979d508e814 xen/include/xen/perfc.h --- a/xen/include/xen/perfc.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/xen/perfc.h Thu May 26 12:18:55 2011 +0100 @@ -95,6 +95,10 @@ DECLARE_PER_CPU(perfc_t[NUM_PERFCOUNTERS struct xen_sysctl_perfc_op; int perfc_control(struct xen_sysctl_perfc_op *); + +extern void perfc_printall(unsigned char key); +extern void perfc_reset(unsigned char key); + #else /* PERF_COUNTERS */ diff -r 08a17b468c17 -r c979d508e814 xen/include/xen/pmstat.h --- a/xen/include/xen/pmstat.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/xen/pmstat.h Thu May 26 12:18:55 2011 +0100 @@ -5,6 +5,7 @@ #include <public/platform.h> /* for struct xen_processor_power */ #include <public/sysctl.h> /* for struct pm_cx_stat */ +int set_px_pminfo(uint32_t cpu, struct xen_processor_performance *perf); long set_cx_pminfo(uint32_t cpu, struct xen_processor_power *power); uint32_t pmstat_get_cx_nr(uint32_t cpuid); int pmstat_get_cx_stat(uint32_t cpuid, struct pm_cx_stat *stat); diff -r 08a17b468c17 -r c979d508e814 xen/include/xen/sched.h --- a/xen/include/xen/sched.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/xen/sched.h Thu May 26 12:18:55 2011 +0100 @@ -534,6 +534,9 @@ void continue_running( struct vcpu *same); void startup_cpu_idle_loop(void); +extern void (*pm_idle) (void); +extern void (*dead_idle) (void); + /* * Creates a continuation to resume the current hypercall. The caller should @@ -653,6 +656,9 @@ void cpupool_put(struct cpupool *pool); int cpupool_add_domain(struct domain *d, int poolid); void cpupool_rm_domain(struct domain *d); int cpupool_do_sysctl(struct xen_sysctl_cpupool_op *op); +void schedule_dump(struct cpupool *c); +extern void dump_runq(unsigned char key); + #define num_cpupool_cpus(c) (cpus_weight((c)->cpu_valid)) #endif /* __SCHED_H__ */ diff -r 08a17b468c17 -r c979d508e814 xen/include/xen/spinlock.h --- a/xen/include/xen/spinlock.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/xen/spinlock.h Thu May 26 12:18:55 2011 +0100 @@ -98,6 +98,10 @@ void _lock_profile_deregister_struct(int #define lock_profile_deregister_struct(type, ptr) \ _lock_profile_deregister_struct(type, &((ptr)->profile_head)) +extern int spinlock_profile_control(xen_sysctl_lockprof_op_t *pc); +extern void spinlock_profile_printall(unsigned char key); +extern void spinlock_profile_reset(unsigned char key); + #else struct lock_profile { }; diff -r 08a17b468c17 -r c979d508e814 xen/include/xsm/xsm.h --- a/xen/include/xsm/xsm.h Thu May 26 08:21:00 2011 +0100 +++ b/xen/include/xsm/xsm.h Thu May 26 12:18:55 2011 +0100 @@ -636,4 +636,7 @@ static inline int xsm_vcpuextstate(struc } #endif /* CONFIG_X86 */ +extern struct xsm_operations dummy_xsm_ops; +extern void xsm_fixup_ops(struct xsm_operations *ops); + #endif /* __XSM_H */ diff -r 08a17b468c17 -r c979d508e814 xen/xsm/xsm_core.c --- a/xen/xsm/xsm_core.c Thu May 26 08:21:00 2011 +0100 +++ b/xen/xsm/xsm_core.c Thu May 26 12:18:55 2011 +0100 @@ -21,9 +21,6 @@ #define XSM_FRAMEWORK_VERSION "1.0.0" -extern struct xsm_operations dummy_xsm_ops; -extern void xsm_fixup_ops(struct xsm_operations *ops); - struct xsm_operations *xsm_ops; static inline int verify(struct xsm_operations *ops) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel