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