cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

qemu-thread-common.h (1251B)


      1/*
      2 * Common qemu-thread implementation header file.
      3 *
      4 * Copyright Red Hat, Inc. 2018
      5 *
      6 * Authors:
      7 *  Peter Xu <peterx@redhat.com>,
      8 *
      9 * This work is licensed under the terms of the GNU GPL, version 2 or later.
     10 * See the COPYING file in the top-level directory.
     11 */
     12
     13#ifndef QEMU_THREAD_COMMON_H
     14#define QEMU_THREAD_COMMON_H
     15
     16#include "qemu/thread.h"
     17#include "trace.h"
     18
     19static inline void qemu_mutex_post_init(QemuMutex *mutex)
     20{
     21#ifdef CONFIG_DEBUG_MUTEX
     22    mutex->file = NULL;
     23    mutex->line = 0;
     24#endif
     25    mutex->initialized = true;
     26}
     27
     28static inline void qemu_mutex_pre_lock(QemuMutex *mutex,
     29                                       const char *file, int line)
     30{
     31    trace_qemu_mutex_lock(mutex, file, line);
     32}
     33
     34static inline void qemu_mutex_post_lock(QemuMutex *mutex,
     35                                        const char *file, int line)
     36{
     37#ifdef CONFIG_DEBUG_MUTEX
     38    mutex->file = file;
     39    mutex->line = line;
     40#endif
     41    trace_qemu_mutex_locked(mutex, file, line);
     42}
     43
     44static inline void qemu_mutex_pre_unlock(QemuMutex *mutex,
     45                                         const char *file, int line)
     46{
     47#ifdef CONFIG_DEBUG_MUTEX
     48    mutex->file = NULL;
     49    mutex->line = 0;
     50#endif
     51    trace_qemu_mutex_unlock(mutex, file, line);
     52}
     53
     54#endif