xref: /openbmc/qemu/accel/tcg/tb-context.h (revision bd38ae26cea0d1d6a97f930248df149204c210a2)
1e5ceadffSPhilippe Mathieu-Daudé /*
2e5ceadffSPhilippe Mathieu-Daudé  * Internal structs that QEMU exports to TCG
3e5ceadffSPhilippe Mathieu-Daudé  *
4e5ceadffSPhilippe Mathieu-Daudé  *  Copyright (c) 2003 Fabrice Bellard
5e5ceadffSPhilippe Mathieu-Daudé  *
6e5ceadffSPhilippe Mathieu-Daudé  * This library is free software; you can redistribute it and/or
7e5ceadffSPhilippe Mathieu-Daudé  * modify it under the terms of the GNU Lesser General Public
8e5ceadffSPhilippe Mathieu-Daudé  * License as published by the Free Software Foundation; either
9e5ceadffSPhilippe Mathieu-Daudé  * version 2.1 of the License, or (at your option) any later version.
10e5ceadffSPhilippe Mathieu-Daudé  *
11e5ceadffSPhilippe Mathieu-Daudé  * This library is distributed in the hope that it will be useful,
12e5ceadffSPhilippe Mathieu-Daudé  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13e5ceadffSPhilippe Mathieu-Daudé  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14e5ceadffSPhilippe Mathieu-Daudé  * Lesser General Public License for more details.
15e5ceadffSPhilippe Mathieu-Daudé  *
16e5ceadffSPhilippe Mathieu-Daudé  * You should have received a copy of the GNU Lesser General Public
17e5ceadffSPhilippe Mathieu-Daudé  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
18e5ceadffSPhilippe Mathieu-Daudé  */
19e5ceadffSPhilippe Mathieu-Daudé 
20e5ceadffSPhilippe Mathieu-Daudé #ifndef QEMU_TB_CONTEXT_H
21e5ceadffSPhilippe Mathieu-Daudé #define QEMU_TB_CONTEXT_H
22e5ceadffSPhilippe Mathieu-Daudé 
23e5ceadffSPhilippe Mathieu-Daudé #include "qemu/thread.h"
24e5ceadffSPhilippe Mathieu-Daudé #include "qemu/qht.h"
25e5ceadffSPhilippe Mathieu-Daudé 
26e5ceadffSPhilippe Mathieu-Daudé #define CODE_GEN_HTABLE_BITS     15
27e5ceadffSPhilippe Mathieu-Daudé #define CODE_GEN_HTABLE_SIZE     (1 << CODE_GEN_HTABLE_BITS)
28e5ceadffSPhilippe Mathieu-Daudé 
29e5ceadffSPhilippe Mathieu-Daudé typedef struct TBContext TBContext;
30e5ceadffSPhilippe Mathieu-Daudé 
31e5ceadffSPhilippe Mathieu-Daudé struct TBContext {
32e5ceadffSPhilippe Mathieu-Daudé 
33e5ceadffSPhilippe Mathieu-Daudé     struct qht htable;
34e5ceadffSPhilippe Mathieu-Daudé 
35e5ceadffSPhilippe Mathieu-Daudé     /* statistics */
36e5ceadffSPhilippe Mathieu-Daudé     unsigned tb_flush_count;
37*a4390647SRichard Henderson     unsigned tb_phys_invalidate_count;
38e5ceadffSPhilippe Mathieu-Daudé };
39e5ceadffSPhilippe Mathieu-Daudé 
40e5ceadffSPhilippe Mathieu-Daudé extern TBContext tb_ctx;
41e5ceadffSPhilippe Mathieu-Daudé 
42e5ceadffSPhilippe Mathieu-Daudé #endif
43