WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH] xen: remove extern function declarations from C file

To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH] xen: remove extern function declarations from C files
From: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Date: Thu, 26 May 2011 12:20:48 +0100
Delivery-date: Thu, 26 May 2011 04:21:36 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mercurial-patchbomb/1.8.3
# HG changeset patch
# User Tim Deegan <Tim.Deegan@xxxxxxxxxx>
# 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@xxxxxxxxxx>

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@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH] xen: remove extern function declarations from C files, Tim Deegan <=