linux/arch/x86/um/asm/processor_64.h
<<
>>
Prefs
   1/*
   2 * Copyright 2003 PathScale, Inc.
   3 *
   4 * Licensed under the GPL
   5 */
   6
   7#ifndef __UM_PROCESSOR_X86_64_H
   8#define __UM_PROCESSOR_X86_64_H
   9
  10struct arch_thread {
  11        unsigned long debugregs[8];
  12        int debugregs_seq;
  13        unsigned long fs;
  14        struct faultinfo faultinfo;
  15};
  16
  17#define INIT_ARCH_THREAD { .debugregs           = { [ 0 ... 7 ] = 0 }, \
  18                           .debugregs_seq       = 0, \
  19                           .fs                  = 0, \
  20                           .faultinfo           = { 0, 0, 0 } }
  21
  22#define STACKSLOTS_PER_LINE 4
  23
  24static inline void arch_flush_thread(struct arch_thread *thread)
  25{
  26}
  27
  28static inline void arch_copy_thread(struct arch_thread *from,
  29                                    struct arch_thread *to)
  30{
  31        to->fs = from->fs;
  32}
  33
  34#define current_sp() ({ void *sp; __asm__("movq %%rsp, %0" : "=r" (sp) : ); sp; })
  35#define current_bp() ({ unsigned long bp; __asm__("movq %%rbp, %0" : "=r" (bp) : ); bp; })
  36
  37#endif
  38