From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=65.50.211.136; helo=mail.zytor.com; envelope-from=pcacjr@zytor.com; receiver=edk2-devel@lists.01.org Received: from mail.zytor.com (terminus.zytor.com [65.50.211.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 80FF921B00DC1 for ; Tue, 14 Nov 2017 05:19:36 -0800 (PST) Received: from [IPv6:2804:7f4:c480:4fed::1] ([IPv6:2804:7f4:c480:4fed:0:0:0:1]) (authenticated bits=0) by mail.zytor.com (8.15.2/8.15.2) with ESMTPSA id vAEDLGHR031440 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Tue, 14 Nov 2017 05:21:18 -0800 From: Paulo Alcantara To: edk2-devel@lists.01.org Cc: Rick Bramley , Andrew Fish , Eric Dong , Laszlo Ersek References: Message-ID: <8de9df9f-0386-8250-7c80-9a3cff65841e@zytor.com> Date: Tue, 14 Nov 2017 11:21:15 -0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Subject: Re: [RFC 0/1] Stack trace support in X64 exception handling X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Nov 2017 13:19:36 -0000 X-Groupsio-MsgNum: 17403 Content-Type: multipart/mixed; boundary="------------04C4EDF4E85D2A89DF8A03CC" Content-Language: en-US --------------04C4EDF4E85D2A89DF8A03CC Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Hi, On 14/11/2017 10:47, Paulo Alcantara wrote: > Hi, > > This series adds stack trace support during a X64 CPU exception. > > Informations like back trace, stack contents and image module names > (that were part of the call stack) will be dumped out. > > We already have such support in ARM/AArch64 (IIRC) exception handling > (thanks to Ard), and then I thought we'd also deserve it in X64 and > IA-32 platforms. > > What do you think guys? > > BTW, I've tested this only with OVMF (X64 only), using: > - gcc-6.3.0, GCC5, NOOPT > > Any other tests would be really appreciable. I've attached a file to show you how the trace would look like. Thanks! Paulo > > Thanks! > Paulo > > Repo: https://github.com/pcacjr/edk2.git > Branch: stacktrace_x64 > > Cc: Rick Bramley > Cc: Andrew Fish > Cc: Eric Dong > Cc: Laszlo Ersek > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Paulo Alcantara > --- > > Paulo Alcantara (1): > UefiCpuPkg/CpuExceptionHandlerLib/X64: Add stack trace support > > UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ArchExceptionHandler.c | 344 +++++++++++++++++++- > 1 file changed, 342 insertions(+), 2 deletions(-) > --------------04C4EDF4E85D2A89DF8A03CC Content-Type: text/plain; charset=UTF-8; name="trace.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="trace.txt" ISEhISBYNjQgRXhjZXB0aW9uIFR5cGUgLSAwRSgjUEYgLSBQYWdlLUZhdWx0KSAgQ1BVIEFwaWMg SUQgLSAwMDAwMDAwMCAhISEhCkV4Y2VwdGlvbkRhdGEgLSAwMDAwMDAwMDAwMDAwMDAyICBJOjAg UjowIFU6MCBXOjEgUDowIFBLOjAgUzowClJJUCAgLSAwMDAwMDAwMDdFNTEwRjdGLCBDUyAgLSAw MDAwMDAwMDAwMDAwMDM4LCBSRkxBR1MgLSAwMDAwMDAwMDAwMDEwMjAyClJBWCAgLSAwMDAwMDAw MDAwMDAwMDAwLCBSQ1ggLSAwMDAwMDAwMDdFQTAxMzE4LCBSRFggLSAwMDAwMDAwMDdGNkVFMDE4 ClJCWCAgLSAwMDAwMDAwMDAwODEwMjQ4LCBSU1AgLSAwMDAwMDAwMDdGNzYyQzcwLCBSQlAgLSAw MDAwMDAwMDdGNzYyQ0IwClJTSSAgLSAwMDAwMDAwMDAwMDAwMDA3LCBSREkgLSAwMDAwMDAwMDdF QTAxNDE4ClI4ICAgLSAwMDAwMDAwMDdFNTEzQTg4LCBSOSAgLSAwMDAwMDAwMDdFQTAxNzk4LCBS MTAgLSAwMDAwMDAwMDAwMDAwMDM2ClIxMSAgLSAwMDAwMDAwMDAwMDAwMEQ3LCBSMTIgLSAwMDAw MDAwMDAwMDAwMDAwLCBSMTMgLSAwMDAwMDAwMDAwMDAwMDAwClIxNCAgLSAwMDAwMDAwMDAwMDAw MDAwLCBSMTUgLSAwMDAwMDAwMDAwMDAwMDAwCkRTICAgLSAwMDAwMDAwMDAwMDAwMDMwLCBFUyAg LSAwMDAwMDAwMDAwMDAwMDMwLCBGUyAgLSAwMDAwMDAwMDAwMDAwMDMwCkdTICAgLSAwMDAwMDAw MDAwMDAwMDMwLCBTUyAgLSAwMDAwMDAwMDAwMDAwMDMwCkNSMCAgLSAwMDAwMDAwMDgwMDEwMDMz LCBDUjIgLSAwMDAwMDAwMDAwMDAwMDAwLCBDUjMgLSAwMDAwMDAwMDdGNzAxMDAwCkNSNCAgLSAw MDAwMDAwMDAwMDAwNjY4LCBDUjggLSAwMDAwMDAwMDAwMDAwMDAwCkRSMCAgLSAwMDAwMDAwMDAw MDAwMDAwLCBEUjEgLSAwMDAwMDAwMDAwMDAwMDAwLCBEUjIgLSAwMDAwMDAwMDAwMDAwMDAwCkRS MyAgLSAwMDAwMDAwMDAwMDAwMDAwLCBEUjYgLSAwMDAwMDAwMEZGRkYwRkYwLCBEUjcgLSAwMDAw MDAwMDAwMDAwNDAwCkdEVFIgLSAwMDAwMDAwMDdGNkVFQTk4IDAwMDAwMDAwMDAwMDAwNDcsIExE VFIgLSAwMDAwMDAwMDAwMDAwMDAwCklEVFIgLSAwMDAwMDAwMDdFRUYyMDE4IDAwMDAwMDAwMDAw MDBGRkYsICAgVFIgLSAwMDAwMDAwMDAwMDAwMDAwCkZYU0FWRV9TVEFURSAtIDAwMDAwMDAwN0Y3 NjI4RDAKCkJhY2sgdHJhY2U6CjAgMHgwMDAwMDAwMDdFNTEwRjdGIEAgMHgwMDAwMDAwMDdFNTA5 MDAwKzB4N0Y3RSAoMHgwMDAwMDAwMDdGNzYyQ0IwKSBpbiBQYXJ0aXRpb25EeGUuZGxsCjEgMHgw MDAwMDAwMDdFNTExMzVEIEAgMHgwMDAwMDAwMDdFNTA5MDAwKzB4ODM1QyAoMHgwMDAwMDAwMDdG NzYyQ0UwKSBpbiBQYXJ0aXRpb25EeGUuZGxsCjIgMHgwMDAwMDAwMDdFNTBDMTE2IEAgMHgwMDAw MDAwMDdFNTA5MDAwKzB4MzExNSAoMHgwMDAwMDAwMDdGNzYyRDIwKSBpbiBQYXJ0aXRpb25EeGUu ZGxsCjMgMHgwMDAwMDAwMDdGNzc2OTcyIEAgMHgwMDAwMDAwMDdFNTA5MDAwKzB4MTI2RDk3MSAo MHgwMDAwMDAwMDdGNzYyREIwKSBpbiBQYXJ0aXRpb25EeGUuZGxsCjQgMHgwMDAwMDAwMDdGNzhF RTA4IEAgMHgwMDAwMDAwMDdFNTA5MDAwKzB4MTI4NUUwNyAoMHgwMDAwMDAwMDdGNzYyRTMwKSBp biBQYXJ0aXRpb25EeGUuZGxsCjUgMHgwMDAwMDAwMDdGNzkxMzQzIEAgMHgwMDAwMDAwMDdFNTA5 MDAwKzB4MTI4ODM0MiAoMHgwMDAwMDAwMDdGNzYyRjYwKSBpbiBQYXJ0aXRpb25EeGUuZGxsCjYg MHgwMDAwMDAwMDdGNzkxQUM3IEAgMHgwMDAwMDAwMDdFNTA5MDAwKzB4MTI4OEFDNiAoMHgwMDAw MDAwMDdGNzYyRjkwKSBpbiBQYXJ0aXRpb25EeGUuZGxsCjcgMHgwMDAwMDAwMDdGNzY3RERCIEAg MHgwMDAwMDAwMDdFNTA5MDAwKzB4MTI1RUREQSAoMHgwMDAwMDAwMDdGNzYyRkMwKSBpbiBQYXJ0 aXRpb25EeGUuZGxsCjggMHgwMDAwMDAwMDdGN0RGNzVGIEAgMHgwMDAwMDAwMDdFNTA5MDAwKzB4 MTJENjc1RSAoMHgwMDAwMDAwMDdCN0RDODQwKSBpbiBQYXJ0aXRpb25EeGUuZGxsCjkgMHgwMDAw MDAwMDdGN0U1NTQ2IEAgMHgwMDAwMDAwMDdFNTA5MDAwKzB4MTJEQzU0NSAoMHgwMDAwMDAwMDdC N0RDOEMwKSBpbiBQYXJ0aXRpb25EeGUuZGxsCjEwIDB4MDAwMDAwMDA3RjdFNDMxMiBAIDB4MDAw MDAwMDA3RTUwOTAwMCsweDEyREIzMTEgKDB4MDAwMDAwMDA3QjdEQ0EzMCkgaW4gUGFydGl0aW9u RHhlLmRsbAoxMSAweDAwMDAwMDAwN0Y3RjBEQjkgQCAweDAwMDAwMDAwN0U1MDkwMDArMHgxMkU3 REI4ICgweDAwMDAwMDAwN0I3RENGODApIGluIFBhcnRpdGlvbkR4ZS5kbGwKMTIgMHgwMDAwMDAw MDAwODI4NkU5IEAgMHgwMDAwMDAwMDAwODIwMTQwKzB4ODVBOCAoMHgwMDAwMDAwMDdCN0RENEQw KSBpbiBQZWlDb3JlLmRsbAoxMyAweDAwMDAwMDAwMDA4MzA5MkYgQCAweDAwMDAwMDAwMDA4MjAx NDArMHgxMDdFRSAoMHgwMDAwMDAwMDAwODE3NjAwKSBpbiBQZWlDb3JlLmRsbAoxNCAweDAwMDAw MDAwMDA4MzE1NzQgQCAweDAwMDAwMDAwMDA4MjAxNDArMHgxMTQzMyAoMHgwMDAwMDAwMDAwODE3 NkQwKSBpbiBQZWlDb3JlLmRsbAoxNSAweDAwMDAwMDAwMDA4MjhEOUIgQCAweDAwMDAwMDAwMDA4 MjAxNDArMHg4QzVBICgweDAwMDAwMDAwMDA4MTdDMjApIGluIFBlaUNvcmUuZGxsCjE2IDB4MDAw MDAwMDAwMDgzMjM4QSBAIDB4MDAwMDAwMDAwMDgyMDE0MCsweDEyMjQ5ICgweDAwMDAwMDAwMDA4 MTdDNTApIGluIFBlaUNvcmUuZGxsCjE3IDB4MDAwMDAwMDAwMDgyNDMxMiBAIDB4MDAwMDAwMDAw MDgyMDE0MCsweDQxRDEgKDB4MDAwMDAwMDAwMDgxN0M4MCkgaW4gUGVpQ29yZS5kbGwKMTggMHgw MDAwMDAwMEZGRkQ0MjkxIEAgMHgwMDAwMDAwMDAwODIwMTQwKzB4RkY3QjQxNTAgKDB4MDAwMDAw MDAwMDgxN0NFMCkgaW4gUGVpQ29yZS5kbGwKMTkgMHgwMDAwMDAwMEZGRkNGNTc4IEAgMHgwMDAw MDAwMDAwODIwMTQwKzB4RkY3QUY0MzcgKDB4MDAwMDAwMDAwMDgxN0QxMCkgaW4gUGVpQ29yZS5k bGwKMjAgMHgwMDAwMDAwMEZGRkQ0MjJDIEAgMHgwMDAwMDAwMDAwODIwMTQwKzB4RkY3QjQwRUIg KDB4MDAwMDAwMDAwMDgxN0ZEMCkgaW4gUGVpQ29yZS5kbGwKMjEgMHgwMDAwMDAwMEZGRkQ0NDg5 IEAgMHgwMDAwMDAwMDAwODIwMTQwKzB4RkY3QjQzNDggKDB4MDAwMDAwMDBGRkZDQzAwMCkgaW4g UGVpQ29yZS5kbGwKClBhcnRpdGlvbkR4ZS5kbGwgKEltYWdlQmFzZT0weDAwMDAwMDAwN0U1MDkw MDAsIEVudHJ5UG9pbnQ9MHgwMDAwMDAwMDdFNTBDMDFGKToKL2hvbWUvcGNhY2pyL3NyYy9lZGsy LmdpdC9CdWlsZC9Pdm1mWDY0L05PT1BUX0dDQzUvWDY0L01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwv RGlzay9QYXJ0aXRpb25EeGUvUGFydGl0aW9uRHhlL0RFQlVHL1BhcnRpdGlvbkR4ZS5kbGwKUGVp Q29yZS5kbGwgKEltYWdlQmFzZT0weDAwMDAwMDAwMDA4MjAxNDAsIEVudHJ5UG9pbnQ9MHgwMDAw MDAwMDAwODI0MkVDKToKL2hvbWUvcGNhY2pyL3NyYy9lZGsyLmdpdC9CdWlsZC9Pdm1mWDY0L05P T1BUX0dDQzUvWDY0L01kZU1vZHVsZVBrZy9Db3JlL1BlaS9QZWlNYWluL0RFQlVHL1BlaUNvcmUu ZGxsCgpTdGFjayBkdW1wOgoweDAwMDAwMDAwN0Y3NjJDNzA6IDAwMDAwMDAwN0U1MTM3RTAgMDAw MDAwMDAwMDAwMDAwMAoweDAwMDAwMDAwN0Y3NjJDODA6IDAwMDAwMDAwN0U1MTNBODggMDAwMDAw MDAwMDAwMDEwMAoweDAwMDAwMDAwN0Y3NjJDOTA6IDAwMDAwMDAwN0Y3NjJDQjAgMDAwMDAwMDAw MDAwMDAwMAoweDAwMDAwMDAwN0Y3NjJDQTA6IDAwMDAwMDAwN0Y3NjJDRTAgMDAwMDAwMDAwMDAw MDAwMAoweDAwMDAwMDAwN0Y3NjJDQjA6IDAwMDAwMDAwN0Y3NjJDRTAgMDAwMDAwMDA3RTUxMTM1 RAoweDAwMDAwMDAwN0Y3NjJDQzA6IDAwMDAwMDAwN0VBMDEzMTggMDAwMDAwMDA3RjZFRTAxOAow eDAwMDAwMDAwN0Y3NjJDRDA6IDAwMDAwMDA3N0Y3NzY4NTIgMDAwMDAwMDAwMDAwMDAwMAoweDAw MDAwMDAwN0Y3NjJDRTA6IDAwMDAwMDAwN0Y3NjJEMjAgMDAwMDAwMDA3RTUwQzExNgoweDAwMDAw MDAwN0Y3NjJDRjA6IDAwMDAwMDAwN0VBMDEzMTggMDAwMDAwMDA3RjZFRTAxOAoweDAwMDAwMDAw N0Y3NjJEMDA6IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMAoweDAwMDAwMDAwN0Y3 NjJEMTA6IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMAoweDAwMDAwMDAwN0Y3NjJE MjA6IDAwMDAwMDAwN0Y3NjJEQjAgMDAwMDAwMDA3Rjc3Njk3MgoweDAwMDAwMDAwN0Y3NjJEMzA6 IDAwMDAwMDAwN0VBMDEzMTggMDAwMDAwMDA3RjZFRTAxOAoweDAwMDAwMDAwN0Y3NjJENDA6IDAw MDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwNAoweDAwMDAwMDAwN0Y3NjJENTA6IDAwMDAw MDAwN0Y3OUExQTggMDAwMDAwMDA3Rjc5QUY5MAoweDAwMDAwMDAwN0Y3NjJENjA6IDAwMDAwMDAw N0Y3NjJEQjAgMDAwMDAwMDAwMDAwMDAwMAoweDAwMDAwMDAwN0Y3NjJENzA6IDAwMDAwMDAwN0Y3 OUExODAgMDAwMDAwMDAwMDAwMDBDOAoweDAwMDAwMDAwN0Y3NjJEODA6IDAwMDAwMDAwMDAwMDAw MDAgMDAwMDAwMDA3RUEwMTQxOAoweDAwMDAwMDAwN0Y3NjJEOTA6IDAwMDAwMDAwN0VBMDEzMTgg MDAwMDAwMDAwMDAwMDAwMAoweDAwMDAwMDAwN0Y3NjJEQTA6IDAwMDAwMDAwN0Y3OUExQTggMDAw MDAwMDA3Rjc5QUY5MAoweDAwMDAwMDAwN0Y3NjJEQjA6IDAwMDAwMDAwN0Y3NjJFMzAgMDAwMDAw MDA3Rjc4RUUwOAo= --------------04C4EDF4E85D2A89DF8A03CC--