2. Updated CPU Exception Handler Library instance according to the new CPU Exception Handler Library class definitions. 3. Updated CPU Exception Handler Library instance to handle the vector attributes defined in PI 1.2.1. Signed-off-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Hot Tian <hot.tian@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14885 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			NASM
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			NASM
		
	
	
	
	
	
|       TITLE   CpuAsm.asm:
 | |
| ;------------------------------------------------------------------------------
 | |
| ;*
 | |
| ;*   Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
 | |
| ;*   This program and the accompanying materials
 | |
| ;*   are licensed and made available under the terms and conditions of the BSD License
 | |
| ;*   which accompanies this distribution.  The full text of the license may be found at
 | |
| ;*   http://opensource.org/licenses/bsd-license.php
 | |
| ;*
 | |
| ;*   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | |
| ;*   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | |
| ;*
 | |
| ;*    CpuAsm.asm
 | |
| ;*
 | |
| ;*   Abstract:
 | |
| ;*
 | |
| ;------------------------------------------------------------------------------
 | |
| 
 | |
|     .686
 | |
|     .model  flat,C
 | |
|     .code
 | |
| 
 | |
| ;------------------------------------------------------------------------------
 | |
| ; VOID
 | |
| ; SetCodeSelector (
 | |
| ;   UINT16 Selector
 | |
| ;   );
 | |
| ;------------------------------------------------------------------------------
 | |
| SetCodeSelector PROC PUBLIC
 | |
|     mov     ecx, [esp+4]
 | |
|     sub     esp, 0x10
 | |
|     lea     eax, setCodeSelectorLongJump
 | |
|     mov     [esp], eax
 | |
|     mov     [esp+4], cx
 | |
|     jmp     fword ptr [esp]
 | |
| setCodeSelectorLongJump:
 | |
|     add     esp, 0x10
 | |
|     ret
 | |
| SetCodeSelector ENDP
 | |
| 
 | |
| ;------------------------------------------------------------------------------
 | |
| ; VOID
 | |
| ; SetDataSelectors (
 | |
| ;   UINT16 Selector
 | |
| ;   );
 | |
| ;------------------------------------------------------------------------------
 | |
| SetDataSelectors PROC PUBLIC
 | |
|     mov     ecx, [esp+4]
 | |
|     mov     ss, cx
 | |
|     mov     ds, cx
 | |
|     mov     es, cx
 | |
|     mov     fs, cx
 | |
|     mov     gs, cx
 | |
|     ret
 | |
| SetDataSelectors ENDP
 | |
| 
 | |
| 
 | |
| END
 |