[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Necessary change to make ia64 dom0 rework:
# HG changeset patch # User djm@xxxxxxxxxxxxxxx # Node ID 813e504dc716f9b78e30c0e14d0c8a76f244e773 # Parent fdea4a967bc77e52b0a55f7686d50caf28ad6e7c Necessary change to make ia64 dom0 rework: - All even channels on xen/ia64 shares one common interrupt vector - xen_start_info is initialized only after xen_init, so adjust sequence to avoid access before initialization Signed-off-by Kevin Tian <kevin.tian@xxxxxxxxx> diff -r fdea4a967bc7 -r 813e504dc716 linux-2.6-xen-sparse/arch/ia64/xen/drivers/evtchn_ia64.c --- a/linux-2.6-xen-sparse/arch/ia64/xen/drivers/evtchn_ia64.c Mon Oct 24 15:08:13 2005 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/drivers/evtchn_ia64.c Mon Oct 24 15:15:53 2005 @@ -29,7 +29,7 @@ return op.u.bind_virq.port; } -int bind_virq_to_irq(int virq) +int bind_virq_to_irq(int virq, int cpu) { printk("bind_virq_to_irq called... FIXME??\n"); while(1); @@ -66,7 +66,11 @@ evtchns[evtchn].handler = handler; evtchns[evtchn].dev_id = dev_id; unmask_evtchn(evtchn); - return 0; + //return 0; + /* On ia64, there's only one irq vector allocated for all event channels, + * so let's just return evtchn as handle for later communication + */ + return evtchn; } void unbind_evtchn_from_irqhandler(unsigned int evtchn, void *dev_id) diff -r fdea4a967bc7 -r 813e504dc716 linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c --- a/linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c Mon Oct 24 15:08:13 2005 +++ b/linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c Mon Oct 24 15:15:53 2005 @@ -25,8 +25,8 @@ #include <asm/pgtable.h> #include <asm/uaccess.h> #include <asm/tlb.h> +#include <asm/hypervisor.h> #include <asm-xen/linux-public/privcmd.h> -#include <asm/hypervisor.h> #include <asm-xen/xen-public/xen.h> #include <asm-xen/xen-public/dom0_ops.h> #include <asm-xen/xen_proc.h> diff -r fdea4a967bc7 -r 813e504dc716 linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c --- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c Mon Oct 24 15:08:13 2005 +++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c Mon Oct 24 15:15:53 2005 @@ -714,11 +714,7 @@ static int __init xenbus_probe_init(void) { - int err = 0; - /* - ** Domain0 doesn't have a store_evtchn or store_mfn yet. - */ - int dom0 = (xen_start_info->store_evtchn == 0); + int err = 0, dom0; printk("xenbus_probe_init\n"); @@ -732,6 +728,11 @@ bus_register(&xenbus_backend.bus); device_register(&xenbus_frontend.dev); device_register(&xenbus_backend.dev); + + /* + ** Domain0 doesn't have a store_evtchn or store_mfn yet. + */ + dom0 = (xen_start_info->store_evtchn == 0); if (dom0) { _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |