843e19887f64dde75055cf8842fc4db2171eff45johnlev/*
843e19887f64dde75055cf8842fc4db2171eff45johnlev * CDDL HEADER START
843e19887f64dde75055cf8842fc4db2171eff45johnlev *
843e19887f64dde75055cf8842fc4db2171eff45johnlev * The contents of this file are subject to the terms of the
843e19887f64dde75055cf8842fc4db2171eff45johnlev * Common Development and Distribution License (the "License").
843e19887f64dde75055cf8842fc4db2171eff45johnlev * You may not use this file except in compliance with the License.
843e19887f64dde75055cf8842fc4db2171eff45johnlev *
843e19887f64dde75055cf8842fc4db2171eff45johnlev * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
843e19887f64dde75055cf8842fc4db2171eff45johnlev * or http://www.opensolaris.org/os/licensing.
843e19887f64dde75055cf8842fc4db2171eff45johnlev * See the License for the specific language governing permissions
843e19887f64dde75055cf8842fc4db2171eff45johnlev * and limitations under the License.
843e19887f64dde75055cf8842fc4db2171eff45johnlev *
843e19887f64dde75055cf8842fc4db2171eff45johnlev * When distributing Covered Code, include this CDDL HEADER in each
843e19887f64dde75055cf8842fc4db2171eff45johnlev * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
843e19887f64dde75055cf8842fc4db2171eff45johnlev * If applicable, add the following below this CDDL HEADER, with the
843e19887f64dde75055cf8842fc4db2171eff45johnlev * fields enclosed by brackets "[]" replaced with your own identifying
843e19887f64dde75055cf8842fc4db2171eff45johnlev * information: Portions Copyright [yyyy] [name of copyright owner]
843e19887f64dde75055cf8842fc4db2171eff45johnlev *
843e19887f64dde75055cf8842fc4db2171eff45johnlev * CDDL HEADER END
843e19887f64dde75055cf8842fc4db2171eff45johnlev */
843e19887f64dde75055cf8842fc4db2171eff45johnlev
843e19887f64dde75055cf8842fc4db2171eff45johnlev/*
a576ab5b6e08c47732b3dedca9eaa8a8cbb85720rab * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
843e19887f64dde75055cf8842fc4db2171eff45johnlev * Use is subject to license terms.
843e19887f64dde75055cf8842fc4db2171eff45johnlev */
843e19887f64dde75055cf8842fc4db2171eff45johnlev
843e19887f64dde75055cf8842fc4db2171eff45johnlev#pragma ident "%Z%%M% %I% %E% SMI"
843e19887f64dde75055cf8842fc4db2171eff45johnlev
843e19887f64dde75055cf8842fc4db2171eff45johnlev#if defined(__lint)
843e19887f64dde75055cf8842fc4db2171eff45johnlev
843e19887f64dde75055cf8842fc4db2171eff45johnlev/*
843e19887f64dde75055cf8842fc4db2171eff45johnlev * Stop lint complaining about an empty compilation unit!
843e19887f64dde75055cf8842fc4db2171eff45johnlev * Sigh. There should be a better way to handle this.
843e19887f64dde75055cf8842fc4db2171eff45johnlev */
843e19887f64dde75055cf8842fc4db2171eff45johnlevint __lint_xen_guest;
843e19887f64dde75055cf8842fc4db2171eff45johnlev
843e19887f64dde75055cf8842fc4db2171eff45johnlev#else /* __lint */
843e19887f64dde75055cf8842fc4db2171eff45johnlev
843e19887f64dde75055cf8842fc4db2171eff45johnlev#include <xen/public/elfnote.h>
843e19887f64dde75055cf8842fc4db2171eff45johnlev
843e19887f64dde75055cf8842fc4db2171eff45johnlev/*
843e19887f64dde75055cf8842fc4db2171eff45johnlev * A note is a name/value pair that belongs to some class.
843e19887f64dde75055cf8842fc4db2171eff45johnlev */
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define NOTE(class, id, type, value) \
843e19887f64dde75055cf8842fc4db2171eff45johnlev .align 4; \
843e19887f64dde75055cf8842fc4db2171eff45johnlev .4byte 2f - 1f; \
843e19887f64dde75055cf8842fc4db2171eff45johnlev .4byte 4f - 3f; \
843e19887f64dde75055cf8842fc4db2171eff45johnlev .4byte id; \
843e19887f64dde75055cf8842fc4db2171eff45johnlev1: ; \
843e19887f64dde75055cf8842fc4db2171eff45johnlev .string class; \
843e19887f64dde75055cf8842fc4db2171eff45johnlev2: ; \
843e19887f64dde75055cf8842fc4db2171eff45johnlev .align 4; \
843e19887f64dde75055cf8842fc4db2171eff45johnlev3: ; \
843e19887f64dde75055cf8842fc4db2171eff45johnlev type value; \
843e19887f64dde75055cf8842fc4db2171eff45johnlev4: ;
843e19887f64dde75055cf8842fc4db2171eff45johnlev
843e19887f64dde75055cf8842fc4db2171eff45johnlev .section .note
843e19887f64dde75055cf8842fc4db2171eff45johnlev NOTE("Xen", XEN_ELFNOTE_LOADER, .string, "generic")
843e19887f64dde75055cf8842fc4db2171eff45johnlev NOTE("Xen", XEN_ELFNOTE_XEN_VERSION, .string, "xen-3.0")
843e19887f64dde75055cf8842fc4db2171eff45johnlev NOTE("Xen", XEN_ELFNOTE_GUEST_OS, .string, "Solaris")
843e19887f64dde75055cf8842fc4db2171eff45johnlev NOTE("Xen", XEN_ELFNOTE_VIRT_BASE, .4byte, 0x40000000)
843e19887f64dde75055cf8842fc4db2171eff45johnlev NOTE("Xen", XEN_ELFNOTE_PADDR_OFFSET, .4byte, 0x40000000)
843e19887f64dde75055cf8842fc4db2171eff45johnlev#if defined(__i386)
843e19887f64dde75055cf8842fc4db2171eff45johnlev NOTE("Xen", XEN_ELFNOTE_PAE_MODE, .string, "yes,bimodal")
843e19887f64dde75055cf8842fc4db2171eff45johnlev#endif
843e19887f64dde75055cf8842fc4db2171eff45johnlev
843e19887f64dde75055cf8842fc4db2171eff45johnlev#endif /* __lint */