Changeset 897ad60 in mainline for arch/ia32/include/asm.h


Ignore:
Timestamp:
2006-04-13T16:11:27Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
39cea6a
Parents:
963074b3
Message:

Replace assembly from pm.c with new inline functions defined in asm.h.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia32/include/asm.h

    r963074b3 r897ad60  
    3131#define __ia32_ASM_H__
    3232
     33#include <arch/pm.h>
    3334#include <arch/types.h>
    3435#include <config.h>
     
    252253}
    253254
     255/** Load GDTR register from memory.
     256 *
     257 * @param gdtr_reg Address of memory from where to load GDTR.
     258 */
     259static inline void gdtr_load(struct ptr_16_32 *gdtr_reg)
     260{
     261        __asm__ volatile ("lgdt %0\n" : : "m" (*gdtr_reg));
     262}
     263
     264/** Store GDTR register to memory.
     265 *
     266 * @param gdtr_reg Address of memory to where to load GDTR.
     267 */
     268static inline void gdtr_store(struct ptr_16_32 *gdtr_reg)
     269{
     270        __asm__ volatile ("sgdt %0\n" : : "m" (*gdtr_reg));
     271}
     272
     273/** Load IDTR register from memory.
     274 *
     275 * @param idtr_reg Address of memory from where to load IDTR.
     276 */
     277static inline void idtr_load(struct ptr_16_32 *idtr_reg)
     278{
     279        __asm__ volatile ("lidt %0\n" : : "m" (*idtr_reg));
     280}
     281
     282/** Load TR from descriptor table.
     283 *
     284 * @param sel Selector specifying descriptor of TSS segment.
     285 */
     286static inline void tr_load(__u16 sel)
     287{
     288        __asm__ volatile ("ltr %0" : : "r" (sel));
     289}
     290
    254291#endif
Note: See TracChangeset for help on using the changeset viewer.