diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-08-27 19:37:29 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-08-27 19:37:29 +0200 |
| commit | c9e0e4b6058f833f39c2193e217dc38f4edd8b82 (patch) | |
| tree | 7eadd57a88b51fc70ffd2668c7adc29386650e91 /dev/ZBA/Sources | |
| parent | fdbcbba07cac3dbf9ef377f2f5248dd662f6babd (diff) | |
[WIP] Finishing SMP support, and then working on system driver and
loader.
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 | 8 | ||||
| -rw-r--r-- | dev/ZBA/Sources/HEL/AMD64/BootMain.cxx | 2 |
2 files changed, 4 insertions, 6 deletions
diff --git a/dev/ZBA/Sources/HEL/AMD64/BootJump.S b/dev/ZBA/Sources/HEL/AMD64/BootJump.S index de474c96..f9943ecf 100644 --- a/dev/ZBA/Sources/HEL/AMD64/BootJump.S +++ b/dev/ZBA/Sources/HEL/AMD64/BootJump.S @@ -21,8 +21,6 @@ rt_jump_to_address: ret -.code16 - rt_reset_hardware: /* dont raise any interrupts. (except ofc NMIs.) */ cli @@ -41,9 +39,9 @@ wait_gate2: mov al,0x0FE out 0x60,al - /* trigger triple fault */ + /* trigger triple fault, by writing to cr4 */ - xor eax,eax - mov cr3,eax + xor rax,rax + mov cr4,rax reset_wait: jmp reset_wait diff --git a/dev/ZBA/Sources/HEL/AMD64/BootMain.cxx b/dev/ZBA/Sources/HEL/AMD64/BootMain.cxx index 6925a05a..c8cbe6a7 100644 --- a/dev/ZBA/Sources/HEL/AMD64/BootMain.cxx +++ b/dev/ZBA/Sources/HEL/AMD64/BootMain.cxx @@ -222,7 +222,7 @@ EFI_EXTERN_C EFI_API Int Main(EfiHandlePtr ImageHandle, checkPart.Format("ZKA (A:)", &root, 1); - EFI::Stop(); + rt_reset_hardware(); } // ---------------------------------------------------- // |
