source: rtems/cpukit/score/cpu/i386/include/rtems/score/paravirt.h @ 7c39cab

5
Last change on this file since 7c39cab was 7c39cab, checked in by Joel Sherrill <joel@…>, on 03/12/18 at 19:46:29

Rework i386 Paravirtualization to have paravirt.h

  • Property mode set to 100644
File size: 1.5 KB
Line 
1/**
2 * @file
3 *
4 * @brief i386 Paravirtualization Definitions
5 *
6 * This include file contains definitions pertaining to paravirtualization
7 * of the i386 port.
8 */
9
10/*
11 *  COPYRIGHT (c) 2018.
12 *  On-Line Applications Research Corporation (OAR).
13 *
14 *  The license and distribution terms for this file may in
15 *  the file LICENSE in this distribution or at
16 *  http://www.rtems.org/license/LICENSE.
17 */
18
19
20#ifndef RTEMS_PARAVIRT
21#error "This file should only be included with paravirtualization is enabled."
22#endif
23
24#ifndef _RTEMS_SCORE_PARAVIRT_H
25#define _RTEMS_SCORE_PARAVIRT_H
26
27/**
28 * @defgroup Paravirti386 Paravirtualization i386 Support
29 *
30 * @ingroup Score
31 *
32 * This handler encapulates the functionality (primarily conditional
33 * feature defines) related to paravirtualization on the i386.
34 *
35 * Paravirtualization on the i386 makes the following assumptions:
36 *
37 *   - RTEMS executes in user space
38 *   - Interrupt enable/disable support using the MSR must be disabled
39 *     and replaced with BSP provided methods which are adapted to the
40 *     hosting environment.
41 */
42
43#ifndef ASM
44
45#ifdef __cplusplus
46extern "C" {
47#endif
48
49#ifdef __cplusplus
50}
51#endif
52
53#endif  /* !ASM */
54
55/**
56 * In a paravirtualized environment, RTEMS executes in user space
57 * and cannot disable/enable external exceptions (e.g. interrupts).
58 * The BSP which acts as an adapter to the hosting environment will
59 * provide the interrupt enable/disable methods.
60 */
61#define I386_DISABLE_INLINE_ISR_DISABLE_ENABLE
62
63#endif
Note: See TracBrowser for help on using the repository browser.