1. I actually don't get any prints when I do that

2. I get "Already started" error from the RegisterInterruptHandler when I
try to register my own handler, and again I don't get any prints.

On Tue, Dec 29, 2015 at 3:04 AM, Fan, Jeff <[email protected]> wrote:

> 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:[email protected]]
> *Sent:* Monday, December 28, 2015 7:58 PM
>
> *To:* Fan, Jeff
> *Cc:* [email protected]
> *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 <[email protected]> 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:[email protected]]
> *Sent:* Monday, December 21, 2015 8:06 PM
> *To:* Fan, Jeff
> *Cc:* [email protected]
> *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 <[email protected]> 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:[email protected]] On Behalf Of
> Sergey Tretiyak
> Sent: Sunday, December 20, 2015 6:05 PM
> To: [email protected]
> 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
> [email protected]
> https://lists.01.org/mailman/listinfo/edk2-devel
>
>
>
>
>
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to