# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 1b9f23175fa8f37814a4949aadac1d680004a925
# Parent a66a41032226503302ec390a158b38d8a5632c8a
Add some more EXPORT_SYMBOLs for Xen-defined stuff.
Based on a patch from Ross Mcilroy.
diff -r a66a41032226 -r 1b9f23175fa8
linux-2.6-xen-sparse/arch/xen/kernel/evtchn.c
--- a/linux-2.6-xen-sparse/arch/xen/kernel/evtchn.c Tue Aug 30 17:00:26 2005
+++ b/linux-2.6-xen-sparse/arch/xen/kernel/evtchn.c Tue Aug 30 17:09:43 2005
@@ -44,13 +44,6 @@
#include <asm-xen/hypervisor.h>
#include <asm-xen/evtchn.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
-EXPORT_SYMBOL(force_evtchn_callback);
-EXPORT_SYMBOL(evtchn_do_upcall);
-EXPORT_SYMBOL(bind_evtchn_to_irq);
-EXPORT_SYMBOL(unbind_evtchn_from_irq);
-#endif
-
/*
* This lock protects updates to the following mapping and reference-count
* arrays. The lock does not need to be acquired to read the mapping tables.
@@ -133,6 +126,7 @@
{
(void)HYPERVISOR_xen_version(0);
}
+EXPORT_SYMBOL(force_evtchn_callback);
/* NB. Interrupts are disabled on entry. */
asmlinkage void evtchn_do_upcall(struct pt_regs *regs)
@@ -165,6 +159,7 @@
}
}
}
+EXPORT_SYMBOL(evtchn_do_upcall);
static int find_unbound_irq(void)
{
@@ -211,6 +206,7 @@
return irq;
}
+EXPORT_SYMBOL(bind_virq_to_irq);
void unbind_virq_from_irq(int virq)
{
@@ -244,6 +240,7 @@
spin_unlock(&irq_mapping_update_lock);
}
+EXPORT_SYMBOL(unbind_virq_from_irq);
int bind_ipi_to_irq(int ipi)
{
@@ -279,6 +276,7 @@
return irq;
}
+EXPORT_SYMBOL(bind_ipi_to_irq);
void unbind_ipi_from_irq(int ipi)
{
@@ -306,6 +304,7 @@
spin_unlock(&irq_mapping_update_lock);
}
+EXPORT_SYMBOL(unbind_ipi_from_irq);
int bind_evtchn_to_irq(unsigned int evtchn)
{
@@ -326,6 +325,7 @@
return irq;
}
+EXPORT_SYMBOL(bind_evtchn_to_irq);
void unbind_evtchn_from_irq(unsigned int evtchn)
{
@@ -341,6 +341,7 @@
spin_unlock(&irq_mapping_update_lock);
}
+EXPORT_SYMBOL(unbind_evtchn_from_irq);
int bind_evtchn_to_irqhandler(
unsigned int evtchn,
@@ -359,6 +360,7 @@
return retval;
}
+EXPORT_SYMBOL(bind_evtchn_to_irqhandler);
void unbind_evtchn_from_irqhandler(unsigned int evtchn, void *dev_id)
{
@@ -366,6 +368,7 @@
free_irq(irq, dev_id);
unbind_evtchn_from_irq(evtchn);
}
+EXPORT_SYMBOL(unbind_evtchn_from_irqhandler);
#ifdef CONFIG_SMP
static void do_nothing_function(void *ign)
diff -r a66a41032226 -r 1b9f23175fa8
linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c
--- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c Tue Aug 30
17:00:26 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c Tue Aug 30
17:09:43 2005
@@ -45,7 +45,9 @@
static char printf_buffer[4096];
static LIST_HEAD(watches);
+
DECLARE_MUTEX(xenbus_lock);
+EXPORT_SYMBOL(xenbus_lock);
static int get_error(const char *errorstring)
{
@@ -224,6 +226,7 @@
ret[(*num)++] = p;
return ret;
}
+EXPORT_SYMBOL(xenbus_directory);
/* Check if a path exists. Return 1 if it does. */
int xenbus_exists(const char *dir, const char *node)
@@ -237,6 +240,7 @@
kfree(d);
return 1;
}
+EXPORT_SYMBOL(xenbus_exists);
/* Get the value of a single file.
* Returns a kmalloced value: call free() on it after use.
@@ -277,18 +281,21 @@
return xs_error(xs_talkv(XS_WRITE, iovec, ARRAY_SIZE(iovec), NULL));
}
+EXPORT_SYMBOL(xenbus_write);
/* Create a new directory. */
int xenbus_mkdir(const char *dir, const char *node)
{
return xs_error(xs_single(XS_MKDIR, join(dir, node), NULL));
}
+EXPORT_SYMBOL(xenbus_mkdir);
/* Destroy a file or directory (directories must be empty). */
int xenbus_rm(const char *dir, const char *node)
{
return xs_error(xs_single(XS_RM, join(dir, node), NULL));
}
+EXPORT_SYMBOL(xenbus_rm);
/* Start a transaction: changes by others will not be seen during this
* transaction, and changes will not be visible to others until end.
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|