~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/powerpc/include/uapi/asm/epapr_hcalls.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */
  2 /*
  3  * ePAPR hcall interface
  4  *
  5  * Copyright 2008-2011 Freescale Semiconductor, Inc.
  6  *
  7  * Author: Timur Tabi <timur@freescale.com>
  8  *
  9  * This file is provided under a dual BSD/GPL license.  When using or
 10  * redistributing this file, you may do so under either license.
 11  *
 12  * Redistribution and use in source and binary forms, with or without
 13  * modification, are permitted provided that the following conditions are met:
 14  *     * Redistributions of source code must retain the above copyright
 15  *       notice, this list of conditions and the following disclaimer.
 16  *     * Redistributions in binary form must reproduce the above copyright
 17  *       notice, this list of conditions and the following disclaimer in the
 18  *       documentation and/or other materials provided with the distribution.
 19  *     * Neither the name of Freescale Semiconductor nor the
 20  *       names of its contributors may be used to endorse or promote products
 21  *       derived from this software without specific prior written permission.
 22  *
 23  *
 24  * ALTERNATIVELY, this software may be distributed under the terms of the
 25  * GNU General Public License ("GPL") as published by the Free Software
 26  * Foundation, either version 2 of that License or (at your option) any
 27  * later version.
 28  *
 29  * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
 30  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 31  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 32  * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
 33  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 34  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 35  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 36  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 37  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 38  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 39  */
 40 
 41 #ifndef _UAPI_ASM_POWERPC_EPAPR_HCALLS_H
 42 #define _UAPI_ASM_POWERPC_EPAPR_HCALLS_H
 43 
 44 #define EV_BYTE_CHANNEL_SEND            1
 45 #define EV_BYTE_CHANNEL_RECEIVE         2
 46 #define EV_BYTE_CHANNEL_POLL            3
 47 #define EV_INT_SET_CONFIG               4
 48 #define EV_INT_GET_CONFIG               5
 49 #define EV_INT_SET_MASK                 6
 50 #define EV_INT_GET_MASK                 7
 51 #define EV_INT_IACK                     9
 52 #define EV_INT_EOI                      10
 53 #define EV_INT_SEND_IPI                 11
 54 #define EV_INT_SET_TASK_PRIORITY        12
 55 #define EV_INT_GET_TASK_PRIORITY        13
 56 #define EV_DOORBELL_SEND                14
 57 #define EV_MSGSND                       15
 58 #define EV_IDLE                         16
 59 
 60 /* vendor ID: epapr */
 61 #define EV_LOCAL_VENDOR_ID              0       /* for private use */
 62 #define EV_EPAPR_VENDOR_ID              1
 63 #define EV_FSL_VENDOR_ID                2       /* Freescale Semiconductor */
 64 #define EV_IBM_VENDOR_ID                3       /* IBM */
 65 #define EV_GHS_VENDOR_ID                4       /* Green Hills Software */
 66 #define EV_ENEA_VENDOR_ID               5       /* Enea */
 67 #define EV_WR_VENDOR_ID                 6       /* Wind River Systems */
 68 #define EV_AMCC_VENDOR_ID               7       /* Applied Micro Circuits */
 69 #define EV_KVM_VENDOR_ID                42      /* KVM */
 70 
 71 /* The max number of bytes that a byte channel can send or receive per call */
 72 #define EV_BYTE_CHANNEL_MAX_BYTES       16
 73 
 74 
 75 #define _EV_HCALL_TOKEN(id, num) (((id) << 16) | (num))
 76 #define EV_HCALL_TOKEN(hcall_num) _EV_HCALL_TOKEN(EV_EPAPR_VENDOR_ID, hcall_num)
 77 
 78 /* epapr return codes */
 79 #define EV_SUCCESS              0
 80 #define EV_EPERM                1       /* Operation not permitted */
 81 #define EV_ENOENT               2       /*  Entry Not Found */
 82 #define EV_EIO                  3       /* I/O error occurred */
 83 #define EV_EAGAIN               4       /* The operation had insufficient
 84                                          * resources to complete and should be
 85                                          * retried
 86                                          */
 87 #define EV_ENOMEM               5       /* There was insufficient memory to
 88                                          * complete the operation */
 89 #define EV_EFAULT               6       /* Bad guest address */
 90 #define EV_ENODEV               7       /* No such device */
 91 #define EV_EINVAL               8       /* An argument supplied to the hcall
 92                                            was out of range or invalid */
 93 #define EV_INTERNAL             9       /* An internal error occurred */
 94 #define EV_CONFIG               10      /* A configuration error was detected */
 95 #define EV_INVALID_STATE        11      /* The object is in an invalid state */
 96 #define EV_UNIMPLEMENTED        12      /* Unimplemented hypercall */
 97 #define EV_BUFFER_OVERFLOW      13      /* Caller-supplied buffer too small */
 98 
 99 #endif /* _UAPI_ASM_POWERPC_EPAPR_HCALLS_H */
100 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php