~ubuntu-branches/ubuntu/trusty/virtualbox/trusty-proposed

« back to all changes in this revision

Viewing changes to include/VBox/vmm/selm.h

  • Committer: Package Import Robot
  • Author(s): Felix Geyer
  • Date: 2013-03-07 16:38:36 UTC
  • mfrom: (1.1.13) (3.1.20 experimental)
  • Revision ID: package-import@ubuntu.com-20130307163836-p93jpbgx39tp3gb4
Tags: 4.2.8-dfsg-0ubuntu1
* New upstream release. (Closes: #691148)
  - Fixes compatibility with kernel 3.8. (Closes: #700823; LP: #1101867)
* Switch to my @debian.org email address.
* Move package to contrib as virtualbox 4.2 needs a non-free compiler to
  build the BIOS.
* Build-depend on libdevmapper-dev.
* Refresh patches.
  - Drop 36-fix-ftbfs-xserver-112.patch, cve-2012-3221.patch,
    CVE-2013-0420.patch 37-kcompat-3.6.patch and 38-kcompat-3.7.patch.
* Drop all virtualbox-ose transitional packages.
* Drop the virtualbox-fuse package as vdfuse fails to build with
  virtualbox 4.2.
* Update install files and VBox.sh.
* Bump required kbuild version to 0.1.9998svn2577.
* Fix path to VBoxCreateUSBNode.sh in virtualbox.postinst. (Closes: #700479)
* Add an init script to virtuabox-guest-x11 which loads the vboxvideo
  kernel module. The X Server 1.13 doesn't load it anymore. (Closes: #686994)
* Update man pages. (Closes: #680053)
* Add 36-python-multiarch.patch from Rico Tzschichholz to fix detection of
  python in multiarch paths using pkg-config.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
 */
4
4
 
5
5
/*
6
 
 * Copyright (C) 2006-2010 Oracle Corporation
 
6
 * Copyright (C) 2006-2012 Oracle Corporation
7
7
 *
8
8
 * This file is part of VirtualBox Open Source Edition (OSE), as
9
9
 * available from http://www.virtualbox.org. This file is free software;
38
38
 * @{
39
39
 */
40
40
 
41
 
VMMDECL(RTSEL)      SELMGetTrap8Selector(PVM pVM);
42
 
VMMDECL(void)       SELMSetTrap8EIP(PVM pVM, uint32_t u32EIP);
43
 
VMMDECL(int)        SELMGetRing1Stack(PVM pVM, uint32_t *pSS, PRTGCPTR32 pEsp);
44
 
VMMDECL(RTGCPTR)    SELMGetGuestTSS(PVM pVM);
45
 
VMMDECL(RTSEL)      SELMGetHyperCS(PVM pVM);
46
 
VMMDECL(RTSEL)      SELMGetHyperCS64(PVM pVM);
47
 
VMMDECL(RTSEL)      SELMGetHyperDS(PVM pVM);
48
 
VMMDECL(RTSEL)      SELMGetHyperTSS(PVM pVM);
49
 
VMMDECL(RTSEL)      SELMGetHyperTSSTrap08(PVM pVM);
50
 
VMMDECL(RTRCPTR)    SELMGetHyperGDT(PVM pVM);
51
 
VMMDECL(int)        SELMGetTSSInfo(PVM pVM, PVMCPU pVCpu, PRTGCUINTPTR pGCPtrTss, PRTGCUINTPTR pcbTss, bool *pfCanHaveIOBitmap);
52
 
VMMDECL(RTGCPTR)    SELMToFlat(PVM pVM, DIS_SELREG SelReg, PCPUMCTXCORE pCtxCore, RTGCPTR Addr);
53
 
VMMDECL(RTGCPTR)    SELMToFlatBySel(PVM pVM, RTSEL Sel, RTGCPTR Addr);
54
 
VMMDECL(void)       SELMShadowCR3Changed(PVM pVM, PVMCPU pVCpu);
 
41
VMMDECL(RTSEL)          SELMGetTrap8Selector(PVM pVM);
 
42
VMMDECL(void)           SELMSetTrap8EIP(PVM pVM, uint32_t u32EIP);
 
43
VMMDECL(int)            SELMGetRing1Stack(PVM pVM, uint32_t *pSS, PRTGCPTR32 pEsp);
 
44
VMMDECL(RTGCPTR)        SELMGetGuestTSS(PVM pVM);
 
45
VMMDECL(RTSEL)          SELMGetHyperCS(PVM pVM);
 
46
VMMDECL(RTSEL)          SELMGetHyperCS64(PVM pVM);
 
47
VMMDECL(RTSEL)          SELMGetHyperDS(PVM pVM);
 
48
VMMDECL(RTSEL)          SELMGetHyperTSS(PVM pVM);
 
49
VMMDECL(RTSEL)          SELMGetHyperTSSTrap08(PVM pVM);
 
50
VMMDECL(RTRCPTR)        SELMGetHyperGDT(PVM pVM);
 
51
VMMDECL(int)            SELMGetTSSInfo(PVM pVM, PVMCPU pVCpu, PRTGCUINTPTR pGCPtrTss, PRTGCUINTPTR pcbTss, bool *pfCanHaveIOBitmap);
 
52
VMMDECL(RTGCPTR)        SELMToFlat(PVM pVM, DISSELREG SelReg, PCPUMCTXCORE pCtxCore, RTGCPTR Addr);
 
53
VMMDECL(RTGCPTR)        SELMToFlatBySel(PVM pVM, RTSEL Sel, RTGCPTR Addr);
 
54
VMMDECL(void)           SELMShadowCR3Changed(PVM pVM, PVMCPU pVCpu);
55
55
 
56
56
/** Flags for SELMToFlatEx().
57
57
 * @{ */
73
73
#define SELMTOFLAT_FLAGS_HYPER      RT_BIT(10)
74
74
/** @} */
75
75
 
76
 
VMMDECL(int)        SELMToFlatEx(PVM pVM, DIS_SELREG SelReg, PCCPUMCTXCORE pCtxCore, RTGCPTR Addr, unsigned fFlags, PRTGCPTR ppvGC);
77
 
VMMDECL(int)        SELMToFlatBySelEx(PVM pVM, X86EFLAGS eflags, RTSEL Sel, RTGCPTR Addr, PCCPUMSELREGHID pHiddenSel,
78
 
                                      unsigned fFlags, PRTGCPTR ppvGC, uint32_t *pcb);
79
 
VMMDECL(int)        SELMValidateAndConvertCSAddr(PVM pVM, X86EFLAGS eflags, RTSEL SelCPL, RTSEL SelCS,
80
 
                                                 PCCPUMSELREGHID pHiddenCSSel, RTGCPTR Addr, PRTGCPTR ppvFlat);
81
 
VMMDECL(int)        SELMValidateAndConvertCSAddrGCTrap(PVM pVM, X86EFLAGS eflags, RTSEL SelCPL, RTSEL SelCS, RTGCPTR Addr,
82
 
                                                       PRTGCPTR ppvFlat, uint32_t *pcBits);
83
 
VMMDECL(DISCPUMODE) SELMGetCpuModeFromSelector(PVM pVM, X86EFLAGS eflags, RTSEL Sel, PCCPUMSELREGHID pHiddenSel);
84
 
VMMDECL(int)        SELMGetLDTFromSel(PVM pVM, RTSEL SelLdt, PRTGCPTR ppvLdt, unsigned *pcbLimit);
 
76
VMMDECL(int)            SELMToFlatEx(PVMCPU pVCpu, DISSELREG SelReg, PCPUMCTXCORE pCtxCore, RTGCPTR Addr, uint32_t fFlags,
 
77
                                     PRTGCPTR ppvGC);
 
78
VMMDECL(int)            SELMToFlatBySelEx(PVMCPU pVCpu, X86EFLAGS eflags, RTSEL Sel, RTGCPTR Addr, uint32_t fFlags,
 
79
                                          PRTGCPTR ppvGC, uint32_t *pcb);
 
80
VMMDECL(int)            SELMValidateAndConvertCSAddr(PVMCPU pVCpu, X86EFLAGS eflags, RTSEL SelCPL, RTSEL SelCS,
 
81
                                                     PCPUMSELREG pSRegCS, RTGCPTR Addr, PRTGCPTR ppvFlat);
 
82
#ifdef VBOX_WITH_RAW_MODE
 
83
VMM_INT_DECL(void)      SELMLoadHiddenSelectorReg(PVMCPU pVCpu, PCCPUMCTX pCtx, PCPUMSELREG pSReg);
 
84
#endif
85
85
 
86
86
 
87
87
#ifdef IN_RING3
89
89
 * @ingroup grp_selm
90
90
 * @{
91
91
 */
92
 
VMMR3DECL(int)      SELMR3Init(PVM pVM);
93
 
VMMR3DECL(int)      SELMR3InitFinalize(PVM pVM);
94
 
VMMR3DECL(void)     SELMR3Relocate(PVM pVM);
95
 
VMMR3DECL(int)      SELMR3Term(PVM pVM);
96
 
VMMR3DECL(void)     SELMR3Reset(PVM pVM);
97
 
VMMR3DECL(int)      SELMR3UpdateFromCPUM(PVM pVM, PVMCPU pVCpu);
98
 
VMMR3DECL(int)      SELMR3SyncTSS(PVM pVM, PVMCPU pVCpu);
99
 
VMMR3DECL(int)      SELMR3GetSelectorInfo(PVM pVM, PVMCPU pVCpu, RTSEL Sel, PDBGFSELINFO pSelInfo);
100
 
VMMR3DECL(int)      SELMR3GetShadowSelectorInfo(PVM pVM, RTSEL Sel, PDBGFSELINFO pSelInfo);
101
 
VMMR3DECL(void)     SELMR3DisableMonitoring(PVM pVM);
102
 
VMMR3DECL(void)     SELMR3DumpDescriptor(X86DESC  Desc, RTSEL Sel, const char *pszMsg);
103
 
VMMR3DECL(void)     SELMR3DumpHyperGDT(PVM pVM);
104
 
VMMR3DECL(void)     SELMR3DumpHyperLDT(PVM pVM);
105
 
VMMR3DECL(void)     SELMR3DumpGuestGDT(PVM pVM);
106
 
VMMR3DECL(void)     SELMR3DumpGuestLDT(PVM pVM);
107
 
VMMR3DECL(bool)     SELMR3CheckTSS(PVM pVM);
108
 
VMMR3DECL(int)      SELMR3DebugCheck(PVM pVM);
 
92
VMMR3DECL(int)          SELMR3Init(PVM pVM);
 
93
VMMR3DECL(int)          SELMR3InitFinalize(PVM pVM);
 
94
VMMR3DECL(void)         SELMR3Relocate(PVM pVM);
 
95
VMMR3DECL(int)          SELMR3Term(PVM pVM);
 
96
VMMR3DECL(void)         SELMR3Reset(PVM pVM);
 
97
VMMR3DECL(VBOXSTRICTRC) SELMR3UpdateFromCPUM(PVM pVM, PVMCPU pVCpu);
 
98
VMMR3DECL(int)          SELMR3SyncTSS(PVM pVM, PVMCPU pVCpu);
 
99
VMMR3DECL(int)          SELMR3GetSelectorInfo(PVM pVM, PVMCPU pVCpu, RTSEL Sel, PDBGFSELINFO pSelInfo);
 
100
VMMR3DECL(int)          SELMR3GetShadowSelectorInfo(PVM pVM, RTSEL Sel, PDBGFSELINFO pSelInfo);
 
101
VMMR3DECL(void)         SELMR3DisableMonitoring(PVM pVM);
 
102
VMMR3DECL(void)         SELMR3DumpDescriptor(X86DESC  Desc, RTSEL Sel, const char *pszMsg);
 
103
VMMR3DECL(void)         SELMR3DumpHyperGDT(PVM pVM);
 
104
VMMR3DECL(void)         SELMR3DumpHyperLDT(PVM pVM);
 
105
VMMR3DECL(void)         SELMR3DumpGuestGDT(PVM pVM);
 
106
VMMR3DECL(void)         SELMR3DumpGuestLDT(PVM pVM);
 
107
VMMR3DECL(bool)         SELMR3CheckTSS(PVM pVM);
 
108
VMMR3DECL(int)          SELMR3DebugCheck(PVM pVM);
109
109
/** @def SELMR3_DEBUG_CHECK
110
110
 * Invokes SELMR3DebugCheck in stricts builds. */
111
111
# ifdef VBOX_STRICT