RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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 */
38typedef 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 */
52extern 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 */
58extern 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 */
65extern void i386_set_IDTR (interrupt_gate_descriptor* table,
66 unsigned limit);
67
68#endif
Definition: idtr.h:39