summaryrefslogtreecommitdiff
path: root/nuttx/arch/x86/src/i486/up_initialstate.c
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/arch/x86/src/i486/up_initialstate.c')
-rw-r--r--nuttx/arch/x86/src/i486/up_initialstate.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/nuttx/arch/x86/src/i486/up_initialstate.c b/nuttx/arch/x86/src/i486/up_initialstate.c
index 6e7417d5c..1a13b8991 100644
--- a/nuttx/arch/x86/src/i486/up_initialstate.c
+++ b/nuttx/arch/x86/src/i486/up_initialstate.c
@@ -93,6 +93,14 @@ void up_initial_state(_TCB *tcb)
xcp->regs[REG_EIP] = (uint32_t)tcb->start;
+ /* Set up the segment registers... assume the same segment as the caller.
+ * That is not a good assumption in the long run.
+ */
+
+ xcp->regs[REG_DS] = up_getds();
+ xcp->regs[REG_CS] = up_getcs();
+ xcp->regs[REG_SS] = up_getss();
+
/* Enable or disable interrupts, based on user configuration. If the IF
* bit is set, maskable interrupts will be enabled.
*/