diff options
author | Luca Dariz <luca@orpolo.org> | 2023-04-19 21:46:59 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-04-20 22:53:13 +0200 |
commit | 6b6d49a71f016a4ea60c4ae63af8dfd8c76f55ba (patch) | |
tree | e29fe2492b404600d009507ed777a2f439bb5868 /x86_64 | |
parent | 13e393e8d43c3509956ffee5cf27fc2311b649fd (diff) | |
download | gnumach-6b6d49a71f016a4ea60c4ae63af8dfd8c76f55ba.tar.gz gnumach-6b6d49a71f016a4ea60c4ae63af8dfd8c76f55ba.tar.bz2 gnumach-6b6d49a71f016a4ea60c4ae63af8dfd8c76f55ba.zip |
fix address fault for 32-on-64-bit syscall
* x86_64/locore.S: the faulty address is found in %rbp and not in
%rsi, so copy that in CR2
Message-Id: <20230419194703.410575-1-luca@orpolo.org>
Diffstat (limited to 'x86_64')
-rw-r--r-- | x86_64/locore.S | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/x86_64/locore.S b/x86_64/locore.S index 47d9085c..bffdea63 100644 --- a/x86_64/locore.S +++ b/x86_64/locore.S @@ -1208,12 +1208,12 @@ mach_call_call: /* * Address out of range. Change to page fault. - * %rsi holds failing address. + * %rbp holds failing address. */ mach_call_addr_push: movq %r11,%rsp /* clean parameters from stack */ mach_call_addr: - movq %rsi,R_CR2(%rbx) /* set fault address */ + movq %rbp,R_CR2(%rbx) /* set fault address */ movq $(T_PAGE_FAULT),R_TRAPNO(%rbx) /* set page-fault trap */ movq $(T_PF_USER),R_ERR(%rbx) |