RTEMS  5.0.0
idtr.h
Go to the documentation of this file.
1 
20 /*
21  * COPYRIGHT (C) 1998 Eric Valette (valette@crf.canon.fr)
22  * Canon Centre Recherche France.
23  *
24  * The license and distribution terms for this file may be
25  * found in the file LICENSE in this distribution or at
26  * http://www.rtems.org/license/LICENSE.
27  *
28  * Applications must not include this file directly.
29  */
30 
31 #ifndef _RTEMS_SCORE_IDTR_H
32 #define _RTEMS_SCORE_IDTR_H
33 
34 /*
35  * See page 14.9 Figure 14-2.
36  *
37  */
38 typedef struct
39 {
40  unsigned int low_offsets_bits:16;
41  unsigned int segment_selector:16;
42  unsigned int fixed_value_bits:8;
43  unsigned int gate_type:5;
44  unsigned int privilege:2;
45  unsigned int present:1;
46  unsigned int high_offsets_bits:16;
48 
49 /*
50  * C callable function enabling to create a interrupt_gate_descriptor
51  */
52 extern void create_interrupt_gate_descriptor (interrupt_gate_descriptor*, rtems_raw_irq_hdl);
53 
54 /*
55  * C callable function enabling to get easily usable info from
56  * the actual value of IDT register.
57  */
58 extern void i386_get_info_from_IDTR (interrupt_gate_descriptor** table,
59  unsigned* limit);
60 
61 /*
62  * C callable function enabling to change the value of IDT register. Must be called
63  * with interrupts masked at processor level!!!.
64  */
65 extern void i386_set_IDTR (interrupt_gate_descriptor* table,
66  unsigned limit);
67 
68 #endif
Definition: idtr.h:38