VirtualBox

root/trunk/include/VBox/gvm.h

Revision 8155, 2.4 kB (checked in by vboxsync, 7 months ago)

The Big Sun Rebranding Header Change

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
Line 
1 /* $Id$ */
2 /** @file
3  * GVM - The Global VM Data.
4  */
5
6 /*
7  * Copyright (C) 2007 Sun Microsystems, Inc.
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  * The contents of this file may alternatively be used under the terms
18  * of the Common Development and Distribution License Version 1.0
19  * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
20  * VirtualBox OSE distribution, in which case the provisions of the
21  * CDDL are applicable instead of those of the GPL.
22  *
23  * You may elect to license modified versions of this file under the
24  * terms and conditions of either the GPL or the CDDL or both.
25  *
26  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
27  * Clara, CA 95054 USA or visit http://www.sun.com if you need
28  * additional information or have any questions.
29  */
30
31
32 #ifndef ___VBox_gvm_h
33 #define ___VBox_gvm_h
34
35 #include <VBox/types.h>
36 #include <iprt/thread.h>
37
38
39 /** @defgroup grp_gvm   GVM - The Global VM Data
40  * @{
41  */
42
43 /**
44  * The Global VM Data.
45  *
46  * This is a ring-0 only structure where we put items we don't need to
47  * share with ring-3 or GC, like for instance various RTR0MEMOBJ handles.
48  *
49  * Unlike VM, there are no special alignment restrictions here. The
50  * paddings are checked by compile time assertions.
51  */
52 typedef struct GVM
53 {
54     /** Magic / eye-catcher (GVM_MAGIC). */
55     uint32_t        u32Magic;
56     /** The global VM handle for this VM. */
57     uint32_t        hSelf;
58     /** Handle to the EMT thread. */
59     RTNATIVETHREAD  hEMT;
60     /** The ring-0 mapping of the VM structure. */
61     PVM             pVM;
62
63     /** The GVMM per vm data. */
64     struct
65     {
66 #ifdef ___GVMMR0Internal_h
67         struct GVMMPERVM    s;
68 #endif
69         uint8_t             padding[256];
70     } gvmm;
71
72     /** The GMM per vm data. */
73     struct
74     {
75 #ifdef ___GMMR0Internal_h
76         struct GMMPERVM     s;
77 #endif
78         uint8_t             padding[256];
79     } gmm;
80
81 } GVM;
82
83 /** The GVM::u32Magic value (Wayne Shorter). */
84 #define GVM_MAGIC       0x19330825
85
86 /** @} */
87
88 #endif
Note: See TracBrowser for help on using the browser.

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy