RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
cpukit
score
cpu
i386
include
rtems
score
idtr.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
23
24
/*
25
* COPYRIGHT (C) 1998 Eric Valette (valette@crf.canon.fr)
26
* Canon Centre Recherche France.
27
*
28
* Redistribution and use in source and binary forms, with or without
29
* modification, are permitted provided that the following conditions
30
* are met:
31
* 1. Redistributions of source code must retain the above copyright
32
* notice, this list of conditions and the following disclaimer.
33
* 2. Redistributions in binary form must reproduce the above copyright
34
* notice, this list of conditions and the following disclaimer in the
35
* documentation and/or other materials provided with the distribution.
36
*
37
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
38
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
39
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
40
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
41
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
42
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
43
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
44
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
45
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
46
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
47
* POSSIBILITY OF SUCH DAMAGE.
48
*/
49
50
#ifndef _RTEMS_SCORE_IDTR_H
51
#define _RTEMS_SCORE_IDTR_H
52
53
/*
54
* See page 14.9 Figure 14-2.
55
*
56
*/
57
typedef
struct
58
{
59
unsigned
int
low_offsets_bits:16;
60
unsigned
int
segment_selector:16;
61
unsigned
int
fixed_value_bits:8;
62
unsigned
int
gate_type:5;
63
unsigned
int
privilege:2;
64
unsigned
int
present:1;
65
unsigned
int
high_offsets_bits:16;
66
}
interrupt_gate_descriptor
;
67
68
/*
69
* C callable function enabling to create a interrupt_gate_descriptor
70
*/
71
extern
void
create_interrupt_gate_descriptor (
interrupt_gate_descriptor
*, rtems_raw_irq_hdl);
72
73
/*
74
* C callable function enabling to get easily usable info from
75
* the actual value of IDT register.
76
*/
77
extern
void
i386_get_info_from_IDTR (
interrupt_gate_descriptor
** table,
78
unsigned
* limit);
79
80
/*
81
* C callable function enabling to change the value of IDT register. Must be called
82
* with interrupts masked at processor level!!!.
83
*/
84
extern
void
i386_set_IDTR (
interrupt_gate_descriptor
* table,
85
unsigned
limit);
86
87
#endif
interrupt_gate_descriptor
Definition
idtr.h:58
Generated by
1.18.0