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