VirtualBox

source: vbox/trunk/src/VBox/VMM/VMMAll/target-armv8/IEMAllXcpt-armv8.cpp@ 109151

Last change on this file since 109151 was 108953, checked in by vboxsync, 6 weeks ago

VMM/IEM: Made the new A64 tables link and finalized names. jiraref:VBP-1598

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.0 KB
Line 
1/* $Id: IEMAllXcpt-armv8.cpp 108953 2025-04-11 23:49:15Z vboxsync $ */
2/** @file
3 * IEM - Interpreted Execution Manager - ARM target, exceptions & interrupts.
4 */
5
6/*
7 * Copyright (C) 2011-2025 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
29/*********************************************************************************************************************************
30* Header Files *
31*********************************************************************************************************************************/
32#define LOG_GROUP LOG_GROUP_IEM
33#define VMCPU_INCL_CPUM_GST_CTX
34#include <VBox/vmm/iem.h>
35#include "IEMInternal.h"
36#include <VBox/vmm/vmcc.h>
37#include <VBox/log.h>
38#include <VBox/err.h>
39
40
41
42VBOXSTRICTRC
43iemRaiseDataAbortFromWalk(PVMCPUCC pVCpu, RTGCPTR GCPtrMem, uint32_t cbMem, uint32_t fAccess, int rc,
44 PCPGMPTWALKFAST pWalkFast) RT_NOEXCEPT
45{
46 RT_NOREF(pVCpu, GCPtrMem, cbMem, fAccess, rc, pWalkFast);
47 AssertFailedReturn(VERR_IEM_ASPECT_NOT_IMPLEMENTED);
48}
49
50
51DECL_NO_RETURN(void)
52iemRaiseDataAbortFromWalkJmp(PVMCPUCC pVCpu, RTGCPTR GCPtrMem, uint32_t cbMem, uint32_t fAccess, int rc,
53 PCPGMPTWALKFAST pWalkFast) IEM_NOEXCEPT_MAY_LONGJMP
54{
55 VBOXSTRICTRC const rcStrict = iemRaiseDataAbortFromWalk(pVCpu, GCPtrMem, cbMem, fAccess, rc, pWalkFast);
56 IEM_DO_LONGJMP(pVCpu, VBOXSTRICTRC_VAL(rcStrict));
57}
58
59
60VBOXSTRICTRC
61iemRaiseDebugDataAccessOrInvokeDbgf(PVMCPUCC pVCpu, uint32_t fDataBps, RTGCPTR GCPtrMem, size_t cbMem,
62 uint32_t fAccess) RT_NOEXCEPT
63{
64 RT_NOREF(pVCpu, fDataBps, GCPtrMem, cbMem, fAccess);
65 AssertFailedReturn(VERR_IEM_ASPECT_NOT_IMPLEMENTED);
66}
67
68
69DECL_NO_RETURN(void)
70iemRaiseDebugDataAccessOrInvokeDbgfJmp(PVMCPUCC pVCpu, uint32_t fDataBps, RTGCPTR GCPtrMem, size_t cbMem,
71 uint32_t fAccess) IEM_NOEXCEPT_MAY_LONGJMP
72{
73 VBOXSTRICTRC const rcStrict = iemRaiseDebugDataAccessOrInvokeDbgf(pVCpu, fDataBps, GCPtrMem, cbMem, fAccess);
74 IEM_DO_LONGJMP(pVCpu, VBOXSTRICTRC_VAL(rcStrict));
75}
76
77
78/** Accessed via IEMOP_RAISE_INVALID_OPCODE. */
79IEM_CIMPL_DEF_0(iemCImplRaiseInvalidOpcode)
80{
81 RT_NOREF(pVCpu);
82 AssertFailedReturn(VERR_IEM_ASPECT_NOT_IMPLEMENTED);
83}
84
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette