direct-io.hg
changeset 6480:1b9f23175fa8
Add some more EXPORT_SYMBOLs for Xen-defined stuff.
Based on a patch from Ross Mcilroy.
Based on a patch from Ross Mcilroy.
author | kaf24@firebug.cl.cam.ac.uk |
---|---|
date | Tue Aug 30 17:09:43 2005 +0000 (2005-08-30) |
parents | a66a41032226 |
children | 551870a55f24 |
files | linux-2.6-xen-sparse/arch/xen/kernel/evtchn.c linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c |
line diff
1.1 --- a/linux-2.6-xen-sparse/arch/xen/kernel/evtchn.c Tue Aug 30 17:00:26 2005 +0000 1.2 +++ b/linux-2.6-xen-sparse/arch/xen/kernel/evtchn.c Tue Aug 30 17:09:43 2005 +0000 1.3 @@ -44,13 +44,6 @@ 1.4 #include <asm-xen/hypervisor.h> 1.5 #include <asm-xen/evtchn.h> 1.6 1.7 -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) 1.8 -EXPORT_SYMBOL(force_evtchn_callback); 1.9 -EXPORT_SYMBOL(evtchn_do_upcall); 1.10 -EXPORT_SYMBOL(bind_evtchn_to_irq); 1.11 -EXPORT_SYMBOL(unbind_evtchn_from_irq); 1.12 -#endif 1.13 - 1.14 /* 1.15 * This lock protects updates to the following mapping and reference-count 1.16 * arrays. The lock does not need to be acquired to read the mapping tables. 1.17 @@ -133,6 +126,7 @@ void force_evtchn_callback(void) 1.18 { 1.19 (void)HYPERVISOR_xen_version(0); 1.20 } 1.21 +EXPORT_SYMBOL(force_evtchn_callback); 1.22 1.23 /* NB. Interrupts are disabled on entry. */ 1.24 asmlinkage void evtchn_do_upcall(struct pt_regs *regs) 1.25 @@ -165,6 +159,7 @@ asmlinkage void evtchn_do_upcall(struct 1.26 } 1.27 } 1.28 } 1.29 +EXPORT_SYMBOL(evtchn_do_upcall); 1.30 1.31 static int find_unbound_irq(void) 1.32 { 1.33 @@ -211,6 +206,7 @@ int bind_virq_to_irq(int virq) 1.34 1.35 return irq; 1.36 } 1.37 +EXPORT_SYMBOL(bind_virq_to_irq); 1.38 1.39 void unbind_virq_from_irq(int virq) 1.40 { 1.41 @@ -244,6 +240,7 @@ void unbind_virq_from_irq(int virq) 1.42 1.43 spin_unlock(&irq_mapping_update_lock); 1.44 } 1.45 +EXPORT_SYMBOL(unbind_virq_from_irq); 1.46 1.47 int bind_ipi_to_irq(int ipi) 1.48 { 1.49 @@ -279,6 +276,7 @@ int bind_ipi_to_irq(int ipi) 1.50 1.51 return irq; 1.52 } 1.53 +EXPORT_SYMBOL(bind_ipi_to_irq); 1.54 1.55 void unbind_ipi_from_irq(int ipi) 1.56 { 1.57 @@ -306,6 +304,7 @@ void unbind_ipi_from_irq(int ipi) 1.58 1.59 spin_unlock(&irq_mapping_update_lock); 1.60 } 1.61 +EXPORT_SYMBOL(unbind_ipi_from_irq); 1.62 1.63 int bind_evtchn_to_irq(unsigned int evtchn) 1.64 { 1.65 @@ -326,6 +325,7 @@ int bind_evtchn_to_irq(unsigned int evtc 1.66 1.67 return irq; 1.68 } 1.69 +EXPORT_SYMBOL(bind_evtchn_to_irq); 1.70 1.71 void unbind_evtchn_from_irq(unsigned int evtchn) 1.72 { 1.73 @@ -341,6 +341,7 @@ void unbind_evtchn_from_irq(unsigned int 1.74 1.75 spin_unlock(&irq_mapping_update_lock); 1.76 } 1.77 +EXPORT_SYMBOL(unbind_evtchn_from_irq); 1.78 1.79 int bind_evtchn_to_irqhandler( 1.80 unsigned int evtchn, 1.81 @@ -359,6 +360,7 @@ int bind_evtchn_to_irqhandler( 1.82 1.83 return retval; 1.84 } 1.85 +EXPORT_SYMBOL(bind_evtchn_to_irqhandler); 1.86 1.87 void unbind_evtchn_from_irqhandler(unsigned int evtchn, void *dev_id) 1.88 { 1.89 @@ -366,6 +368,7 @@ void unbind_evtchn_from_irqhandler(unsig 1.90 free_irq(irq, dev_id); 1.91 unbind_evtchn_from_irq(evtchn); 1.92 } 1.93 +EXPORT_SYMBOL(unbind_evtchn_from_irqhandler); 1.94 1.95 #ifdef CONFIG_SMP 1.96 static void do_nothing_function(void *ign)
2.1 --- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c Tue Aug 30 17:00:26 2005 +0000 2.2 +++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c Tue Aug 30 17:09:43 2005 +0000 2.3 @@ -45,7 +45,9 @@ 2.4 2.5 static char printf_buffer[4096]; 2.6 static LIST_HEAD(watches); 2.7 + 2.8 DECLARE_MUTEX(xenbus_lock); 2.9 +EXPORT_SYMBOL(xenbus_lock); 2.10 2.11 static int get_error(const char *errorstring) 2.12 { 2.13 @@ -224,6 +226,7 @@ char **xenbus_directory(const char *dir, 2.14 ret[(*num)++] = p; 2.15 return ret; 2.16 } 2.17 +EXPORT_SYMBOL(xenbus_directory); 2.18 2.19 /* Check if a path exists. Return 1 if it does. */ 2.20 int xenbus_exists(const char *dir, const char *node) 2.21 @@ -237,6 +240,7 @@ int xenbus_exists(const char *dir, const 2.22 kfree(d); 2.23 return 1; 2.24 } 2.25 +EXPORT_SYMBOL(xenbus_exists); 2.26 2.27 /* Get the value of a single file. 2.28 * Returns a kmalloced value: call free() on it after use. 2.29 @@ -277,18 +281,21 @@ int xenbus_write(const char *dir, const 2.30 2.31 return xs_error(xs_talkv(XS_WRITE, iovec, ARRAY_SIZE(iovec), NULL)); 2.32 } 2.33 +EXPORT_SYMBOL(xenbus_write); 2.34 2.35 /* Create a new directory. */ 2.36 int xenbus_mkdir(const char *dir, const char *node) 2.37 { 2.38 return xs_error(xs_single(XS_MKDIR, join(dir, node), NULL)); 2.39 } 2.40 +EXPORT_SYMBOL(xenbus_mkdir); 2.41 2.42 /* Destroy a file or directory (directories must be empty). */ 2.43 int xenbus_rm(const char *dir, const char *node) 2.44 { 2.45 return xs_error(xs_single(XS_RM, join(dir, node), NULL)); 2.46 } 2.47 +EXPORT_SYMBOL(xenbus_rm); 2.48 2.49 /* Start a transaction: changes by others will not be seen during this 2.50 * transaction, and changes will not be visible to others until end.