Subversion Repositories HelenOS-historic

Rev

Rev 1074 | Rev 1119 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1074 Rev 1112
Line 49... Line 49...
49
#include <arch/bios/bios.h>
49
#include <arch/bios/bios.h>
50
 
50
 
51
#include <arch/mm/memory_init.h>
51
#include <arch/mm/memory_init.h>
52
#include <interrupt.h>
52
#include <interrupt.h>
53
#include <arch/debugger.h>
53
#include <arch/debugger.h>
-
 
54
#include <proc/thread.h>
-
 
55
#include <syscall/syscall.h>
54
 
56
 
55
void arch_pre_mm_init(void)
57
void arch_pre_mm_init(void)
56
{
58
{
57
    pm_init();
59
    pm_init();
58
 
60
 
Line 104... Line 106...
104
         * On SMP, i8254 is not used for time keeping and its interrupt pin remains masked.
106
         * On SMP, i8254 is not used for time keeping and its interrupt pin remains masked.
105
         */
107
         */
106
        i8254_normal_operation();
108
        i8254_normal_operation();
107
    }
109
    }
108
}
110
}
-
 
111
 
-
 
112
/** Set Thread-local-storeage pointer
-
 
113
 *
-
 
114
 * TLS pointer is set in FS register. Unfortunately the 64-bit
-
 
115
 * part can be set only in CPL0 mode.
-
 
116
 *
-
 
117
 * The specs says, that on %fs:0 there is stored contents of %fs register,
-
 
118
 * we need not to go to CPL0 to read it.
-
 
119
 */
-
 
120
__native sys_tls_set(__native addr)
-
 
121
{
-
 
122
    THREAD->tls = addr;
-
 
123
    set_tls_desc(addr);
-
 
124
 
-
 
125
    return 0;
-
 
126
}