xenbus_comms.c (843e1988) xenbus_comms.c (551bc2a6)
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE

--- 45 unchanged lines hidden (view full) ---

54 * IN THE SOFTWARE.
55 */
56
57#pragma ident "%Z%%M% %I% %E% SMI"
58
59#include <sys/types.h>
60#include <vm/hat.h>
61#include <vm/as.h>
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE

--- 45 unchanged lines hidden (view full) ---

54 * IN THE SOFTWARE.
55 */
56
57#pragma ident "%Z%%M% %I% %E% SMI"
58
59#include <sys/types.h>
60#include <vm/hat.h>
61#include <vm/as.h>
62#include <sys/bootinfo.h>
63#include <sys/bootconf.h>
62#include <sys/bootconf.h>
64#include <vm/kboot_mmu.h>
65#include <vm/seg_kmem.h>
63#include <vm/seg_kmem.h>
64#ifdef XPV_HVM_DRIVER
65#include <sys/pc_mmu.h>
66#include <sys/xpv_support.h>
66#include <sys/hypervisor.h>
67#include <sys/hypervisor.h>
68#else
69#include <vm/kboot_mmu.h>
70#include <sys/bootinfo.h>
71#include <sys/hypervisor.h>
67#include <sys/evtchn_impl.h>
72#include <sys/evtchn_impl.h>
73#endif
68#include <sys/condvar.h>
69#include <sys/mutex.h>
70#include <sys/atomic.h>
71#include <sys/mman.h>
72#include <sys/errno.h>
73#include <sys/cmn_err.h>
74#include <sys/avintr.h>
75#include <xen/sys/xenbus_comms.h>

--- 159 unchanged lines hidden (view full) ---

235xb_suspend(void)
236{
237 rem_avintr(NULL, IPL_XENBUS, (avfunc)xenbus_intr, xenbus_irq);
238}
239
240void
241xb_setup_intr(void)
242{
74#include <sys/condvar.h>
75#include <sys/mutex.h>
76#include <sys/atomic.h>
77#include <sys/mman.h>
78#include <sys/errno.h>
79#include <sys/cmn_err.h>
80#include <sys/avintr.h>
81#include <xen/sys/xenbus_comms.h>

--- 159 unchanged lines hidden (view full) ---

241xb_suspend(void)
242{
243 rem_avintr(NULL, IPL_XENBUS, (avfunc)xenbus_intr, xenbus_irq);
244}
245
246void
247xb_setup_intr(void)
248{
249#ifdef XPV_HVM_DRIVER
250 ec_bind_evtchn_to_handler(xen_info->store_evtchn, IPL_XENBUS,
251 xenbus_intr, NULL);
252#else
243 xenbus_irq = ec_bind_evtchn_to_irq(xen_info->store_evtchn);
253 xenbus_irq = ec_bind_evtchn_to_irq(xen_info->store_evtchn);
254 if (xenbus_irq < 0) {
255 cmn_err(CE_WARN, "Couldn't bind xenbus event channel");
256 return;
257 }
244 if (!add_avintr(NULL, IPL_XENBUS, (avfunc)xenbus_intr, "xenbus",
245 xenbus_irq, NULL, NULL, NULL, NULL))
246 cmn_err(CE_WARN, "XENBUS add intr failed\n");
258 if (!add_avintr(NULL, IPL_XENBUS, (avfunc)xenbus_intr, "xenbus",
259 xenbus_irq, NULL, NULL, NULL, NULL))
260 cmn_err(CE_WARN, "XENBUS add intr failed\n");
261#endif
247}
248
249/*
250 * Set up our xenstore page and event channel. Domain 0 needs to allocate a
251 * page and event channel; other domains use what we are told.
252 */
253void
254xb_init(void)

--- 36 unchanged lines hidden ---
262}
263
264/*
265 * Set up our xenstore page and event channel. Domain 0 needs to allocate a
266 * page and event channel; other domains use what we are told.
267 */
268void
269xb_init(void)

--- 36 unchanged lines hidden ---