|
|
|
|
|
|
|
|
|
|
xen-changelog
[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
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] Necessary change to make ia64 dom0 rework:,
Xen patchbot -unstable <=
|
|
|
|
|