io file
在 io_file 里面
flush+reload
如何共享内存页
引入共享库,写诗复制
如何如何泄露出缓存里面的数据的
只能泄露地址
how to compile and use dynamic share library
原理
int probe(char *adrs) {
    volatile unsigned long time;
    asm __volatile__ (
        "mfence    \n"    // memory fence, load 和 read 不能跨越这个 fence
        "lfence    \n"    // load fence, 不懂为什么要有这一步
        "rdtsc    \n"     // read time stamp counter 读时间戳到 EDX:EAX
        "lfence    \n"
        "movl %%eax, %%esi    \n"
        "movl (%1), %%eax    \n"     // 访问 addr
        "lfence    \n"
        "rdtsc    \n"
        "subl %%esi, %%eax    \n"    //时间差
        "clflush 0(%1)    \n"
        : "=a" (time)
        : "c" (adrs)
        :
        "%esi", "%edx");
    return time < threshold;
}