diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-09-03 19:55:57 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-09-03 19:55:57 +0200 |
| commit | afe7a2048513132f5ab28a8c5cdb6cbbc6e04993 (patch) | |
| tree | a4b9082672097c170479e92afb400e287b0a2b78 /dev/ZBA/Sources | |
| parent | a4114685aa464471bcc6d4df39e184d85dd991c7 (diff) | |
[ IMP ] Many improvements and kernel changes.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/ZBA/Sources')
| -rw-r--r-- | dev/ZBA/Sources/HEL/AMD64/BootJump.S | 6 | ||||
| -rw-r--r-- | dev/ZBA/Sources/Thread.cxx | 5 |
2 files changed, 4 insertions, 7 deletions
diff --git a/dev/ZBA/Sources/HEL/AMD64/BootJump.S b/dev/ZBA/Sources/HEL/AMD64/BootJump.S index f9943ecf..d8e09d4e 100644 --- a/dev/ZBA/Sources/HEL/AMD64/BootJump.S +++ b/dev/ZBA/Sources/HEL/AMD64/BootJump.S @@ -9,15 +9,9 @@ @brief this function setups a stack and then jumps to a function */ rt_jump_to_address: - mov rsp, r8 - - push rax - push rdx mov rbx, rcx mov rcx, rdx jmp rbx - pop rdx - pop rax ret diff --git a/dev/ZBA/Sources/Thread.cxx b/dev/ZBA/Sources/Thread.cxx index c7a62a04..1ea83618 100644 --- a/dev/ZBA/Sources/Thread.cxx +++ b/dev/ZBA/Sources/Thread.cxx @@ -22,6 +22,9 @@ EXTERN_C{ #include <string.h> } +EXTERN_C Void +rt_jump_to_address(VoidPtr start, VoidPtr handover); + // External boot services symbol. EXTERN EfiBootServices* BS; @@ -162,7 +165,7 @@ namespace Boot err_fn(handover); } - reinterpret_cast<HEL::HandoverProc>(fStartAddress)(handover); + rt_jump_to_address(fStartAddress, handover); } const Char* BThread::GetName() |
