Got you. Could you try the following tests on your system?
1. Not to unregister exception handler with NULL pointer and not to register your own exception handler and just to generate one GP fault. What’s exception message dumped? 2. Not to unregister exception handler with NULL pointer and just to register your own exception handler? Then what happened? For your case, actually you needn’t to link any library, instead you should consume CPU ARCH protocol only. Jeff From: Sergey Tretiyak [mailto:sergey.treti...@gmail.com] Sent: Monday, December 28, 2015 7:58 PM To: Fan, Jeff Cc: edk2-devel@lists.01.org Subject: Re: [edk2] Registering custom exception/interrupt handler function. Yes, here's what I get printed: !!!! X64 Exception Type - 000000000000000D CPU Apic ID - 00000000 !!!! RIP - 0000000039F37134, CS - 0000000000000038, RFLAGS - 0000000000010206 ExceptionData - 0000000000000000 RAX - 0000000000000014, RCX - 000000005DF75000, RDX - 0000000000000000 RBX - 0000000080000013, RSP - 0000000046AD15E0, RBP - 0000000046AD16B0 RSI - 0000000000000001, RDI - 000000005DF75000 R8 - 0000000000000000, R9 - 0000000000000000, R10 - 0000000046AD1200 R11 - 0000000000000002, R12 - 000000003A871518, R13 - 0000000000000000 R14 - 0000000000000000, R15 - 000000003A771998 DS - 0000000000000018, ES - 0000000000000018, FS - 0000000000000018 GS - 0000000000000018, SS - 0000000000000018 CR0 - 0000000080000013, CR2 - 0000000000000000, CR3 - 00000000468B0000 CR4 - 0000000000002668, CR8 - 0000000000000000 DR0 - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000 DR3 - 0000000000000000, DR6 - 00000000FFFE0FF0, DR7 - 0000000000000400 GDTR - 0000000044DEABE0 0000000000000047, LDTR - 0000000000000000 IDTR - 0000000044DEC4A0 0000000000000FFF, TR - 0000000000000000 FXSAVE_STATE - 0000000046AD1240 !!!! Find PE image (....path to pdb file...) (ImageBase=0000000039F36000, EntryPoint=0000000039F362C0) !!!! On Mon, Dec 28, 2015 at 9:56 AM, Fan, Jeff <jeff....@intel.com<mailto:jeff....@intel.com>> wrote: Sorry. I missed this mail last week. Are you sure the exception message included the following message? " (ImageBase=%016lx, EntryPoint=%016lx) !!!!\n", Or could you post the whole exception message not only the first line? Jeff From: Sergey Tretiyak [mailto:sergey.treti...@gmail.com<mailto:sergey.treti...@gmail.com>] Sent: Monday, December 21, 2015 8:06 PM To: Fan, Jeff Cc: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org> Subject: Re: [edk2] Registering custom exception/interrupt handler function. It is used, I get the message printed from DumpCpuContent() in ArchExceptionHandler.c, that starts with "!!!! X64 Exception Type - ... CPU Apic ID - ... !!!!...". On Mon, Dec 21, 2015 at 5:09 AM, Fan, Jeff <jeff....@intel.com<mailto:jeff....@intel.com>> wrote: Could you post the exception message from serial port? Then we could know if UefiCpuPkg/Library/CpuExceptionHandlerLib is used or not? Jeff -----Original Message----- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org<mailto:edk2-devel-boun...@lists.01.org>] On Behalf Of Sergey Tretiyak Sent: Sunday, December 20, 2015 6:05 PM To: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org> Subject: [edk2] Registering custom exception/interrupt handler function. Hi to all. I'm trying to write some EDK shell app for the latest Intel Skylake CPU, and I need to use a custom GP exception handler during its work. I'm trying to locate the EFI_CPU_ARCH_PROTOCOL by using gEfiCpuArchProtocolGuid, then I'm using the RegisterInterruptHandler protocol function (first with NULL to unregister the existing handler, and then with pointer to my handler function), and it returns me EFI_SUCCESS in both calls. But when I actually get a GP, it doesn't reach my custom handler function, and probably continues to use some kind of default exception handler that prints a default exception message on my serial port. What I am doing wrong? Perhaps I'm compiling my app with a wrong library? Which library should be used for EFI_CPU_ARCH_PROTOCOL to work correctly as expected? _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org> https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel