xref: /titanic_50/usr/src/uts/i86xpv/ml/xenguest.s (revision a576ab5b6e08c47732b3dedca9eaa8a8cbb85720)
1843e1988Sjohnlev/*
2843e1988Sjohnlev * CDDL HEADER START
3843e1988Sjohnlev *
4843e1988Sjohnlev * The contents of this file are subject to the terms of the
5843e1988Sjohnlev * Common Development and Distribution License (the "License").
6843e1988Sjohnlev * You may not use this file except in compliance with the License.
7843e1988Sjohnlev *
8843e1988Sjohnlev * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9843e1988Sjohnlev * or http://www.opensolaris.org/os/licensing.
10843e1988Sjohnlev * See the License for the specific language governing permissions
11843e1988Sjohnlev * and limitations under the License.
12843e1988Sjohnlev *
13843e1988Sjohnlev * When distributing Covered Code, include this CDDL HEADER in each
14843e1988Sjohnlev * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15843e1988Sjohnlev * If applicable, add the following below this CDDL HEADER, with the
16843e1988Sjohnlev * fields enclosed by brackets "[]" replaced with your own identifying
17843e1988Sjohnlev * information: Portions Copyright [yyyy] [name of copyright owner]
18843e1988Sjohnlev *
19843e1988Sjohnlev * CDDL HEADER END
20843e1988Sjohnlev */
21843e1988Sjohnlev
22843e1988Sjohnlev/*
23*a576ab5bSrab * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
24843e1988Sjohnlev * Use is subject to license terms.
25843e1988Sjohnlev */
26843e1988Sjohnlev
27843e1988Sjohnlev#pragma ident	"%Z%%M%	%I%	%E% SMI"
28843e1988Sjohnlev
29843e1988Sjohnlev#if defined(__lint)
30843e1988Sjohnlev
31843e1988Sjohnlev/*
32843e1988Sjohnlev * Stop lint complaining about an empty compilation unit!
33843e1988Sjohnlev * Sigh.  There should be a better way to handle this.
34843e1988Sjohnlev */
35843e1988Sjohnlevint __lint_xen_guest;
36843e1988Sjohnlev
37843e1988Sjohnlev#else	/* __lint */
38843e1988Sjohnlev
39843e1988Sjohnlev#include <xen/public/elfnote.h>
40843e1988Sjohnlev
41843e1988Sjohnlev/*
42843e1988Sjohnlev * A note is a name/value pair that belongs to some class.
43843e1988Sjohnlev */
44843e1988Sjohnlev#define NOTE(class, id, type, value)	\
45843e1988Sjohnlev	.align	4;			\
46843e1988Sjohnlev	.4byte	2f - 1f;		\
47843e1988Sjohnlev	.4byte	4f - 3f;		\
48843e1988Sjohnlev	.4byte	id;			\
49843e1988Sjohnlev1: ;					\
50843e1988Sjohnlev	.string class;			\
51843e1988Sjohnlev2: ;					\
52843e1988Sjohnlev	.align	4;			\
53843e1988Sjohnlev3: ;					\
54843e1988Sjohnlev	type	value;			\
55843e1988Sjohnlev4: ;
56843e1988Sjohnlev
57843e1988Sjohnlev	.section .note
58843e1988Sjohnlev	NOTE("Xen", XEN_ELFNOTE_LOADER, .string, "generic")
59843e1988Sjohnlev	NOTE("Xen", XEN_ELFNOTE_XEN_VERSION, .string, "xen-3.0")
60843e1988Sjohnlev	NOTE("Xen", XEN_ELFNOTE_GUEST_OS, .string, "Solaris")
61843e1988Sjohnlev	NOTE("Xen", XEN_ELFNOTE_VIRT_BASE, .4byte, 0x40000000)
62843e1988Sjohnlev	NOTE("Xen", XEN_ELFNOTE_PADDR_OFFSET, .4byte, 0x40000000)
63843e1988Sjohnlev#if defined(__i386)
64843e1988Sjohnlev	NOTE("Xen", XEN_ELFNOTE_PAE_MODE, .string, "yes,bimodal")
65843e1988Sjohnlev#endif
66843e1988Sjohnlev
67843e1988Sjohnlev#endif /* __lint */
68