VirtualBox

source: vbox/trunk/include/VBox/vmm/gvm.mac@ 90959

Last change on this file since 90959 was 90597, checked in by vboxsync, 3 years ago

VMM: Speed up VMMGetCpu in ring-0 by using hash table (via new GVMMR0GetGVCpuByGVMandEMT call). bugref:6695

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.9 KB
Line 
1;; @file
2; GVM - The Global VM Data.
3;
4
5;
6; Copyright (C) 2006-2021 Oracle Corporation
7;
8; This file is part of VirtualBox Open Source Edition (OSE), as
9; available from http://www.virtualbox.org. This file is free software;
10; you can redistribute it and/or modify it under the terms of the GNU
11; General Public License (GPL) as published by the Free Software
12; Foundation, in version 2 as it comes in the "COPYING" file of the
13; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
14; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
15;
16; The contents of this file may alternatively be used under the terms
17; of the Common Development and Distribution License Version 1.0
18; (CDDL) only, as it comes in the "COPYING.CDDL" file of the
19; VirtualBox OSE distribution, in which case the provisions of the
20; CDDL are applicable instead of those of the GPL.
21;
22; You may elect to license modified versions of this file under the
23; terms and conditions of either the GPL or the CDDL or both.
24;
25
26%ifndef ___VBox_vmm_gvm_mac
27%define ___VBox_vmm_gvm_mac
28
29%include "VBox/vmm/vm.mac"
30
31struc GVMCPU
32 .s resb VMCPU_size
33 .idCpu resd 1
34
35 alignb 8
36 .hEMT RTR0PTR_RES 1
37 .pGVM RTR0PTR_RES 1
38 .pVMR0 RTR0PTR_RES 1
39 .pVCpuR3 RTR3PTR_RES 1
40
41 alignb 64
42 .idHostCpu resd 1
43 .iHostCpuSet resd 1
44
45 alignb 64
46 .gvmm resb 64
47 alignb 64
48 .hmr0 resb 1024
49%ifdef VBOX_WITH_NEM_R0
50 .nemr0 resb 64
51%endif
52 alignb 64
53 .vmmr0 resb 64
54 alignb 4096
55endstruc
56
57
58struc GVM
59 .s resb VM_size
60 .u32Magic resd 1
61 .hSelf resd 1
62 alignb 8
63 .pSelf RTR0PTR_RES 1
64 .pVMR3 RTR3PTR_RES 1
65 .pSession RTR0PTR_RES 1
66 .cCpus resd 1
67
68 alignb 64
69 .gvmm resb 4352
70 alignb 64
71 .gmm resb 1024
72 alignb 64
73 .hmr0 resb 256
74%ifdef VBOX_WITH_NEM_R0
75 alignb 64
76 .nemr0 resb 256
77%endif
78 alignb 64
79 .rawpci resb 64
80 alignb 64
81 .pdmr0 resb 2176
82 alignb 64
83 .pgmr0 resb 640
84 alignb 64
85 .iomr0 resb 512
86 alignb 64
87 .apicr0 resb 64
88 alignb 64
89 .dbgfr0 resb 1024
90 alignb 64
91 .tmr0 resb 128
92
93 times ((($ + VMM_MAX_CPU_COUNT * RTR0PTR_CB + 4095) & ~4095) - ($ + VMM_MAX_CPU_COUNT * RTR0PTR_CB)) resb 1
94 .apCpusR0 RTR0PTR_RES VMM_MAX_CPU_COUNT
95
96 alignb 4096
97 .aCpus resb GVMCPU_size
98endstruc
99
100%define GVM_MAGIC 0x19330825
101
102
103%endif
104
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