]> git.proxmox.com Git - mirror_qemu.git/blame - linux-user/exit.c
Merge tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu into...
[mirror_qemu.git] / linux-user / exit.c
CommitLineData
708b6a64
AB
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"
5584e2db 20#include "accel/tcg/perf.h"
c566080c 21#include "gdbstub/syscalls.h"
708b6a64 22#include "qemu.h"
3b249d26 23#include "user-internals.h"
4cc600d2 24#ifdef CONFIG_GPROF
9b21a36c
AB
25#include <sys/gmon.h>
26#endif
708b6a64 27
7781afb4
AB
28#ifdef CONFIG_GCOV
29extern void __gcov_dump(void);
30#endif
31
708b6a64
AB
32void preexit_cleanup(CPUArchState *env, int code)
33{
4cc600d2 34#ifdef CONFIG_GPROF
708b6a64 35 _mcleanup();
7781afb4
AB
36#endif
37#ifdef CONFIG_GCOV
38 __gcov_dump();
708b6a64 39#endif
ad9dcb20 40 gdb_exit(code);
f7e68c9c 41 qemu_plugin_user_exit();
5584e2db 42 perf_exit();
708b6a64 43}