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/arch-ia64/sioemu.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  * sioemu.h
    3  *
    4  * Copyright (c) 2008 Tristan Gingold <tgingold@free.fr>
    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 
   25 #ifndef __XEN_PUBLIC_IA64_SIOEMU_H__
   26 #define __XEN_PUBLIC_IA64_SIOEMU_H__
   27 
   28 /* SIOEMU specific hypercalls.
   29    The numbers are the minor part of FW_HYPERCALL_SIOEMU.  */
   30 
   31 /* Defines the callback entry point.  r8=ip, r9=data.
   32    Must be called per-vcpu.  */
   33 #define SIOEMU_HYPERCALL_SET_CALLBACK 0x01
   34 
   35 /* Finish sioemu fw initialization and start firmware.  r8=ip.  */
   36 #define SIOEMU_HYPERCALL_START_FW 0x02
   37 
   38 /* Add IO pages in physmap.  */
   39 #define SIOEMU_HYPERCALL_ADD_IO_PHYSMAP 0x03
   40 
   41 /* Get wallclock time.  */
   42 #define SIOEMU_HYPERCALL_GET_TIME 0x04
   43 
   44 /* Flush cache.  */
   45 #define SIOEMU_HYPERCALL_FLUSH_CACHE 0x07
   46 
   47 /* Get freq base.  */
   48 #define SIOEMU_HYPERCALL_FREQ_BASE 0x08
   49 
   50 /* Return from callback.  */
   51 #define SIOEMU_HYPERCALL_CALLBACK_RETURN 0x09
   52 
   53 /* Deliver an interrupt.  */
   54 #define SIOEMU_HYPERCALL_DELIVER_INT 0x0a
   55 
   56 /* SIOEMU callback reason.  */
   57 
   58 /* An event (from event channel) has to be delivered.  */
   59 #define SIOEMU_CB_EVENT       0x00
   60 
   61 /* Emulate an IO access.  */
   62 #define SIOEMU_CB_IO_EMULATE  0x01
   63 
   64 /* An IPI is sent to a dead vcpu.  */
   65 #define SIOEMU_CB_WAKEUP_VCPU 0x02
   66 
   67 /* A SAL hypercall is executed.  */
   68 #define SIOEMU_CB_SAL_ASSIST  0x03
   69 
   70 #ifndef __ASSEMBLY__
   71 struct sioemu_callback_info {
   72     /* Saved registers.  */
   73     unsigned long ip;
   74     unsigned long psr;
   75     unsigned long ifs;
   76     unsigned long nats;
   77     unsigned long r8;
   78     unsigned long r9;
   79     unsigned long r10;
   80     unsigned long r11;
   81 
   82     /* Callback parameters.  */
   83     unsigned long cause;
   84     unsigned long arg0;
   85     unsigned long arg1;
   86     unsigned long arg2;
   87     unsigned long arg3;
   88     unsigned long _pad2[2];
   89     unsigned long r2;
   90 };
   91 #endif /* __ASSEMBLY__ */
   92 #endif /* __XEN_PUBLIC_IA64_SIOEMU_H__ */

Cache object: 6803b385d9606de7e6ebf03cf4c33ca9


[ 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.