summaryrefslogtreecommitdiffhomepage
path: root/Private/NewBoot/CxxRuntime
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-01-29 09:55:05 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-01-29 09:55:44 +0100
commit2529c8722d6d3491a3e19aa728f4bfce099bcc91 (patch)
tree116a1cfb461884b33c6805bde6fcfe868ae5e491 /Private/NewBoot/CxxRuntime
parent202db65935d71650600de9de59e4950ad047a122 (diff)
Kernel: Improve BootKit and EFIKit.
TODO: Add File Protocol support and Pool support for EFIKit. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/NewBoot/CxxRuntime')
-rw-r--r--Private/NewBoot/CxxRuntime/manifest.json3
-rw-r--r--Private/NewBoot/CxxRuntime/unwind.cxx11
2 files changed, 14 insertions, 0 deletions
diff --git a/Private/NewBoot/CxxRuntime/manifest.json b/Private/NewBoot/CxxRuntime/manifest.json
new file mode 100644
index 00000000..42b5d166
--- /dev/null
+++ b/Private/NewBoot/CxxRuntime/manifest.json
@@ -0,0 +1,3 @@
+{
+ "pluginName": "C++Kit"
+} \ No newline at end of file
diff --git a/Private/NewBoot/CxxRuntime/unwind.cxx b/Private/NewBoot/CxxRuntime/unwind.cxx
new file mode 100644
index 00000000..acfc0b6b
--- /dev/null
+++ b/Private/NewBoot/CxxRuntime/unwind.cxx
@@ -0,0 +1,11 @@
+namespace cxxkit
+{
+///! @brief C++ ABI unwinding
+///! finis array (r1)
+///! n of finis (r2)
+extern "C" void __unwind(void (**finis)(void), int cnt)
+{
+ for (int i = 0; i < cnt; ++i)
+ (finis[i])();
+}
+} // namespace cxxkit