]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Universal/Ebc/Dxe/EbcInt.h
1. Advance IP in case of Break(3) in breakpoint exception
[mirror_edk2.git] / EdkModulePkg / Universal / Ebc / Dxe / EbcInt.h
index 5ccf8e11c73349035ea647ac6355c27d4f9373df..6926a90029eae46e4ac59a57844c628f44ed2e53 100644 (file)
@@ -49,6 +49,8 @@ typedef struct {
   VOID              *FramePtr;\r
   VOID              *EntryPoint;            // entry point of EBC image\r
   UINTN             ImageBase;\r
+  VOID              *StackPool;\r
+  VOID              *StackTop;\r
 } VM_CONTEXT;\r
 \r
 extern VM_CONTEXT                    *mVmPtr;\r
@@ -106,6 +108,8 @@ EbcDebugSignalException (
 //\r
 #define EFI_TIMER_UNIT_1MS            (1000 * 10)\r
 #define EBC_VM_PERIODIC_CALLBACK_RATE (1000 * EFI_TIMER_UNIT_1MS)\r
+#define STACK_POOL_SIZE               (1024 * 1020)\r
+#define MAX_STACK_NUM                 4\r
 \r
 EFI_STATUS\r
 EbcDebugSignalPeriodic (\r
@@ -152,6 +156,32 @@ EbcLLGetReturnValue (
   )\r
 ;\r
 \r
+EFI_STATUS\r
+GetEBCStack(\r
+  EFI_HANDLE Handle,\r
+  VOID       **StackBuffer,\r
+  UINTN      *BufferIndex\r
+  );\r
+\r
+EFI_STATUS\r
+ReturnEBCStack(\r
+  UINTN Index\r
+  );\r
+\r
+EFI_STATUS\r
+InitEBCStack (\r
+  VOID\r
+  );\r
+\r
+EFI_STATUS\r
+FreeEBCStack(\r
+  VOID\r
+  );\r
+\r
+EFI_STATUS\r
+ReturnEBCStackByHandle(\r
+  EFI_HANDLE Handle\r
+  );\r
 //\r
 // Defines for a simple EBC debugger interface\r
 //\r