1#------------------------------------------------------------------------------
2#*
3#*   Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
4#*   This program and the accompanying materials
5#*   are licensed and made available under the terms and conditions of the BSD License
6#*   which accompanies this distribution.  The full text of the license may be found at
7#*   http://opensource.org/licenses/bsd-license.php
8#*
9#*   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10#*   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11#*
12#*    AsmFuncs.S
13#*
14#*   Abstract:
15#*
16#*     Assembly function to set segment selectors.
17#
18#------------------------------------------------------------------------------
19
20.text
21
22#------------------------------------------------------------------------------
23#
24# VOID
25# EFIAPI
26# AsmSetDataSelectors (
27#   IN UINT16   SelectorValue
28#   );
29#------------------------------------------------------------------------------
30ASM_GLOBAL ASM_PFX(AsmSetDataSelectors)
31ASM_PFX(AsmSetDataSelectors):
32    movl    4(%esp),  %eax
33    movw    %ax, %ss
34    movw    %ax, %ds
35    movw    %ax, %es
36    movw    %ax, %fs
37    movw    %ax, %gs
38    ret
39