~ubuntu-branches/ubuntu/vivid/virtualbox-ose/vivid

« back to all changes in this revision

Viewing changes to include/VBox/uvm.h

  • Committer: Bazaar Package Importer
  • Author(s): Felix Geyer
  • Date: 2009-10-13 23:06:00 UTC
  • mfrom: (0.3.2 upstream) (0.1.12 sid)
  • Revision ID: james.westby@ubuntu.com-20091013230600-xhu2pwizq0wo63l9
Tags: 3.0.8-dfsg-1ubuntu1
* Merge from debian unstable (LP: #444812), remaining changes:
  - Enable DKMS support on virtualbox host and guest modules (LP: #267097)
    - Drop virtualbox-ose{-guest,}-modules-* package templates
    - Recommend *-source instead of *-modules packages
    - Replace error messages related to missing/mismatched
      kernel module accordingly
  - Autoload kernel module
    - LOAD_VBOXDRV_MODULE=1 in virtualbox-ose.default
  - Disable update action
    - patches/u01-disable-update-action.dpatch
  - Virtualbox should go in Accessories, not in System tools (LP: #288590)
    - virtualbox-ose-qt.files/virtualbox-ose.desktop
  - Add apport hook
    - virtualbox-ose.files/source_virtualbox-ose.py
    - virtualbox-ose.install
  - Add launchpad integration
    - control
    - lpi-bug.xpm
    - patches/u02-lp-integration.dpatch
* Try to remove existing dkms modules before adding the new modules
  (LP: #434503)
  - debian/virtualbox-ose-source.postinst
  - debian/virtualbox-ose-guest-source.postinst
* Don't fail if dkms modules have already been removed
  - debian/virtualbox-ose-source.prerm
  - debian/virtualbox-ose-guest-source.prerm

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
#define ___VBox_uvm_h
34
34
 
35
35
#include <VBox/types.h>
 
36
#include <iprt/assert.h>
36
37
 
37
38
 
38
39
/**
48
49
    PVMCPU                          pVCpu;
49
50
    /** The virtual CPU ID.  */
50
51
    RTCPUID                         idCpu;
 
52
    /** Alignment padding. */
 
53
    uint8_t                         abAlignment0[HC_ARCH_BITS == 32 ? 16 : 4];
51
54
 
52
55
    /** The VM internal data. */
53
 
    struct
 
56
    union
54
57
    {
55
58
#ifdef ___VMInternal_h
56
59
        struct VMINTUSERPERVMCPU    s;
58
61
        uint8_t                     padding[768];
59
62
    } vm;
60
63
} UVMCPU;
61
 
/** Pointer to the per virtual CPU ring-3 (user mode) data. */
62
 
typedef UVMCPU *PUVMCPU;
 
64
AssertCompileMemberAlignment(UVMCPU, vm, 32);
63
65
 
64
66
 
65
67
/**
85
87
     */
86
88
    struct UVM     *pNext;
87
89
 
 
90
    /** Align the next member on a 32 byte boundrary. */
 
91
    uint8_t         abAlignment0[HC_ARCH_BITS == 32 ? 16 : 8];
 
92
 
88
93
    /** The VM internal data. */
89
 
    struct
 
94
    union
90
95
    {
91
96
#ifdef ___VMInternal_h
92
97
        struct VMINTUSERPERVM   s;
95
100
    } vm;
96
101
 
97
102
    /** The MM data. */
98
 
    struct
 
103
    union
99
104
    {
100
105
#ifdef ___MMInternal_h
101
106
        struct MMUSERPERVM      s;
104
109
    } mm;
105
110
 
106
111
    /** The PDM data. */
107
 
    struct
 
112
    union
108
113
    {
109
114
#ifdef ___PDMInternal_h
110
115
        struct PDMUSERPERVM     s;
113
118
    } pdm;
114
119
 
115
120
    /** The STAM data. */
116
 
    struct
 
121
    union
117
122
    {
118
123
#ifdef ___STAMInternal_h
119
124
        struct STAMUSERPERVM    s;
124
129
    /** Per virtual CPU data. */
125
130
    UVMCPU                      aCpus[1];
126
131
} UVM;
 
132
AssertCompileMemberAlignment(UVM, vm, 32);
 
133
AssertCompileMemberAlignment(UVM, mm, 32);
 
134
AssertCompileMemberAlignment(UVM, pdm, 32);
 
135
AssertCompileMemberAlignment(UVM, stam, 32);
 
136
AssertCompileMemberAlignment(UVM, aCpus, 32);
127
137
 
128
138
/** The UVM::u32Magic value (Brad Mehldau). */
129
139
#define UVM_MAGIC       0x19700823