Subversion Repositories HelenOS

Rev

Rev 4095 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4095 Rev 4126
Line 340... Line 340...
340
/** Load GDTR register from memory.
340
/** Load GDTR register from memory.
341
 *
341
 *
342
 * @param gdtr_reg Address of memory from where to load GDTR.
342
 * @param gdtr_reg Address of memory from where to load GDTR.
343
 *
343
 *
344
 */
344
 */
345
static inline void gdtr_load(struct ptr_16_64 *gdtr_reg)
345
static inline void gdtr_load(ptr_16_64_t *gdtr_reg)
346
{
346
{
347
    asm volatile (
347
    asm volatile (
348
        "lgdtq %[gdtr_reg]\n"
348
        "lgdtq %[gdtr_reg]\n"
349
        :: [gdtr_reg] "m" (*gdtr_reg)
349
        :: [gdtr_reg] "m" (*gdtr_reg)
350
    );
350
    );
Line 353... Line 353...
353
/** Store GDTR register to memory.
353
/** Store GDTR register to memory.
354
 *
354
 *
355
 * @param gdtr_reg Address of memory to where to load GDTR.
355
 * @param gdtr_reg Address of memory to where to load GDTR.
356
 *
356
 *
357
 */
357
 */
358
static inline void gdtr_store(struct ptr_16_64 *gdtr_reg)
358
static inline void gdtr_store(ptr_16_64_t *gdtr_reg)
359
{
359
{
360
    asm volatile (
360
    asm volatile (
361
        "sgdtq %[gdtr_reg]\n"
361
        "sgdtq %[gdtr_reg]\n"
362
        :: [gdtr_reg] "m" (*gdtr_reg)
362
        :: [gdtr_reg] "m" (*gdtr_reg)
363
    );
363
    );
Line 366... Line 366...
366
/** Load IDTR register from memory.
366
/** Load IDTR register from memory.
367
 *
367
 *
368
 * @param idtr_reg Address of memory from where to load IDTR.
368
 * @param idtr_reg Address of memory from where to load IDTR.
369
 *
369
 *
370
 */
370
 */
371
static inline void idtr_load(struct ptr_16_64 *idtr_reg)
371
static inline void idtr_load(ptr_16_64_t *idtr_reg)
372
{
372
{
373
    asm volatile (
373
    asm volatile (
374
        "lidtq %[idtr_reg]\n"
374
        "lidtq %[idtr_reg]\n"
375
        :: [idtr_reg] "m" (*idtr_reg));
375
        :: [idtr_reg] "m" (*idtr_reg));
376
}
376
}