Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/xen/include/xen-public re-import xen3-public to ren...
details: https://anonhg.NetBSD.org/src/rev/fbba778c7c8d
branches: trunk
changeset: 771896:fbba778c7c8d
user: cegger <cegger%NetBSD.org@localhost>
date: Wed Dec 07 13:15:44 2011 +0000
description:
re-import xen3-public to rename this to xen-public
diffstat:
sys/arch/xen/include/xen-public/COPYING | 39 +
sys/arch/xen/include/xen-public/arch-ia64.h | 622 +++++++++++++++
sys/arch/xen/include/xen-public/arch-ia64/debug_op.h | 96 ++
sys/arch/xen/include/xen-public/arch-ia64/hvm/memmap.h | 88 ++
sys/arch/xen/include/xen-public/arch-ia64/hvm/save.h | 201 +++++
sys/arch/xen/include/xen-public/arch-ia64/sioemu.h | 89 ++
sys/arch/xen/include/xen-public/arch-x86/cpuid.h | 68 +
sys/arch/xen/include/xen-public/arch-x86/hvm/save.h | 429 ++++++++++
sys/arch/xen/include/xen-public/arch-x86/xen-mca.h | 279 +++++++
sys/arch/xen/include/xen-public/arch-x86/xen-x86_32.h | 186 ++++
sys/arch/xen/include/xen-public/arch-x86/xen-x86_64.h | 213 +++++
sys/arch/xen/include/xen-public/arch-x86/xen.h | 205 +++++
sys/arch/xen/include/xen-public/callback.h | 122 +++
sys/arch/xen/include/xen-public/domctl.h | 677 +++++++++++++++++
sys/arch/xen/include/xen-public/elfnote.h | 234 +++++
sys/arch/xen/include/xen-public/elfstructs.h | 526 +++++++++++++
sys/arch/xen/include/xen-public/features.h | 75 +
sys/arch/xen/include/xen-public/hvm/e820.h | 35 +
sys/arch/xen/include/xen-public/hvm/hvm_info_table.h | 42 +
sys/arch/xen/include/xen-public/hvm/hvm_op.h | 132 +++
sys/arch/xen/include/xen-public/hvm/ioreq.h | 128 +++
sys/arch/xen/include/xen-public/hvm/params.h | 99 ++
sys/arch/xen/include/xen-public/hvm/save.h | 89 ++
sys/arch/xen/include/xen-public/hvm/vmx_assist.h | 123 +++
sys/arch/xen/include/xen-public/io/console.h | 52 +
sys/arch/xen/include/xen-public/io/fbif.h | 177 ++++
sys/arch/xen/include/xen-public/io/fsif.h | 191 ++++
sys/arch/xen/include/xen-public/io/kbdif.h | 133 +++
sys/arch/xen/include/xen-public/io/pciif.h | 102 ++
sys/arch/xen/include/xen-public/io/protocols.h | 41 +
sys/arch/xen/include/xen-public/io/ring.h | 316 +++++++
sys/arch/xen/include/xen-public/io/tpmif.h | 78 +
sys/arch/xen/include/xen-public/io/xenbus.h | 81 ++
sys/arch/xen/include/xen-public/io/xs_wire.h | 131 +++
sys/arch/xen/include/xen-public/kexec.h | 190 ++++
sys/arch/xen/include/xen-public/libelf.h | 266 ++++++
sys/arch/xen/include/xen-public/memory.h | 296 +++++++
sys/arch/xen/include/xen-public/nmi.h | 79 +
sys/arch/xen/include/xen-public/platform.h | 347 ++++++++
sys/arch/xen/include/xen-public/sched.h | 122 +++
sys/arch/xen/include/xen-public/sysctl.h | 297 +++++++
sys/arch/xen/include/xen-public/vcpu.h | 214 +++++
sys/arch/xen/include/xen-public/version.h | 92 ++
sys/arch/xen/include/xen-public/xen-compat.h | 45 +
sys/arch/xen/include/xen-public/xencomm.h | 42 +
sys/arch/xen/include/xen-public/xenoprof.h | 139 +++
sys/arch/xen/include/xen-public/xsm/acm.h | 235 +++++
sys/arch/xen/include/xen-public/xsm/acm_ops.h | 159 +++
sys/arch/xen/include/xen-public/xsm/flask_op.h | 45 +
49 files changed, 8667 insertions(+), 0 deletions(-)
diffs (truncated from 8863 to 300 lines):
diff -r 6e067ed3fc2a -r fbba778c7c8d sys/arch/xen/include/xen-public/COPYING
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/xen/include/xen-public/COPYING Wed Dec 07 13:15:44 2011 +0000
@@ -0,0 +1,39 @@
+$NetBSD: COPYING,v 1.1.1.1 2011/12/07 13:15:44 cegger Exp $
+XEN NOTICE
+==========
+
+This copyright applies to all files within this subdirectory and its
+subdirectories:
+ include/public/*.h
+ include/public/hvm/*.h
+ include/public/io/*.h
+
+The intention is that these files can be freely copied into the source
+tree of an operating system when porting that OS to run on Xen. Doing
+so does *not* cause the OS to become subject to the terms of the GPL.
+
+All other files in the Xen source distribution are covered by version
+2 of the GNU General Public License except where explicitly stated
+otherwise within individual source files.
+
+ -- Keir Fraser (on behalf of the Xen team)
+
+=====================================================================
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff -r 6e067ed3fc2a -r fbba778c7c8d sys/arch/xen/include/xen-public/arch-ia64.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/xen/include/xen-public/arch-ia64.h Wed Dec 07 13:15:44 2011 +0000
@@ -0,0 +1,622 @@
+/* $NetBSD: arch-ia64.h,v 1.1.1.1 2011/12/07 13:15:44 cegger Exp $ */
+/******************************************************************************
+ * arch-ia64/hypervisor-if.h
+ *
+ * Guest OS interface to IA64 Xen.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+#include "xen.h"
+
+#ifndef __HYPERVISOR_IF_IA64_H__
+#define __HYPERVISOR_IF_IA64_H__
+
+#if !defined(__GNUC__) || defined(__STRICT_ANSI__)
+#error "Anonymous structs/unions are a GNU extension."
+#endif
+
+/* Structural guest handles introduced in 0x00030201. */
+#if __XEN_INTERFACE_VERSION__ >= 0x00030201
+#define ___DEFINE_XEN_GUEST_HANDLE(name, type) \
+ typedef struct { type *p; } __guest_handle_ ## name
+#else
+#define ___DEFINE_XEN_GUEST_HANDLE(name, type) \
+ typedef type * __guest_handle_ ## name
+#endif
+
+#define __DEFINE_XEN_GUEST_HANDLE(name, type) \
+ ___DEFINE_XEN_GUEST_HANDLE(name, type); \
+ ___DEFINE_XEN_GUEST_HANDLE(const_##name, const type)
+
+#define DEFINE_XEN_GUEST_HANDLE(name) __DEFINE_XEN_GUEST_HANDLE(name, name)
+#define XEN_GUEST_HANDLE(name) __guest_handle_ ## name
+#define XEN_GUEST_HANDLE_64(name) XEN_GUEST_HANDLE(name)
+#define uint64_aligned_t uint64_t
+#define set_xen_guest_handle(hnd, val) do { (hnd).p = val; } while (0)
+#ifdef __XEN_TOOLS__
+#define get_xen_guest_handle(val, hnd) do { val = (hnd).p; } while (0)
+#endif
+
+#ifndef __ASSEMBLY__
+typedef unsigned long xen_pfn_t;
+#define PRI_xen_pfn "lx"
+#endif
+
+/* Arch specific VIRQs definition */
+#define VIRQ_ITC VIRQ_ARCH_0 /* V. Virtual itc timer */
+#define VIRQ_MCA_CMC VIRQ_ARCH_1 /* MCA cmc interrupt */
+#define VIRQ_MCA_CPE VIRQ_ARCH_2 /* MCA cpe interrupt */
+
+/* Maximum number of virtual CPUs in multi-processor guests. */
+/* WARNING: before changing this, check that shared_info fits on a page */
+#define MAX_VIRT_CPUS 64
+
+/* IO ports location for PV. */
+#define IO_PORTS_PADDR 0x00000ffffc000000UL
+#define IO_PORTS_SIZE 0x0000000004000000UL
+
+#ifndef __ASSEMBLY__
+
+typedef unsigned long xen_ulong_t;
+
+#ifdef __XEN_TOOLS__
+#define XEN_PAGE_SIZE XC_PAGE_SIZE
+#else
+#define XEN_PAGE_SIZE PAGE_SIZE
+#endif
+
+#define INVALID_MFN (~0UL)
+
+struct pt_fpreg {
+ union {
+ unsigned long bits[2];
+ long double __dummy; /* force 16-byte alignment */
+ } u;
+};
+
+union vac {
+ unsigned long value;
+ struct {
+ int a_int:1;
+ int a_from_int_cr:1;
+ int a_to_int_cr:1;
+ int a_from_psr:1;
+ int a_from_cpuid:1;
+ int a_cover:1;
+ int a_bsw:1;
+ long reserved:57;
+ };
+};
+typedef union vac vac_t;
+
+union vdc {
+ unsigned long value;
+ struct {
+ int d_vmsw:1;
+ int d_extint:1;
+ int d_ibr_dbr:1;
+ int d_pmc:1;
+ int d_to_pmd:1;
+ int d_itm:1;
+ long reserved:58;
+ };
+};
+typedef union vdc vdc_t;
+
+struct mapped_regs {
+ union vac vac;
+ union vdc vdc;
+ unsigned long virt_env_vaddr;
+ unsigned long reserved1[29];
+ unsigned long vhpi;
+ unsigned long reserved2[95];
+ union {
+ unsigned long vgr[16];
+ unsigned long bank1_regs[16]; // bank1 regs (r16-r31) when bank0 active
+ };
+ union {
+ unsigned long vbgr[16];
+ unsigned long bank0_regs[16]; // bank0 regs (r16-r31) when bank1 active
+ };
+ unsigned long vnat;
+ unsigned long vbnat;
+ unsigned long vcpuid[5];
+ unsigned long reserved3[11];
+ unsigned long vpsr;
+ unsigned long vpr;
+ unsigned long reserved4[76];
+ union {
+ unsigned long vcr[128];
+ struct {
+ unsigned long dcr; // CR0
+ unsigned long itm;
+ unsigned long iva;
+ unsigned long rsv1[5];
+ unsigned long pta; // CR8
+ unsigned long rsv2[7];
+ unsigned long ipsr; // CR16
+ unsigned long isr;
+ unsigned long rsv3;
+ unsigned long iip;
+ unsigned long ifa;
+ unsigned long itir;
+ unsigned long iipa;
+ unsigned long ifs;
+ unsigned long iim; // CR24
+ unsigned long iha;
+ unsigned long rsv4[38];
+ unsigned long lid; // CR64
+ unsigned long ivr;
+ unsigned long tpr;
+ unsigned long eoi;
+ unsigned long irr[4];
+ unsigned long itv; // CR72
+ unsigned long pmv;
+ unsigned long cmcv;
+ unsigned long rsv5[5];
+ unsigned long lrr0; // CR80
+ unsigned long lrr1;
+ unsigned long rsv6[46];
+ };
+ };
+ union {
+ unsigned long reserved5[128];
+ struct {
+ unsigned long precover_ifs;
+ unsigned long unat; // not sure if this is needed until NaT arch is done
+ int interrupt_collection_enabled; // virtual psr.ic
+ /* virtual interrupt deliverable flag is evtchn_upcall_mask in
+ * shared info area now. interrupt_mask_addr is the address
+ * of evtchn_upcall_mask for current vcpu
+ */
+ unsigned char *interrupt_mask_addr;
+ int pending_interruption;
+ unsigned char vpsr_pp;
+ unsigned char vpsr_dfh;
+ unsigned char hpsr_dfh;
+ unsigned char hpsr_mfh;
+ unsigned long reserved5_1[4];
+ int metaphysical_mode; // 1 = use metaphys mapping, 0 = use virtual
+ int banknum; // 0 or 1, which virtual register bank is active
+ unsigned long rrs[8]; // region registers
+ unsigned long krs[8]; // kernel registers
+ unsigned long tmp[16]; // temp registers (e.g. for hyperprivops)
+ };
+ };
+};
+typedef struct mapped_regs mapped_regs_t;
+
+struct vpd {
+ struct mapped_regs vpd_low;
+ unsigned long reserved6[3456];
+ unsigned long vmm_avail[128];
+ unsigned long reserved7[4096];
+};
+typedef struct vpd vpd_t;
+
+struct arch_vcpu_info {
+};
+typedef struct arch_vcpu_info arch_vcpu_info_t;
+
+/*
+ * This structure is used for magic page in domain pseudo physical address
+ * space and the result of XENMEM_machine_memory_map.
+ * As the XENMEM_machine_memory_map result,
+ * xen_memory_map::nr_entries indicates the size in bytes
+ * including struct xen_ia64_memmap_info. Not the number of entries.
+ */
+struct xen_ia64_memmap_info {
+ uint64_t efi_memmap_size; /* size of EFI memory map */
+ uint64_t efi_memdesc_size; /* size of an EFI memory map descriptor */
+ uint32_t efi_memdesc_version; /* memory descriptor version */
+ void *memdesc[0]; /* array of efi_memory_desc_t */
+};
+typedef struct xen_ia64_memmap_info xen_ia64_memmap_info_t;
+
+struct arch_shared_info {
+ /* PFN of the start_info page. */
+ unsigned long start_info_pfn;
+
+ /* Interrupt vector for event channel. */
+ int evtchn_vector;
+
+ /* PFN of memmap_info page */
+ unsigned int memmap_info_num_pages;/* currently only = 1 case is
+ supported. */
+ unsigned long memmap_info_pfn;
+
+ uint64_t pad[31];
+};
+typedef struct arch_shared_info arch_shared_info_t;
+
+typedef unsigned long xen_callback_t;
+
+struct ia64_tr_entry {
+ unsigned long pte;
Home |
Main Index |
Thread Index |
Old Index