summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libcpu')
-rw-r--r--c/src/lib/libcpu/i386/cpu.h6
-rw-r--r--c/src/lib/libcpu/i386/idtr.S6
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):