VirtualBox

source: vbox/trunk/src/VBox/VMM/VMMAll/MMAll.cpp@ 94991

Last change on this file since 94991 was 93718, checked in by vboxsync, 3 years ago

VMM/MM: Removed the hyper heap. bugref:10093 bugref:9517

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
File size: 3.7 KB
Line 
1/* $Id: MMAll.cpp 93718 2022-02-14 11:09:36Z vboxsync $ */
2/** @file
3 * MM - Memory Manager - Any Context.
4 */
5
6/*
7 * Copyright (C) 2006-2022 Oracle Corporation
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 */
17
18
19/*********************************************************************************************************************************
20* Header Files *
21*********************************************************************************************************************************/
22#define LOG_GROUP LOG_GROUP_MM_HYPER
23#include <VBox/vmm/mm.h>
24#include <VBox/vmm/vmm.h>
25#include "MMInternal.h"
26#include <VBox/vmm/vmcc.h>
27#include <VBox/vmm/hm.h>
28#include <VBox/log.h>
29#include <iprt/assert.h>
30#include <iprt/string.h>
31
32
33/**
34 * Gets the string name of a memory tag.
35 *
36 * @returns name of enmTag.
37 * @param enmTag The tag.
38 */
39const char *mmGetTagName(MMTAG enmTag)
40{
41 switch (enmTag)
42 {
43 #define TAG2STR(tag) case MM_TAG_##tag: return #tag
44
45 TAG2STR(CFGM);
46 TAG2STR(CFGM_BYTES);
47 TAG2STR(CFGM_STRING);
48 TAG2STR(CFGM_USER);
49
50 TAG2STR(CPUM_CTX);
51 TAG2STR(CPUM_CPUID);
52 TAG2STR(CPUM_MSRS);
53
54 TAG2STR(CSAM);
55 TAG2STR(CSAM_PATCH);
56
57 TAG2STR(DBGF);
58 TAG2STR(DBGF_AS);
59 TAG2STR(DBGF_FLOWTRACE);
60 TAG2STR(DBGF_INFO);
61 TAG2STR(DBGF_LINE);
62 TAG2STR(DBGF_LINE_DUP);
63 TAG2STR(DBGF_MODULE);
64 TAG2STR(DBGF_OS);
65 TAG2STR(DBGF_REG);
66 TAG2STR(DBGF_STACK);
67 TAG2STR(DBGF_SYMBOL);
68 TAG2STR(DBGF_SYMBOL_DUP);
69 TAG2STR(DBGF_TYPE);
70 TAG2STR(DBGF_TRACER);
71
72 TAG2STR(EM);
73
74 TAG2STR(IEM);
75
76 TAG2STR(IOM);
77 TAG2STR(IOM_STATS);
78
79 TAG2STR(MM);
80 TAG2STR(MM_LOOKUP_GUEST);
81 TAG2STR(MM_LOOKUP_PHYS);
82 TAG2STR(MM_LOOKUP_VIRT);
83 TAG2STR(MM_PAGE);
84
85 TAG2STR(PARAV);
86
87 TAG2STR(PATM);
88 TAG2STR(PATM_PATCH);
89
90 TAG2STR(PDM);
91 TAG2STR(PDM_DEVICE);
92 TAG2STR(PDM_DEVICE_DESC);
93 TAG2STR(PDM_DEVICE_USER);
94 TAG2STR(PDM_DRIVER);
95 TAG2STR(PDM_DRIVER_DESC);
96 TAG2STR(PDM_DRIVER_USER);
97 TAG2STR(PDM_USB);
98 TAG2STR(PDM_USB_DESC);
99 TAG2STR(PDM_USB_USER);
100 TAG2STR(PDM_LUN);
101 TAG2STR(PDM_QUEUE);
102 TAG2STR(PDM_THREAD);
103 TAG2STR(PDM_ASYNC_COMPLETION);
104#ifdef VBOX_WITH_NETSHAPER
105 TAG2STR(PDM_NET_SHAPER);
106#endif /* VBOX_WITH_NETSHAPER */
107
108 TAG2STR(PGM);
109 TAG2STR(PGM_CHUNK_MAPPING);
110 TAG2STR(PGM_HANDLERS);
111 TAG2STR(PGM_HANDLER_TYPES);
112 TAG2STR(PGM_MAPPINGS);
113 TAG2STR(PGM_PHYS);
114 TAG2STR(PGM_POOL);
115
116 TAG2STR(REM);
117
118 TAG2STR(SELM);
119
120 TAG2STR(SSM);
121
122 TAG2STR(STAM);
123
124 TAG2STR(TM);
125
126 TAG2STR(TRPM);
127
128 TAG2STR(VM);
129 TAG2STR(VM_REQ);
130
131 TAG2STR(VMM);
132
133 TAG2STR(HM);
134
135 #undef TAG2STR
136
137 default:
138 {
139 AssertMsgFailed(("Unknown tag %d! forgot to add it to the switch?\n", enmTag));
140#ifdef IN_RING3
141 static char sz[48];
142 RTStrPrintf(sz, sizeof(sz), "%d", enmTag);
143 return sz;
144#else
145 return "unknown tag!";
146#endif
147 }
148 }
149}
150
Note: See TracBrowser for help on using the repository browser.

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