#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 */
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=7ea4007757e56bd2fb589820ba7676d2dfb0b47a'>refs</a><a class='active' href='/cgit.cgi/linux/net-next.git/log/tools/objtool/builtin-check.c'>log</a><a href='/cgit.cgi/linux/net-next.git/tree/tools/objtool/builtin-check.c?id=7ea4007757e56bd2fb589820ba7676d2dfb0b47a'>tree</a><a href='/cgit.cgi/linux/net-next.git/commit/tools/objtool/builtin-check.c?id=7ea4007757e56bd2fb589820ba7676d2dfb0b47a'>commit</a><a href='/cgit.cgi/linux/net-next.git/diff/tools/objtool/builtin-check.c?id=7ea4007757e56bd2fb589820ba7676d2dfb0b47a'>diff</a></td><td class='form'><form class='right' method='get' action='/cgit.cgi/linux/net-next.git/log/tools/objtool/builtin-check.c'>
<input type='hidden' name='id' value='7ea4007757e56bd2fb589820ba7676d2dfb0b47a'/><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=7ea4007757e56bd2fb589820ba7676d2dfb0b47a'>root</a>/<a href='/cgit.cgi/linux/net-next.git/log/tools?id=7ea4007757e56bd2fb589820ba7676d2dfb0b47a'>tools</a>/<a href='/cgit.cgi/linux/net-next.git/log/tools/objtool?id=7ea4007757e56bd2fb589820ba7676d2dfb0b47a'>objtool</a>/<a href='/cgit.cgi/linux/net-next.git/log/tools/objtool/builtin-check.c?id=7ea4007757e56bd2fb589820ba7676d2dfb0b47a'>builtin-check.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/tools/objtool/builtin-check.c?id=7ea4007757e56bd2fb589820ba7676d2dfb0b47a&amp;showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Files</th><th class='left'>Lines</th></tr>