Changeset 37b451f7 in mainline for arch/amd64/src/syscall.c
- Timestamp:
- 2006-02-07T02:22:44Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 65640fef
- Parents:
- dd4d6b0
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/amd64/src/syscall.c
rdd4d6b0 r37b451f7 35 35 36 36 #include <print.h> 37 #include <arch/cpu.h> 37 38 38 39 extern void syscall_entry(void); … … 55 56 write_msr(AMD_MSR_LSTAR, (__u64)syscall_entry); 56 57 /* Mask RFLAGS on syscall 57 * - we do not care what is in the flags field 58 * - disable interrupts, until we exchange the stack register 59 * (mask the IE bit) 58 60 */ 59 write_msr(AMD_MSR_SFMASK, 0 );61 write_msr(AMD_MSR_SFMASK, 0x200); 60 62 } 61 63 … … 63 65 __native syscall_handler(__native id, __native a1, __native a2, __native a3) 64 66 { 67 interrupts_enable(); 65 68 if (id < SYSCALL_END) 66 69 return syscall_table[id](a1,a2,a3); 67 70 else 68 71 panic("Undefined syscall %d", id); 69 72 interrupts_disable(); 70 73 }
Note:
See TracChangeset
for help on using the changeset viewer.