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 --- |