VirtualBox

source: vbox/trunk/src/VBox/VMM/tools/VBoxCpuReport.h

Last change on this file was 98103, checked in by vboxsync, 17 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.3 KB
Line 
1/* $Id: VBoxCpuReport.h 98103 2023-01-17 14:15:46Z vboxsync $ */
2/** @file
3 * VBoxCpuReport internal header file.
4 */
5
6/*
7 * Copyright (C) 2013-2023 Oracle and/or its affiliates.
8 *
9 * This file is part of VirtualBox base platform packages, as
10 * available from https://www.virtualbox.org.
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation, in version 3 of the
15 * License.
16 *
17 * This program is distributed in the hope that it will be useful, but
18 * WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, see <https://www.gnu.org/licenses>.
24 *
25 * SPDX-License-Identifier: GPL-3.0-only
26 */
27
28#ifndef VMM_INCLUDED_SRC_tools_VBoxCpuReport_h
29#define VMM_INCLUDED_SRC_tools_VBoxCpuReport_h
30#ifndef RT_WITHOUT_PRAGMA_ONCE
31# pragma once
32#endif
33
34#include <VBox/sup.h>
35
36RT_C_DECLS_BEGIN
37
38typedef struct VBCPUREPMSRACCESSORS
39{
40 /** Wheter MSR prober can read/modify/restore MSRs more or less
41 * atomically, without allowing other code to be executed. */
42 bool fAtomic;
43 /** @copydoc SUPR3MsrProberRead */
44 DECLCALLBACKMEMBER(int, pfnMsrProberRead,(uint32_t uMsr, RTCPUID idCpu, uint64_t *puValue, bool *pfGp));
45 /** @copydoc SUPR3MsrProberWrite */
46 DECLCALLBACKMEMBER(int, pfnMsrProberWrite,(uint32_t uMsr, RTCPUID idCpu, uint64_t uValue, bool *pfGp));
47 /** @copydoc SUPR3MsrProberModify */
48 DECLCALLBACKMEMBER(int, pfnMsrProberModify,(uint32_t uMsr, RTCPUID idCpu, uint64_t fAndMask, uint64_t fOrMask,
49 PSUPMSRPROBERMODIFYRESULT pResult));
50 /** Termination callback, optional. */
51 DECLCALLBACKMEMBER(void, pfnTerm,(void));
52} VBCPUREPMSRACCESSORS;
53typedef VBCPUREPMSRACCESSORS *PVBCPUREPMSRACCESSORS;
54
55extern void vbCpuRepDebug(const char *pszMsg, ...);
56extern void vbCpuRepPrintf(const char *pszMsg, ...);
57extern int VbCpuRepMsrProberInitSupDrv(PVBCPUREPMSRACCESSORS pMsrAccessors);
58extern int VbCpuRepMsrProberInitPlatform(PVBCPUREPMSRACCESSORS pMsrAccessors);
59
60RT_C_DECLS_END
61
62#endif /* !VMM_INCLUDED_SRC_tools_VBoxCpuReport_h */
63
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use