diff options
author | Luca Dariz <luca@orpolo.org> | 2023-05-18 23:08:39 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-05-18 23:12:21 +0200 |
commit | d680b2d515b4aef4639efe892e3c30ccf00681a6 (patch) | |
tree | 0ad64870116de3be80cb026b5c96df350c629872 /x86_64 | |
parent | b93c1df404032839fc2d46580c20ee4b8bf2072c (diff) | |
download | gnumach-d680b2d515b4aef4639efe892e3c30ccf00681a6.tar.gz gnumach-d680b2d515b4aef4639efe892e3c30ccf00681a6.tar.bz2 gnumach-d680b2d515b4aef4639efe892e3c30ccf00681a6.zip |
fix fs/gs save/restore and USER32
* x86_64/locore.S: fix PUSH_FSGS -> _ISR and always make room for
fsgsbase on a 64-bit kernel.
Message-Id: <20230518210839.655403-1-luca@orpolo.org>
Diffstat (limited to 'x86_64')
-rw-r--r-- | x86_64/locore.S | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/x86_64/locore.S b/x86_64/locore.S index 4e341860..4d61d618 100644 --- a/x86_64/locore.S +++ b/x86_64/locore.S @@ -446,11 +446,9 @@ push_fs: pushq %fs /* restore fs, */ push_gs: pushq %gs /* restore gs. */ -#ifdef USER32 push_gsbase: pushq $0 pushq $0 -#endif push_segregs: movq %rax,R_TRAPNO(%rsp) /* set trap number */ movq %rdx,R_ERR(%rsp) /* set error code */ @@ -870,7 +868,7 @@ ast_from_interrupt: push %rdx mov %es,%rdx push %rdx - PUSH_FSGS + PUSH_FSGS_ISR mov %ss,%dx /* switch to kernel segments */ mov %dx,%ds |