Home | History | Annotate | Download | only in Ia32
      1 /** @file
      2   Ia32 arch definition for CPU Exception Handler Library.
      3 
      4   Copyright (c) 2013, 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 #ifndef _ARCH_CPU_INTERRUPT_DEFS_H_
     16 #define _ARCH_CPU_INTERRUPT_DEFS_H_
     17 
     18 typedef struct {
     19   EFI_SYSTEM_CONTEXT_IA32 SystemContext;
     20   BOOLEAN                 ExceptionDataFlag;
     21   UINTN                   OldIdtHandler;
     22 } EXCEPTION_HANDLER_CONTEXT;
     23 
     24 //
     25 // Register Structure Definitions
     26 //
     27 typedef struct {
     28   EFI_STATUS_CODE_DATA      Header;
     29   EFI_SYSTEM_CONTEXT_IA32   SystemContext;
     30 } CPU_STATUS_CODE_TEMPLATE;
     31 
     32 typedef struct {
     33   SPIN_LOCK   SpinLock;
     34   UINT32      ApicId;
     35   UINT32      Attribute;
     36   UINTN       ExceptonHandler;
     37   UINTN       OldFlags;
     38   UINTN       OldCs;
     39   UINTN       OldIp;
     40   UINTN       ExceptionData;
     41   UINT8       HookAfterStubHeaderCode[HOOKAFTER_STUB_SIZE];
     42 } RESERVED_VECTORS_DATA;
     43 
     44 #endif
     45