#ifndef _XEN_XEN_H
#define _XEN_XEN_H

enum xen_domain_type {
	XEN_NATIVE,		/* running on bare hardware    */
	XEN_PV_DOMAIN,		/* running in a PV domain      */
	XEN_HVM_DOMAIN,		/* running in a Xen hvm domain */
};

#ifdef CONFIG_XEN
extern enum xen_domain_type xen_domain_type;
#else
#define xen_domain_type		XEN_NATIVE
#endif

#define xen_domain()		(xen_domain_type != XEN_NATIVE)
#define xen_pv_domain()		(xen_domain() &&			\
				 xen_domain_type == XEN_PV_DOMAIN)
#define xen_hvm_domain()	(xen_domain() &&			\
				 xen_domain_type == XEN_HVM_DOMAIN)

#ifdef CONFIG_XEN_DOM0
#include <xen/interface/xen.h>
#include <asm/xen/hypervisor.h>

#define xen_initial_domain()	(xen_domain() && \
				 xen_start_info && xen_start_info->flags & SIF_INITDOMAIN)
#else  /* !CONFIG_XEN_DOM0 */
#define xen_initial_domain()	(0)
#endif	/* CONFIG_XEN_DOM0 */

#ifdef CONFIG_XEN_PVH
/* This functionality exists only for x86. The XEN_PVHVM support exists
 * only in x86 world - hence on ARM it will be always disabled.
 * N.B. ARM guests are neither PV nor HVM nor PVHVM.
 * It's a bit like PVH but is different also (it's further towards the H
 * end of the spectrum than even PVH).
 */
#include <xen/features.h>
#define xen_pvh_domain() (xen_pv_domain() && \
			  xen_feature(XENFEAT_auto_translated_physmap))
#else
#define xen_pvh_domain()	(0)
#endif
#endif	/* _XEN_XEN_H */
</form></td></tr>
<tr><td class='sub'>net-next plumbings</td><td class='sub right'>Tobias Klauser</td></tr></table>
<table class='tabs'><tr><td>
<a href='/cgit.cgi/linux/net-next.git/'>summary</a><a href='/cgit.cgi/linux/net-next.git/refs/?id=cda8bba0f99d25d2061c531113c14fa41effc3ae'>refs</a><a class='active' href='/cgit.cgi/linux/net-next.git/log/drivers/usb/serial/navman.c'>log</a><a href='/cgit.cgi/linux/net-next.git/tree/drivers/usb/serial/navman.c?id=cda8bba0f99d25d2061c531113c14fa41effc3ae'>tree</a><a href='/cgit.cgi/linux/net-next.git/commit/drivers/usb/serial/navman.c?id=cda8bba0f99d25d2061c531113c14fa41effc3ae'>commit</a><a href='/cgit.cgi/linux/net-next.git/diff/drivers/usb/serial/navman.c?id=cda8bba0f99d25d2061c531113c14fa41effc3ae'>diff</a></td><td class='form'><form class='right' method='get' action='/cgit.cgi/linux/net-next.git/log/drivers/usb/serial/navman.c'>
<input type='hidden' name='id' value='cda8bba0f99d25d2061c531113c14fa41effc3ae'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/cgit.cgi/linux/net-next.git/log/?id=cda8bba0f99d25d2061c531113c14fa41effc3ae'>root</a>/<a href='/cgit.cgi/linux/net-next.git/log/drivers?id=cda8bba0f99d25d2061c531113c14fa41effc3ae'>drivers</a>/<a href='/cgit.cgi/linux/net-next.git/log/drivers/usb?id=cda8bba0f99d25d2061c531113c14fa41effc3ae'>usb</a>/<a href='/cgit.cgi/linux/net-next.git/log/drivers/usb/serial?id=cda8bba0f99d25d2061c531113c14fa41effc3ae'>serial</a>/<a href='/cgit.cgi/linux/net-next.git/log/drivers/usb/serial/navman.c?id=cda8bba0f99d25d2061c531113c14fa41effc3ae'>navman.c</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Age</th><th class='left'>Commit message (<a href='/cgit.cgi/linux/net-next.git/log/drivers/usb/serial/navman.c?id=cda8bba0f99d25d2061c531113c14fa41effc3ae&amp;showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Files</th><th class='left'>Lines</th></tr>