mirror of
https://github.com/RGBCube/serenity
synced 2025-05-25 22:25:08 +00:00
Kernel: Make the kernel compile & link for x86_64
It's now possible to build the whole kernel with an x86_64 toolchain. There's no bootstrap code so it doesn't work yet (obviously.)
This commit is contained in:
parent
aae91dda66
commit
adb2e6be5f
15 changed files with 316 additions and 48 deletions
|
@ -795,12 +795,12 @@ DispatchSignalResult Thread::dispatch_signal(u8 signal)
|
|||
auto setup_stack = [&](RegisterState& state) {
|
||||
#if ARCH(I386)
|
||||
FlatPtr* stack = &state.userspace_esp;
|
||||
#elif ARCH(X86_64)
|
||||
FlatPtr* stack = &state.userspace_esp;
|
||||
#endif
|
||||
FlatPtr old_esp = *stack;
|
||||
FlatPtr ret_eip = state.eip;
|
||||
FlatPtr ret_eflags = state.eflags;
|
||||
#elif ARCH(X86_64)
|
||||
FlatPtr* stack = &state.userspace_esp;
|
||||
#endif
|
||||
|
||||
#if SIGNAL_DEBUG
|
||||
klog() << "signal: setting up user stack to return to eip: " << String::format("%p", (void*)ret_eip) << " esp: " << String::format("%p", (void*)old_esp);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue