diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-04-06 22:16:05 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-04-06 22:16:05 +0200 |
commit | 8872f037708d83d8b71de6747be499066d287455 (patch) | |
tree | fb34dc3b46c5396433c2d7d19a8c15553bb6da62 | |
parent | 71f4f63143d2ab0987d3315cdcd5d20e233d68d7 (diff) | |
download | gnumach-8872f037708d83d8b71de6747be499066d287455.tar.gz gnumach-8872f037708d83d8b71de6747be499066d287455.tar.bz2 gnumach-8872f037708d83d8b71de6747be499066d287455.zip |
mach_trap_table: Fix 64bit version
The addition of the mach_trap_name field made the 64bit unused field
spurious.
* kern/syscall_sw.h (mach_trap_t): Remove `unused' field.
-rw-r--r-- | i386/i386/locore.S | 2 | ||||
-rw-r--r-- | kern/syscall_sw.h | 5 | ||||
-rw-r--r-- | x86_64/locore.S | 2 |
3 files changed, 4 insertions, 5 deletions
diff --git a/i386/i386/locore.S b/i386/i386/locore.S index ddba2245..a0960a26 100644 --- a/i386/i386/locore.S +++ b/i386/i386/locore.S @@ -1075,7 +1075,7 @@ syscall_native: movb $0xf,%dh movw %dx,0xb800c #endif - shll $4,%eax /* manual indexing */ + shll $4,%eax /* manual indexing of mach_trap_t */ movl EXT(mach_trap_table)(%eax),%ecx /* get number of arguments */ jecxz mach_call_call /* skip argument copy if none */ diff --git a/kern/syscall_sw.h b/kern/syscall_sw.h index 9d28281a..80b1810b 100644 --- a/kern/syscall_sw.h +++ b/kern/syscall_sw.h @@ -31,6 +31,8 @@ * mach_trap_stack indicates the trap may discard * its kernel stack. Some architectures may need * to save more state in the pcb for these traps. + * + * Note: this is indexed manually by locore.S! */ typedef struct { @@ -38,9 +40,6 @@ typedef struct { int (*mach_trap_function)(); boolean_t mach_trap_stack; const char *mach_trap_name; -#ifdef __x86_64__ - long unused; -#endif } mach_trap_t; extern mach_trap_t mach_trap_table[]; diff --git a/x86_64/locore.S b/x86_64/locore.S index 3a2b3963..fd3617c5 100644 --- a/x86_64/locore.S +++ b/x86_64/locore.S @@ -1134,7 +1134,7 @@ syscall_native: movb $0xf,%dh movw %dx,0xb800c #endif - shll $5,%eax /* manual indexing */ + shll $5,%eax /* manual indexing of mach_trap_t */ xorq %r10,%r10 movl EXT(mach_trap_table)(%eax),%r10d /* get number of arguments */ |