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

exit.c (1167B)


      1/*
      2 *  exit support for qemu
      3 *
      4 *  Copyright (c) 2018 Alex Bennée <alex.bennee@linaro.org>
      5 *
      6 *  This program is free software; you can redistribute it and/or modify
      7 *  it under the terms of the GNU General Public License as published by
      8 *  the Free Software Foundation; either version 2 of the License, or
      9 *  (at your option) any later version.
     10 *
     11 *  This program is distributed in the hope that it will be useful,
     12 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
     13 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14 *  GNU General Public License for more details.
     15 *
     16 *  You should have received a copy of the GNU General Public License
     17 *  along with this program; if not, see <http://www.gnu.org/licenses/>.
     18 */
     19#include "qemu/osdep.h"
     20#include "exec/gdbstub.h"
     21#include "qemu.h"
     22#include "user-internals.h"
     23#ifdef CONFIG_GPROF
     24#include <sys/gmon.h>
     25#endif
     26
     27#ifdef CONFIG_GCOV
     28extern void __gcov_dump(void);
     29#endif
     30
     31void preexit_cleanup(CPUArchState *env, int code)
     32{
     33#ifdef CONFIG_GPROF
     34        _mcleanup();
     35#endif
     36#ifdef CONFIG_GCOV
     37        __gcov_dump();
     38#endif
     39        gdb_exit(code);
     40        qemu_plugin_user_exit();
     41}