CVS commit: src/sys/arch/xen/include/xen-public
Module Name:src Committed By: cherry Date: Sat Feb 2 12:40:32 UTC 2019 Removed Files: src/sys/arch/xen/include/xen-public: COPYING arch-ia64.h arch-x86_32.h arch-x86_64.h callback.h dom0_ops.h domctl.h elfnote.h elfstructs.h event_channel.h features.h grant_table.h kexec.h libelf.h mem_event.h memory.h nmi.h physdev.h platform.h sched.h sysctl.h tmem.h trace.h vcpu.h version.h xen-compat.h xen.h xencomm.h xenoprof.h src/sys/arch/xen/include/xen-public/arch-ia64: debug_op.h sioemu.h src/sys/arch/xen/include/xen-public/arch-ia64/hvm: memmap.h save.h src/sys/arch/xen/include/xen-public/arch-x86: cpuid.h xen-mca.h xen-x86_32.h xen-x86_64.h xen.h src/sys/arch/xen/include/xen-public/arch-x86/hvm: save.h src/sys/arch/xen/include/xen-public/hvm: e820.h hvm_info_table.h hvm_op.h ioreq.h params.h save.h vmx_assist.h src/sys/arch/xen/include/xen-public/io: blkif.h console.h fbif.h fsif.h kbdif.h netif.h pciif.h protocols.h ring.h tpmif.h usbif.h vscsiif.h xenbus.h xs_wire.h src/sys/arch/xen/include/xen-public/xsm: acm.h acm_ops.h flask_op.h Log Message: Remove legacy XEN source public API from source. These have now been moved to sys/external/mit/xen-include-public/dist To generate a diff of this commit: cvs rdiff -u -r1.1.1.2 -r0 src/sys/arch/xen/include/xen-public/COPYING \ src/sys/arch/xen/include/xen-public/arch-ia64.h \ src/sys/arch/xen/include/xen-public/callback.h \ src/sys/arch/xen/include/xen-public/elfnote.h \ src/sys/arch/xen/include/xen-public/features.h \ src/sys/arch/xen/include/xen-public/kexec.h \ src/sys/arch/xen/include/xen-public/memory.h \ src/sys/arch/xen/include/xen-public/nmi.h \ src/sys/arch/xen/include/xen-public/platform.h \ src/sys/arch/xen/include/xen-public/sched.h \ src/sys/arch/xen/include/xen-public/vcpu.h \ src/sys/arch/xen/include/xen-public/version.h \ src/sys/arch/xen/include/xen-public/xen-compat.h \ src/sys/arch/xen/include/xen-public/xencomm.h \ src/sys/arch/xen/include/xen-public/xenoprof.h cvs rdiff -u -r1.5 -r0 src/sys/arch/xen/include/xen-public/arch-x86_32.h \ src/sys/arch/xen/include/xen-public/arch-x86_64.h \ src/sys/arch/xen/include/xen-public/dom0_ops.h cvs rdiff -u -r1.2 -r0 src/sys/arch/xen/include/xen-public/domctl.h \ src/sys/arch/xen/include/xen-public/elfstructs.h \ src/sys/arch/xen/include/xen-public/sysctl.h cvs rdiff -u -r1.6 -r0 src/sys/arch/xen/include/xen-public/event_channel.h \ src/sys/arch/xen/include/xen-public/grant_table.h \ src/sys/arch/xen/include/xen-public/trace.h cvs rdiff -u -r1.1.1.1 -r0 src/sys/arch/xen/include/xen-public/libelf.h \ src/sys/arch/xen/include/xen-public/mem_event.h \ src/sys/arch/xen/include/xen-public/tmem.h cvs rdiff -u -r1.7 -r0 src/sys/arch/xen/include/xen-public/physdev.h cvs rdiff -u -r1.11 -r0 src/sys/arch/xen/include/xen-public/xen.h cvs rdiff -u -r1.1.1.2 -r0 \ src/sys/arch/xen/include/xen-public/arch-ia64/debug_op.h \ src/sys/arch/xen/include/xen-public/arch-ia64/sioemu.h cvs rdiff -u -r1.1.1.2 -r0 \ src/sys/arch/xen/include/xen-public/arch-ia64/hvm/memmap.h \ src/sys/arch/xen/include/xen-public/arch-ia64/hvm/save.h cvs rdiff -u -r1.1.1.2 -r0 \ src/sys/arch/xen/include/xen-public/arch-x86/cpuid.h \ src/sys/arch/xen/include/xen-public/arch-x86/xen-x86_64.h cvs rdiff -u -r1.2 -r0 src/sys/arch/xen/include/xen-public/arch-x86/xen-mca.h \ src/sys/arch/xen/include/xen-public/arch-x86/xen-x86_32.h \ src/sys/arch/xen/include/xen-public/arch-x86/xen.h cvs rdiff -u -r1.1.1.2 -r0 \ src/sys/arch/xen/include/xen-public/arch-x86/hvm/save.h cvs rdiff -u -r1.1.1.2 -r0 src/sys/arch/xen/include/xen-public/hvm/e820.h \ src/sys/arch/xen/include/xen-public/hvm/hvm_info_table.h \ src/sys/arch/xen/include/xen-public/hvm/hvm_op.h \ src/sys/arch/xen/include/xen-public/hvm/ioreq.h \ src/sys/arch/xen/include/xen-public/hvm/params.h \ src/sys/arch/xen/include/xen-public/hvm/save.h cvs rdiff -u -r1.1.1.1 -r0 \ src/sys/arch/xen/include/xen-public/hvm/vmx_assist.h cvs rdiff -u -r1.7 -r0 src/sys/arch/xen/include/xen-public/io/blkif.h cvs rdiff -u -r1.1.1.2 -r0 src/sys/arch/xen/include/xen-public/io/console.h \ src/sys/arch/xen/include/xen-public/io/fbif.h \ src/sys/arch/xen/include/xen-public/io/fsif.h \ src/sys/arch/xen/include/xen-public/io/kbdif.h \ src/sys/arch/xen/include/xen-public/io/pciif.h \ src/sys/arch/xen/include/xen-public/io/protocols.h \ src/sys/arch/xen/include/xen-public/io/tpmif.h \ src/sys/arch/xen/include/xen-public/io/xenbus.h cvs rdiff -u -r1.6 -r0 src/sys/arch/xen/include/xen-public/io/netif.h cvs rdiff -u -r1.3 -r0 src/sys/arch/xen/include/xen-public/io/ring.h cvs rdiff -u -r1.1.1.1 -r0 src/sys/arch/xen/include/xen-public/io/usbif.h \
CVS commit: src/sys/arch/xen/include/xen-public/arch-x86
Module Name:src Committed By: cegger Date: Fri Dec 9 10:14:20 UTC 2011 Modified Files: src/sys/arch/xen/include/xen-public/arch-x86: xen.h Log Message: re-apply merge loss To generate a diff of this commit: cvs rdiff -u -r1.1.1.2 -r1.2 \ src/sys/arch/xen/include/xen-public/arch-x86/xen.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/xen/include/xen-public/arch-x86/xen.h diff -u src/sys/arch/xen/include/xen-public/arch-x86/xen.h:1.1.1.2 src/sys/arch/xen/include/xen-public/arch-x86/xen.h:1.2 --- src/sys/arch/xen/include/xen-public/arch-x86/xen.h:1.1.1.2 Wed Dec 7 14:41:17 2011 +++ src/sys/arch/xen/include/xen-public/arch-x86/xen.h Fri Dec 9 10:14:20 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: xen.h,v 1.1.1.2 2011/12/07 14:41:17 cegger Exp $ */ +/* $NetBSD: xen.h,v 1.2 2011/12/09 10:14:20 cegger Exp $ */ /** * arch-x86/xen.h * @@ -46,10 +46,14 @@ #define __XEN_GUEST_HANDLE(name)__guest_handle_ ## name #define XEN_GUEST_HANDLE(name) __XEN_GUEST_HANDLE(name) #define set_xen_guest_handle_raw(hnd, val) do { (hnd).p = val; } while (0) -#ifdef __XEN_TOOLS__ + +#if __XEN_INTERFACE_VERSION__ = 0x00030201 +#define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val) #define get_xen_guest_handle(val, hnd) do { val = (hnd).p; } while (0) +#else +#define set_xen_guest_handle(hnd, val) (hnd) = val +#define get_xen_guest_handle(val, hnd) val = (hnd) #endif -#define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val) #if defined(__i386__) #include xen-x86_32.h
CVS commit: src/sys/arch/xen/include/xen-public
Module Name:src Committed By: cegger Date: Wed Dec 7 14:41:19 UTC 2011 Update of /cvsroot/src/sys/arch/xen/include/xen-public In directory ivanova.netbsd.org:/tmp/cvs-serv11047 Log Message: Welcome to Xen 4.1.2 headers. New interfaces for PV drivers: - Xen transcedent memory - USB IO - SCSI IO PCI IO improvements: - PCI MSI support - PCI Express AER support New features: - xen honors flags to be placed into guest kernel available pte bits if enabled (for grant table) - support for 128 vcpus (old interface is still present and supports up to 32 vcpus) - PCI passthrough: new hypercalls to support SR-IOV - new hypercall for physical cpu hotplugging - new hypercall for physical page offlining - fixes to compile with clang - machine check recovery mechanism Status: Vendor Tag: Xen Release Tags: xen-4_1_2 C src/sys/arch/xen/include/xen-public/grant_table.h U src/sys/arch/xen/include/xen-public/xencomm.h N src/sys/arch/xen/include/xen-public/tmem.h C src/sys/arch/xen/include/xen-public/dom0_ops.h U src/sys/arch/xen/include/xen-public/nmi.h U src/sys/arch/xen/include/xen-public/kexec.h U src/sys/arch/xen/include/xen-public/platform.h U src/sys/arch/xen/include/xen-public/sysctl.h C src/sys/arch/xen/include/xen-public/event_channel.h U src/sys/arch/xen/include/xen-public/features.h U src/sys/arch/xen/include/xen-public/COPYING C src/sys/arch/xen/include/xen-public/physdev.h U src/sys/arch/xen/include/xen-public/version.h U src/sys/arch/xen/include/xen-public/elfnote.h U src/sys/arch/xen/include/xen-public/callback.h U src/sys/arch/xen/include/xen-public/memory.h N src/sys/arch/xen/include/xen-public/mem_event.h C src/sys/arch/xen/include/xen-public/trace.h U src/sys/arch/xen/include/xen-public/xen-compat.h U src/sys/arch/xen/include/xen-public/sched.h U src/sys/arch/xen/include/xen-public/vcpu.h C src/sys/arch/xen/include/xen-public/arch-x86_32.h C src/sys/arch/xen/include/xen-public/arch-x86_64.h U src/sys/arch/xen/include/xen-public/arch-ia64.h U src/sys/arch/xen/include/xen-public/xenoprof.h C src/sys/arch/xen/include/xen-public/xen.h U src/sys/arch/xen/include/xen-public/domctl.h U src/sys/arch/xen/include/xen-public/xsm/flask_op.h U src/sys/arch/xen/include/xen-public/xsm/acm.h U src/sys/arch/xen/include/xen-public/xsm/acm_ops.h U src/sys/arch/xen/include/xen-public/io/console.h U src/sys/arch/xen/include/xen-public/io/tpmif.h U src/sys/arch/xen/include/xen-public/io/ring.h U src/sys/arch/xen/include/xen-public/io/protocols.h U src/sys/arch/xen/include/xen-public/io/pciif.h N src/sys/arch/xen/include/xen-public/io/usbif.h U src/sys/arch/xen/include/xen-public/io/kbdif.h U src/sys/arch/xen/include/xen-public/io/fbif.h C src/sys/arch/xen/include/xen-public/io/blkif.h U src/sys/arch/xen/include/xen-public/io/xenbus.h N src/sys/arch/xen/include/xen-public/io/vscsiif.h U src/sys/arch/xen/include/xen-public/io/fsif.h U src/sys/arch/xen/include/xen-public/io/xs_wire.h C src/sys/arch/xen/include/xen-public/io/netif.h U src/sys/arch/xen/include/xen-public/hvm/hvm_info_table.h U src/sys/arch/xen/include/xen-public/hvm/save.h U src/sys/arch/xen/include/xen-public/hvm/params.h U src/sys/arch/xen/include/xen-public/hvm/ioreq.h U src/sys/arch/xen/include/xen-public/hvm/hvm_op.h U src/sys/arch/xen/include/xen-public/hvm/e820.h U src/sys/arch/xen/include/xen-public/arch-ia64/sioemu.h U src/sys/arch/xen/include/xen-public/arch-ia64/debug_op.h U src/sys/arch/xen/include/xen-public/arch-ia64/hvm/save.h U src/sys/arch/xen/include/xen-public/arch-ia64/hvm/memmap.h U src/sys/arch/xen/include/xen-public/arch-x86/xen.h U src/sys/arch/xen/include/xen-public/arch-x86/xen-x86_64.h U src/sys/arch/xen/include/xen-public/arch-x86/cpuid.h U src/sys/arch/xen/include/xen-public/arch-x86/xen-x86_32.h U src/sys/arch/xen/include/xen-public/arch-x86/xen-mca.h U src/sys/arch/xen/include/xen-public/arch-x86/hvm/save.h 10 conflicts created by this import. Use the following command to help the merge: cvs checkout -jXen:yesterday -jXen src/sys/arch/xen/include/xen-public
CVS commit: src/sys/arch/xen/include/xen-public
Module Name:src Committed By: cegger Date: Wed Dec 7 15:04:19 UTC 2011 Modified Files: src/sys/arch/xen/include/xen-public: event_channel.h grant_table.h physdev.h trace.h xen.h src/sys/arch/xen/include/xen-public/arch-x86: xen-x86_32.h src/sys/arch/xen/include/xen-public/io: blkif.h netif.h xs_wire.h Log Message: merge. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/arch/xen/include/xen-public/event_channel.h \ src/sys/arch/xen/include/xen-public/grant_table.h \ src/sys/arch/xen/include/xen-public/physdev.h \ src/sys/arch/xen/include/xen-public/trace.h cvs rdiff -u -r1.10 -r1.11 src/sys/arch/xen/include/xen-public/xen.h cvs rdiff -u -r1.1.1.2 -r1.2 \ src/sys/arch/xen/include/xen-public/arch-x86/xen-x86_32.h cvs rdiff -u -r1.5 -r1.6 src/sys/arch/xen/include/xen-public/io/blkif.h \ src/sys/arch/xen/include/xen-public/io/netif.h cvs rdiff -u -r1.1.1.2 -r1.2 src/sys/arch/xen/include/xen-public/io/xs_wire.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/xen/include/xen-public/event_channel.h diff -u src/sys/arch/xen/include/xen-public/event_channel.h:1.5 src/sys/arch/xen/include/xen-public/event_channel.h:1.6 --- src/sys/arch/xen/include/xen-public/event_channel.h:1.5 Wed Dec 7 13:24:04 2011 +++ src/sys/arch/xen/include/xen-public/event_channel.h Wed Dec 7 15:04:18 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: event_channel.h,v 1.5 2011/12/07 13:24:04 cegger Exp $ */ +/* $NetBSD: event_channel.h,v 1.6 2011/12/07 15:04:18 cegger Exp $ */ /** * event_channel.h * @@ -28,6 +28,8 @@ #ifndef __XEN_PUBLIC_EVENT_CHANNEL_H__ #define __XEN_PUBLIC_EVENT_CHANNEL_H__ +#include xen.h + /* * Prototype for this hypercall is: * int event_channel_op(int cmd, void *args) Index: src/sys/arch/xen/include/xen-public/grant_table.h diff -u src/sys/arch/xen/include/xen-public/grant_table.h:1.5 src/sys/arch/xen/include/xen-public/grant_table.h:1.6 --- src/sys/arch/xen/include/xen-public/grant_table.h:1.5 Wed Dec 7 13:24:04 2011 +++ src/sys/arch/xen/include/xen-public/grant_table.h Wed Dec 7 15:04:18 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: grant_table.h,v 1.5 2011/12/07 13:24:04 cegger Exp $ */ +/* $NetBSD: grant_table.h,v 1.6 2011/12/07 15:04:18 cegger Exp $ */ /** * grant_table.h * @@ -29,6 +29,7 @@ #ifndef __XEN_PUBLIC_GRANT_TABLE_H__ #define __XEN_PUBLIC_GRANT_TABLE_H__ +#include xen.h /*** * GRANT TABLE REPRESENTATION @@ -85,12 +86,26 @@ */ /* + * Reference to a grant entry in a specified domain's grant table. + */ +typedef uint32_t grant_ref_t; + +/* * A grant table comprises a packed array of grant entries in one or more * page frames shared between Xen and a guest. * [XEN]: This field is written by Xen and read by the sharing guest. * [GST]: This field is written by the guest and read by Xen. */ -struct grant_entry { + +/* + * Version 1 of the grant table entry structure is maintained purely + * for backwards compatibility. New guests should use version 2. + */ +#if __XEN_INTERFACE_VERSION__ 0x0003020a +#define grant_entry_v1 grant_entry +#define grant_entry_v1_t grant_entry_t +#endif +struct grant_entry_v1 { /* GTF_xxx: various type and flag information. [XEN,GST] */ uint16_t flags; /* The domain being granted foreign privileges. [GST] */ @@ -101,7 +116,7 @@ struct grant_entry { */ uint32_t frame; }; -typedef struct grant_entry grant_entry_t; +typedef struct grant_entry_v1 grant_entry_v1_t; /* * Type of grant entry. @@ -109,10 +124,13 @@ typedef struct grant_entry grant_entry_t * GTF_permit_access: Allow @domid to map/access @frame. * GTF_accept_transfer: Allow @domid to transfer ownership of one page frame * to this guest. Xen writes the page number to @frame. + * GTF_transitive: Allow @domid to transitively access a subrange of + * @trans_grant in @trans_domid. No mappings are allowed. */ #define GTF_invalid (0U0) #define GTF_permit_access (1U0) #define GTF_accept_transfer (2U0) +#define GTF_transitive (3U0) #define GTF_type_mask (3U0) /* @@ -121,6 +139,9 @@ typedef struct grant_entry grant_entry_t * GTF_reading: Grant entry is currently mapped for reading by @domid. [XEN] * GTF_writing: Grant entry is currently mapped for writing by @domid. [XEN] * GTF_PAT, GTF_PWT, GTF_PCD: (x86) cache attribute flags for the grant [GST] + * GTF_sub_page: Grant access to only a subrange of the page. @domid + *will only be allowed to copy from the grant, and not + *map it. [GST] */ #define _GTF_readonly (2) #define GTF_readonly(1U_GTF_readonly) @@ -134,6