The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/xen/interface/dom0_ops.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /******************************************************************************
    2  * dom0_ops.h
    3  * 
    4  * Process command requests from domain-0 guest OS.
    5  * 
    6  * Permission is hereby granted, free of charge, to any person obtaining a copy
    7  * of this software and associated documentation files (the "Software"), to
    8  * deal in the Software without restriction, including without limitation the
    9  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
   10  * sell copies of the Software, and to permit persons to whom the Software is
   11  * furnished to do so, subject to the following conditions:
   12  *
   13  * The above copyright notice and this permission notice shall be included in
   14  * all copies or substantial portions of the Software.
   15  *
   16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
   20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
   21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
   22  * DEALINGS IN THE SOFTWARE.
   23  *
   24  * Copyright (c) 2002-2003, B Dragovic
   25  * Copyright (c) 2002-2006, K Fraser
   26  */
   27 
   28 #ifndef __XEN_PUBLIC_DOM0_OPS_H__
   29 #define __XEN_PUBLIC_DOM0_OPS_H__
   30 
   31 #include "xen.h"
   32 #include "platform.h"
   33 
   34 #if __XEN_INTERFACE_VERSION__ >= 0x00030204
   35 #error "dom0_ops.h is a compatibility interface only"
   36 #endif
   37 
   38 #define DOM0_INTERFACE_VERSION XENPF_INTERFACE_VERSION
   39 
   40 #define DOM0_SETTIME          XENPF_settime
   41 #define dom0_settime          xenpf_settime
   42 #define dom0_settime_t        xenpf_settime_t
   43 
   44 #define DOM0_ADD_MEMTYPE      XENPF_add_memtype
   45 #define dom0_add_memtype      xenpf_add_memtype
   46 #define dom0_add_memtype_t    xenpf_add_memtype_t
   47 
   48 #define DOM0_DEL_MEMTYPE      XENPF_del_memtype
   49 #define dom0_del_memtype      xenpf_del_memtype
   50 #define dom0_del_memtype_t    xenpf_del_memtype_t
   51 
   52 #define DOM0_READ_MEMTYPE     XENPF_read_memtype
   53 #define dom0_read_memtype     xenpf_read_memtype
   54 #define dom0_read_memtype_t   xenpf_read_memtype_t
   55 
   56 #define DOM0_MICROCODE        XENPF_microcode_update
   57 #define dom0_microcode        xenpf_microcode_update
   58 #define dom0_microcode_t      xenpf_microcode_update_t
   59 
   60 #define DOM0_PLATFORM_QUIRK   XENPF_platform_quirk
   61 #define dom0_platform_quirk   xenpf_platform_quirk
   62 #define dom0_platform_quirk_t xenpf_platform_quirk_t
   63 
   64 typedef uint64_t cpumap_t;
   65 
   66 /* Unsupported legacy operation -- defined for API compatibility. */
   67 #define DOM0_MSR                 15
   68 struct dom0_msr {
   69     /* IN variables. */
   70     uint32_t write;
   71     cpumap_t cpu_mask;
   72     uint32_t msr;
   73     uint32_t in1;
   74     uint32_t in2;
   75     /* OUT variables. */
   76     uint32_t out1;
   77     uint32_t out2;
   78 };
   79 typedef struct dom0_msr dom0_msr_t;
   80 DEFINE_XEN_GUEST_HANDLE(dom0_msr_t);
   81 
   82 /* Unsupported legacy operation -- defined for API compatibility. */
   83 #define DOM0_PHYSICAL_MEMORY_MAP 40
   84 struct dom0_memory_map_entry {
   85     uint64_t start, end;
   86     uint32_t flags; /* reserved */
   87     uint8_t  is_ram;
   88 };
   89 typedef struct dom0_memory_map_entry dom0_memory_map_entry_t;
   90 DEFINE_XEN_GUEST_HANDLE(dom0_memory_map_entry_t);
   91 
   92 struct dom0_op {
   93     uint32_t cmd;
   94     uint32_t interface_version; /* DOM0_INTERFACE_VERSION */
   95     union {
   96         struct dom0_msr               msr;
   97         struct dom0_settime           settime;
   98         struct dom0_add_memtype       add_memtype;
   99         struct dom0_del_memtype       del_memtype;
  100         struct dom0_read_memtype      read_memtype;
  101         struct dom0_microcode         microcode;
  102         struct dom0_platform_quirk    platform_quirk;
  103         struct dom0_memory_map_entry  physical_memory_map;
  104         uint8_t                       pad[128];
  105     } u;
  106 };
  107 typedef struct dom0_op dom0_op_t;
  108 DEFINE_XEN_GUEST_HANDLE(dom0_op_t);
  109 
  110 #endif /* __XEN_PUBLIC_DOM0_OPS_H__ */
  111 
  112 /*
  113  * Local variables:
  114  * mode: C
  115  * c-set-style: "BSD"
  116  * c-basic-offset: 4
  117  * tab-width: 4
  118  * indent-tabs-mode: nil
  119  * End:
  120  */

Cache object: 3927f60f922638a3d59505112b9bdc04


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.