cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

processor_64.h (864B)


      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