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

« back to all changes in this revision

Viewing changes to src/VBox/Devices/EFI/Firmware/MdePkg/Library/BaseLib/Ia32/WriteCr4.c

  • Committer: Package Import Robot
  • Author(s): Gianfranco Costamagna
  • Date: 2016-02-23 14:28:26 UTC
  • Revision ID: package-import@ubuntu.com-20160223142826-bdu69el2z6wa2a44
Tags: upstream-4.3.36-dfsg
ImportĀ upstreamĀ versionĀ 4.3.36-dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/** @file
 
2
  AsmWriteCr4 function
 
3
 
 
4
  Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
 
5
  This program and the accompanying materials
 
6
  are licensed and made available under the terms and conditions of the BSD License
 
7
  which accompanies this distribution.  The full text of the license may be found at
 
8
  http://opensource.org/licenses/bsd-license.php.
 
9
 
 
10
  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 
11
  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
12
 
 
13
**/
 
14
 
 
15
/**
 
16
  Writes a value to Control Register 4 (CR4).
 
17
 
 
18
  Writes and returns a new value to CR4. This function is only available on
 
19
  IA-32 and x64. This writes a 32-bit value on IA-32 and a 64-bit value on x64.
 
20
 
 
21
  @param  Value The value to write to CR4.
 
22
 
 
23
  @return The value written to CR4.
 
24
 
 
25
**/
 
26
UINTN
 
27
EFIAPI
 
28
AsmWriteCr4 (
 
29
  UINTN  Value
 
30
  )
 
31
{
 
32
  _asm {
 
33
    mov     eax, Value
 
34
    _emit  0x0f  // mov  cr4, eax
 
35
    _emit  0x22
 
36
    _emit  0xE0
 
37
  }
 
38
}
 
39