diff options
Diffstat (limited to 'c/src/lib/libcpu/i386')
-rw-r--r-- | c/src/lib/libcpu/i386/cpu.h | 6 | ||||
-rw-r--r-- | c/src/lib/libcpu/i386/idtr.S | 6 |
2 files changed, 7 insertions, 5 deletions
diff --git a/c/src/lib/libcpu/i386/cpu.h b/c/src/lib/libcpu/i386/cpu.h index 4c567319b9..e14acc4ce7 100644 --- a/c/src/lib/libcpu/i386/cpu.h +++ b/c/src/lib/libcpu/i386/cpu.h @@ -28,6 +28,8 @@ */ #include <rtems/score/interrupts.h> +#include <stdint.h> + /* * Segment Access Routines * @@ -261,13 +263,13 @@ typedef struct { * the actual value of GDT register. */ extern void i386_get_info_from_GDTR (segment_descriptors** table, - unsigned* limit); + uint16_t* limit); /* * C callable function enabling to change the value of GDT register. Must be called * with interrupts masked at processor level!!!. */ extern void i386_set_GDTR (segment_descriptors*, - unsigned limit); + uint16_t limit); /* * C callable function enabling to set up one raw interrupt handler diff --git a/c/src/lib/libcpu/i386/idtr.S b/c/src/lib/libcpu/i386/idtr.S index b77bd146e0..48ce1df8c4 100644 --- a/c/src/lib/libcpu/i386/idtr.S +++ b/c/src/lib/libcpu/i386/idtr.S @@ -69,7 +69,7 @@ SYM (i386_set_IDTR): * C callable function enabling to get easilly usable info from * the actual value of GDT register. extern void i386_get_info_from_GDTR (segment_descriptors** table, - unsigned* limit); + uint16_t* limit); */ SYM (i386_get_info_from_GDTR): @@ -85,7 +85,7 @@ SYM (i386_get_info_from_GDTR): movl eax, (ecx) movzwl (esp), eax /* get limit */ - movl eax, (edx) + movw ax, (edx) addl $6, esp /* restore %esp */ ret @@ -93,7 +93,7 @@ SYM (i386_get_info_from_GDTR): /* * C callable function enabling to change the value of GDT register. * Must be called with interrupts masked at processor level!!!. - * extern void i386_set_GDTR (segment_descriptors*, unsigned limit); + * extern void i386_set_GDTR (segment_descriptors*, uint16_t limit); */ SYM (i386_set_GDTR): |