[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [linux-2.6.18-xen] merge with linux-2.6.18-xen.hg (staging)



# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1189454368 21600
# Node ID 099625b07ae7ea3343b7842b2148dc2125ca14eb
# Parent  8aa8af371be0e9c46b22615ba7e8990ed738ea12
# Parent  42d2c2ce9b1440adc53467b1f3095671f6b9f37d
merge with linux-2.6.18-xen.hg (staging)
---
 arch/i386/kernel/setup-xen.c          |    2 -
 arch/ia64/kernel/setup.c              |    1 
 arch/powerpc/platforms/xen/setup.c    |    1 
 arch/x86_64/kernel/setup-xen.c        |    1 
 drivers/xen/console/console.c         |    6 ----
 drivers/xen/core/evtchn.c             |   50 +++++++++++++++++-----------------
 drivers/xen/evtchn/evtchn.c           |   16 +---------
 include/asm-generic/pci.h             |    2 +
 include/asm-i386/mach-xen/asm/pci.h   |    4 ++
 include/asm-x86_64/mach-xen/asm/pci.h |    4 ++
 include/xen/evtchn.h                  |    4 +-
 include/xen/xencons.h                 |    2 -
 12 files changed, 38 insertions(+), 55 deletions(-)

diff -r 8aa8af371be0 -r 099625b07ae7 arch/i386/kernel/setup-xen.c
--- a/arch/i386/kernel/setup-xen.c      Fri Sep 07 13:57:35 2007 -0600
+++ b/arch/i386/kernel/setup-xen.c      Mon Sep 10 13:59:28 2007 -0600
@@ -1897,8 +1897,6 @@ void __init setup_arch(char **cmdline_p)
 #endif
        }
        tsc_init();
-
-       xencons_early_setup();
 }
 
 static int
diff -r 8aa8af371be0 -r 099625b07ae7 arch/ia64/kernel/setup.c
--- a/arch/ia64/kernel/setup.c  Fri Sep 07 13:57:35 2007 -0600
+++ b/arch/ia64/kernel/setup.c  Mon Sep 10 13:59:28 2007 -0600
@@ -579,7 +579,6 @@ setup_arch (char **cmdline_p)
                                add_preferred_console(name, offset, NULL);
                }
        }
-       xencons_early_setup();
 #endif
 
 #ifdef CONFIG_VT
diff -r 8aa8af371be0 -r 099625b07ae7 arch/powerpc/platforms/xen/setup.c
--- a/arch/powerpc/platforms/xen/setup.c        Fri Sep 07 13:57:35 2007 -0600
+++ b/arch/powerpc/platforms/xen/setup.c        Mon Sep 10 13:59:28 2007 -0600
@@ -164,7 +164,6 @@ static void __init xenppc_init_early(voi
 
        xen_setup_time(&mach_maple_md);
 
-       xencons_early_setup();
        add_preferred_console("xvc", 0, NULL);
 
        if (get_property(xen, "power-control", NULL))
diff -r 8aa8af371be0 -r 099625b07ae7 arch/x86_64/kernel/setup-xen.c
--- a/arch/x86_64/kernel/setup-xen.c    Fri Sep 07 13:57:35 2007 -0600
+++ b/arch/x86_64/kernel/setup-xen.c    Mon Sep 10 13:59:28 2007 -0600
@@ -977,7 +977,6 @@ void __init setup_arch(char **cmdline_p)
 #endif
                 }
        }
-       xencons_early_setup();
 #else  /* CONFIG_XEN */
 
 #ifdef CONFIG_VT
diff -r 8aa8af371be0 -r 099625b07ae7 drivers/xen/console/console.c
--- a/drivers/xen/console/console.c     Fri Sep 07 13:57:35 2007 -0600
+++ b/drivers/xen/console/console.c     Mon Sep 10 13:59:28 2007 -0600
@@ -85,12 +85,6 @@ extern int sysrq_enabled;
 extern int sysrq_enabled;
 #endif
 
-void xencons_early_setup(void)
-{
-       extern int console_use_vt;
-       console_use_vt = 0;
-}
-
 static int __init xencons_setup(char *str)
 {
        char *q;
diff -r 8aa8af371be0 -r 099625b07ae7 drivers/xen/core/evtchn.c
--- a/drivers/xen/core/evtchn.c Fri Sep 07 13:57:35 2007 -0600
+++ b/drivers/xen/core/evtchn.c Mon Sep 10 13:59:28 2007 -0600
@@ -125,7 +125,7 @@ static inline unsigned long active_evtch
                ~sh->evtchn_mask[idx]);
 }
 
-void bind_evtchn_to_cpu(unsigned int chn, unsigned int cpu)
+static void bind_evtchn_to_cpu(unsigned int chn, unsigned int cpu)
 {
        shared_info_t *s = HYPERVISOR_shared_info;
        int irq = evtchn_to_irq[chn];
@@ -163,6 +163,10 @@ static inline unsigned long active_evtch
                                           unsigned int idx)
 {
        return (sh->evtchn_pending[idx] & ~sh->evtchn_mask[idx]);
+}
+
+static void bind_evtchn_to_cpu(unsigned int chn, unsigned int cpu)
+{
 }
 
 static void init_evtchn_cpu_bindings(void)
@@ -588,29 +592,27 @@ EXPORT_SYMBOL_GPL(unbind_from_irqhandler
 EXPORT_SYMBOL_GPL(unbind_from_irqhandler);
 
 #ifdef CONFIG_SMP
-/* Rebind an evtchn so that it gets delivered to a specific cpu */
-static void rebind_irq_to_cpu(unsigned irq, unsigned tcpu)
-{
-       struct evtchn_bind_vcpu bind_vcpu;
-       int evtchn = evtchn_from_irq(irq);
-
-       if (!VALID_EVTCHN(evtchn))
-               return;
-
-       /* Send future instances of this interrupt to other vcpu. */
-       bind_vcpu.port = evtchn;
-       bind_vcpu.vcpu = tcpu;
-
-       /*
-        * If this fails, it usually just indicates that we're dealing with a 
-        * virq or IPI channel, which don't actually need to be rebound. Ignore
-        * it, but don't do the xenlinux-level rebind in that case.
-        */
-       if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_vcpu, &bind_vcpu) == 0)
-               bind_evtchn_to_cpu(evtchn, tcpu);
-}
-
-static void set_affinity_irq(unsigned irq, cpumask_t dest)
+void rebind_evtchn_to_cpu(int port, unsigned int cpu)
+{
+       struct evtchn_bind_vcpu ebv = { .port = port, .vcpu = cpu };
+       int masked;
+
+       masked = test_and_set_evtchn_mask(port);
+       if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_vcpu, &ebv) == 0)
+               bind_evtchn_to_cpu(port, cpu);
+       if (!masked)
+               unmask_evtchn(port);
+}
+
+static void rebind_irq_to_cpu(unsigned int irq, unsigned int tcpu)
+{
+       int evtchn = evtchn_from_irq(irq);
+
+       if (VALID_EVTCHN(evtchn))
+               rebind_evtchn_to_cpu(evtchn, tcpu);
+}
+
+static void set_affinity_irq(unsigned int irq, cpumask_t dest)
 {
        unsigned tcpu = first_cpu(dest);
        rebind_irq_to_cpu(irq, tcpu);
diff -r 8aa8af371be0 -r 099625b07ae7 drivers/xen/evtchn/evtchn.c
--- a/drivers/xen/evtchn/evtchn.c       Fri Sep 07 13:57:35 2007 -0600
+++ b/drivers/xen/evtchn/evtchn.c       Mon Sep 10 13:59:28 2007 -0600
@@ -96,18 +96,6 @@ void evtchn_device_upcall(int port)
        spin_unlock(&port_user_lock);
 }
 
-static void evtchn_rebind_cpu(evtchn_port_t port, unsigned int cpu)
-{
-       struct evtchn_bind_vcpu ebv = { .port = port, .vcpu = cpu };
-       int masked;
-
-       masked = test_and_set_evtchn_mask(port);
-       if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_vcpu, &ebv) == 0)
-               bind_evtchn_to_cpu(port, cpu);
-       if (!masked)
-               unmask_evtchn(port);
-}
-
 static void evtchn_check_wrong_delivery(struct per_user_data *u)
 {
        evtchn_port_t port;
@@ -127,7 +115,7 @@ static void evtchn_check_wrong_delivery(
 
        for (port = 0; port < NR_EVENT_CHANNELS; port++)
                if (port_user[port] == u)
-                       evtchn_rebind_cpu(port, current_cpu);
+                       rebind_evtchn_to_cpu(port, current_cpu);
 
        u->bind_cpu = current_cpu;
        u->nr_event_wrong_delivery = 0;
@@ -258,7 +246,7 @@ static void evtchn_bind_to_user(struct p
                u->bind_cpu = bind_cpu;
        }
 
-       evtchn_rebind_cpu(port, u->bind_cpu);
+       rebind_evtchn_to_cpu(port, u->bind_cpu);
 
        unmask_evtchn(port);
 
diff -r 8aa8af371be0 -r 099625b07ae7 include/asm-generic/pci.h
--- a/include/asm-generic/pci.h Fri Sep 07 13:57:35 2007 -0600
+++ b/include/asm-generic/pci.h Mon Sep 10 13:59:28 2007 -0600
@@ -43,7 +43,9 @@ pcibios_select_root(struct pci_dev *pdev
        return root;
 }
 
+#ifndef pcibios_scan_all_fns
 #define pcibios_scan_all_fns(a, b)     0
+#endif
 
 #ifndef HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ
 static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
diff -r 8aa8af371be0 -r 099625b07ae7 include/asm-i386/mach-xen/asm/pci.h
--- a/include/asm-i386/mach-xen/asm/pci.h       Fri Sep 07 13:57:35 2007 -0600
+++ b/include/asm-i386/mach-xen/asm/pci.h       Mon Sep 10 13:59:28 2007 -0600
@@ -14,7 +14,9 @@ extern unsigned int pcibios_assign_all_b
 #else
 #define pcibios_assign_all_busses()    0
 #endif
-#define pcibios_scan_all_fns(a, b)     0
+
+#include <asm/hypervisor.h>
+#define pcibios_scan_all_fns(a, b)     (!is_initial_xendomain())
 
 extern unsigned long pci_mem_start;
 #define PCIBIOS_MIN_IO         0x1000
diff -r 8aa8af371be0 -r 099625b07ae7 include/asm-x86_64/mach-xen/asm/pci.h
--- a/include/asm-x86_64/mach-xen/asm/pci.h     Fri Sep 07 13:57:35 2007 -0600
+++ b/include/asm-x86_64/mach-xen/asm/pci.h     Mon Sep 10 13:59:28 2007 -0600
@@ -16,7 +16,9 @@ extern unsigned int pcibios_assign_all_b
 #else
 #define pcibios_assign_all_busses()    0
 #endif
-#define pcibios_scan_all_fns(a, b)     0
+
+#include <asm/hypervisor.h>
+#define pcibios_scan_all_fns(a, b)     (!is_initial_xendomain())
 
 extern unsigned long pci_mem_start;
 #define PCIBIOS_MIN_IO         0x1000
diff -r 8aa8af371be0 -r 099625b07ae7 include/xen/evtchn.h
--- a/include/xen/evtchn.h      Fri Sep 07 13:57:35 2007 -0600
+++ b/include/xen/evtchn.h      Mon Sep 10 13:59:28 2007 -0600
@@ -105,9 +105,9 @@ void unmask_evtchn(int port);
 void unmask_evtchn(int port);
 
 #ifdef CONFIG_SMP
-void bind_evtchn_to_cpu(unsigned int chn, unsigned int cpu);
+void rebind_evtchn_to_cpu(int port, unsigned int cpu);
 #else
-#define bind_evtchn_to_cpu(chn, cpu)   ((void)0)
+#define rebind_evtchn_to_cpu(port, cpu)        ((void)0)
 #endif
 
 static inline int test_and_set_evtchn_mask(int port)
diff -r 8aa8af371be0 -r 099625b07ae7 include/xen/xencons.h
--- a/include/xen/xencons.h     Fri Sep 07 13:57:35 2007 -0600
+++ b/include/xen/xencons.h     Mon Sep 10 13:59:28 2007 -0600
@@ -14,6 +14,4 @@ int xencons_ring_init(void);
 int xencons_ring_init(void);
 int xencons_ring_send(const char *data, unsigned len);
 
-void xencons_early_setup(void);
-
 #endif /* __ASM_XENCONS_H__ */

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.