TianoCore EDK2 master
|
#include "CpuExceptionCommon.h"
Go to the source code of this file.
Functions | |
VOID | ArchUpdateIdtEntry (OUT IA32_IDT_GATE_DESCRIPTOR *IdtEntry, IN UINTN InterruptHandler) |
UINTN | ArchGetIdtHandler (IN IA32_IDT_GATE_DESCRIPTOR *IdtEntry) |
VOID | ArchSaveExceptionContext (IN UINTN ExceptionType, IN EFI_SYSTEM_CONTEXT SystemContext, IN EXCEPTION_HANDLER_DATA *ExceptionHandlerData) |
VOID | ArchRestoreExceptionContext (IN UINTN ExceptionType, IN EFI_SYSTEM_CONTEXT SystemContext, IN EXCEPTION_HANDLER_DATA *ExceptionHandlerData) |
EFI_STATUS | ArchSetupExceptionStack (IN VOID *Buffer, IN OUT UINTN *BufferSize) |
VOID EFIAPI | DumpCpuContext (IN EFI_EXCEPTION_TYPE ExceptionType, IN EFI_SYSTEM_CONTEXT SystemContext) |
VOID | DumpImageAndCpuContent (IN EFI_EXCEPTION_TYPE ExceptionType, IN EFI_SYSTEM_CONTEXT SystemContext) |
x64 CPU Exception Handler.
Copyright (c) 2012 - 2022, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file ArchExceptionHandler.c.
Read IDT handler value from IDT entry.
IdtEntry | Pointer to IDT entry to be read. |
Definition at line 37 of file ArchExceptionHandler.c.
VOID ArchRestoreExceptionContext | ( | IN UINTN | ExceptionType, |
IN EFI_SYSTEM_CONTEXT | SystemContext, | ||
IN EXCEPTION_HANDLER_DATA * | ExceptionHandlerData | ||
) |
Restore CPU exception context when handling EFI_VECTOR_HANDOFF_HOOK_AFTER case.
[in] | ExceptionType | Exception type. |
[in] | SystemContext | Pointer to EFI_SYSTEM_CONTEXT. |
[in] | ExceptionHandlerData | Pointer to exception handler data. |
Definition at line 94 of file ArchExceptionHandler.c.
VOID ArchSaveExceptionContext | ( | IN UINTN | ExceptionType, |
IN EFI_SYSTEM_CONTEXT | SystemContext, | ||
IN EXCEPTION_HANDLER_DATA * | ExceptionHandlerData | ||
) |
Save CPU exception context when handling EFI_VECTOR_HANDOFF_HOOK_AFTER case.
[in] | ExceptionType | Exception type. |
[in] | SystemContext | Pointer to EFI_SYSTEM_CONTEXT. |
[in] | ExceptionHandlerData | Pointer to exception handler data. |
Definition at line 53 of file ArchExceptionHandler.c.
EFI_STATUS ArchSetupExceptionStack | ( | IN VOID * | Buffer, |
IN OUT UINTN * | BufferSize | ||
) |
Setup separate stacks for certain exception handlers.
[in] | Buffer | Point to buffer used to separate exception stack. |
[in,out] | BufferSize | On input, it indicates the byte size of Buffer. If the size is not enough, the return status will be EFI_BUFFER_TOO_SMALL, and output BufferSize will be the size it needs. |
EFI_SUCCESS | The stacks are assigned successfully. |
EFI_BUFFER_TOO_SMALL | This BufferSize is too small. |
EFI_UNSUPPORTED | This function is not supported. |
Definition at line 125 of file ArchExceptionHandler.c.
Return address map of exception handler template so that C code can generate exception tables.
IdtEntry | Pointer to IDT entry to be updated. |
InterruptHandler | IDT handler value. |
Definition at line 19 of file ArchExceptionHandler.c.
VOID EFIAPI DumpCpuContext | ( | IN EFI_EXCEPTION_TYPE | ExceptionType, |
IN EFI_SYSTEM_CONTEXT | SystemContext | ||
) |
Display CPU information.
ExceptionType | Exception type. |
SystemContext | Pointer to EFI_SYSTEM_CONTEXT. |
Definition at line 273 of file ArchExceptionHandler.c.
VOID DumpImageAndCpuContent | ( | IN EFI_EXCEPTION_TYPE | ExceptionType, |
IN EFI_SYSTEM_CONTEXT | SystemContext | ||
) |
Display CPU information.
ExceptionType | Exception type. |
SystemContext | Pointer to EFI_SYSTEM_CONTEXT. |
Definition at line 405 of file ArchExceptionHandler.c.