From: Pete Batard <pete@akeo.ie>
To: edk2-devel@lists.01.org
Subject: [PATCH (RESEND) v2 0/3] MdeModulePkg/EbcDxe: add EBC Debugger
Date: Mon, 14 Nov 2016 13:14:15 +0000 [thread overview]
Message-ID: <20161114131418.11876-1-pete@akeo.ie> (raw)
Hi,
This is v2 of a patchset to add the EBC Debugger back into EDK2.
Notes regarding this updated version are as follows:
0. You can find a github repo with this series of patch at:
https://github.com/pbatard/edk2/tree/EbcDebugger_v2 (patches at https://github.com/pbatard/edk2/commits/EbcDebugger_v2)
1. The series was broken down in 3 parts, with:
- changes that impact the existing driver code (1/3)
- changes that introduce the debugger code (2/3)
- changes related to factorizing and cleaning up the EBC headers (3/3)
2. This version introduces EbcDebuggerHook.c which contains the null version of the Debugger hooks, which enables keeping EBC driver compilation as it was, and avoids the use of a macro or Pcd for the debugger compilation. Note that I preferred to go with 'EbcDebuggerHook.c' rather than 'EbcDebuggerHookNull.c', as I think it fits better with 'EbcDebuggerHook.h' and the comments in the header make it very explicit that this only contains the null version of the hooks.
3. Because a version is used by both the debugger and the driver, the prototype for EbcDebugSignalException() was also moved from EbcInt.h to EbcDebuggerHook.h
4. I chose to move the definitions that relate to the EBC VM into EbcVmTest.h and the rest (opcode related) to Ebc.h, as I think it made more sense.
On a semi related note, I think that, at some stage, we should rename (or split) EbcVmTest.h because it is confusing as it's not used for testing only (all the EBC VM implementations use that file for the private EBC VM structure). But of course, that is something that is better done outside of this patch series.
Regards,
/Pete
Pete Batard (3):
MdeModulePkg/EbcDxe: prepare support for EBC Debugger
MdeModulePkg/EbcDxe: add EBC Debugger
MdeModulePkg/EbcDxe: reorganize EBC header definitions
MdeModulePkg/Include/Protocol/EbcVmTest.h | 36 +
MdeModulePkg/MdeModulePkg.dsc | 3 +-
MdeModulePkg/Universal/EbcDxe/AArch64/EbcSupport.c | 3 +
MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf | 120 +
MdeModulePkg/Universal/EbcDxe/EbcDebugger.uni | 24 +
MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c | 659 +++++
MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.h | 58 +
.../Universal/EbcDxe/EbcDebugger/EdbCmdBranch.c | 336 +++
.../Universal/EbcDxe/EbcDebugger/EdbCmdBreak.c | 327 +++
.../EbcDxe/EbcDebugger/EdbCmdBreakpoint.c | 614 +++++
.../Universal/EbcDxe/EbcDebugger/EdbCmdExtIo.c | 219 ++
.../Universal/EbcDxe/EbcDebugger/EdbCmdExtPci.c | 186 ++
.../Universal/EbcDxe/EbcDebugger/EdbCmdGo.c | 93 +
.../Universal/EbcDxe/EbcDebugger/EdbCmdHelp.c | 86 +
.../Universal/EbcDxe/EbcDebugger/EdbCmdMemory.c | 683 +++++
.../Universal/EbcDxe/EbcDebugger/EdbCmdQuit.c | 50 +
.../Universal/EbcDxe/EbcDebugger/EdbCmdRegister.c | 136 +
.../Universal/EbcDxe/EbcDebugger/EdbCmdScope.c | 123 +
.../Universal/EbcDxe/EbcDebugger/EdbCmdStep.c | 198 ++
.../Universal/EbcDxe/EbcDebugger/EdbCmdSymbol.c | 952 +++++++
.../Universal/EbcDxe/EbcDebugger/EdbCommand.c | 680 +++++
.../Universal/EbcDxe/EbcDebugger/EdbCommand.h | 106 +
.../Universal/EbcDxe/EbcDebugger/EdbCommon.h | 251 ++
.../Universal/EbcDxe/EbcDebugger/EdbDisasm.c | 1907 ++++++++++++++
.../Universal/EbcDxe/EbcDebugger/EdbDisasm.h | 42 +
.../EbcDxe/EbcDebugger/EdbDisasmSupport.c | 1461 +++++++++++
.../EbcDxe/EbcDebugger/EdbDisasmSupport.h | 241 ++
.../Universal/EbcDxe/EbcDebugger/EdbHook.c | 1003 ++++++++
.../Universal/EbcDxe/EbcDebugger/EdbHook.h | 27 +
.../Universal/EbcDxe/EbcDebugger/EdbSupport.h | 240 ++
.../Universal/EbcDxe/EbcDebugger/EdbSupportFile.c | 415 +++
.../EbcDxe/EbcDebugger/EdbSupportString.c | 991 ++++++++
.../Universal/EbcDxe/EbcDebugger/EdbSupportUI.c | 708 ++++++
.../Universal/EbcDxe/EbcDebugger/EdbSymbol.c | 2669 ++++++++++++++++++++
.../Universal/EbcDxe/EbcDebugger/EdbSymbol.h | 128 +
MdeModulePkg/Universal/EbcDxe/EbcDebuggerExtra.uni | 17 +
MdeModulePkg/Universal/EbcDxe/EbcDebuggerHook.c | 156 ++
MdeModulePkg/Universal/EbcDxe/EbcDebuggerHook.h | 136 +
MdeModulePkg/Universal/EbcDxe/EbcDxe.inf | 4 +-
MdeModulePkg/Universal/EbcDxe/EbcExecute.c | 39 +
MdeModulePkg/Universal/EbcDxe/EbcExecute.h | 198 --
MdeModulePkg/Universal/EbcDxe/EbcInt.c | 6 +
MdeModulePkg/Universal/EbcDxe/EbcInt.h | 29 -
MdeModulePkg/Universal/EbcDxe/Ia32/EbcSupport.c | 7 +-
MdeModulePkg/Universal/EbcDxe/Ipf/EbcSupport.c | 9 +-
MdeModulePkg/Universal/EbcDxe/X64/EbcSupport.c | 7 +-
MdePkg/Include/Protocol/Ebc.h | 171 ++
47 files changed, 16319 insertions(+), 235 deletions(-)
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger.uni
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.h
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdBranch.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdBreak.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdBreakpoint.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdExtIo.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdExtPci.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdGo.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdHelp.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdMemory.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdQuit.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdRegister.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdScope.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdStep.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdSymbol.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCommand.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCommand.h
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCommon.h
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbDisasm.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbDisasm.h
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbDisasmSupport.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbDisasmSupport.h
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbHook.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbHook.h
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSupport.h
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSupportFile.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSupportString.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSupportUI.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSymbol.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSymbol.h
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebuggerExtra.uni
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebuggerHook.c
create mode 100644 MdeModulePkg/Universal/EbcDxe/EbcDebuggerHook.h
--
2.9.3.windows.2
next reply other threads:[~2016-11-14 13:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-14 13:14 Pete Batard [this message]
2016-11-14 13:14 ` [PATCH (RESEND) v2 1/3] MdeModulePkg/EbcDxe: prepare support for EBC Debugger Pete Batard
2016-11-14 13:14 ` [PATCH (RESEND) v2 2/3] MdeModulePkg/EbcDxe: add " Pete Batard
2016-11-14 13:14 ` [PATCH (RESEND) v2 3/3] MdeModulePkg/EbcDxe: reorganize EBC header definitions Pete Batard
2016-11-14 13:22 ` [PATCH (RESEND) v2 0/3] MdeModulePkg/EbcDxe: add EBC Debugger Laszlo Ersek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161114131418.11876-1-pete@akeo.ie \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox