Changeset c192134 in mainline
- Timestamp:
- 2005-07-21T13:00:38Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2884193
- Parents:
- 5d945376
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia32/src/asm.S
r5d945376 rc192134 115 115 pop %es 116 116 pop %ds 117 118 119 # CLNT 120 pushfl; 121 pop %eax; 122 and $0xFFFFBFFF; 123 push %eax; 124 popfl; 125 117 126 118 127 -
arch/ia32/src/cpu/cpu.c
r5d945376 rc192134 50 50 #define INTEL_CPUID_EDX 0x49656e69 51 51 52 52 53 enum vendor { 53 54 VendorUnknown=0, … … 87 88 ); 88 89 } 90 89 91 90 92 -
arch/ia32/src/pm.c
r5d945376 rc192134 129 129 130 130 131 132 static void clean_IOPL_NT_flags(void) 133 { 134 asm 135 ( 136 "pushfl;" 137 "pop %%eax;" 138 "and $0xffff8fff,%%eax;" 139 "push %%eax;" 140 "popfl;" 141 : 142 : 143 :"%eax" 144 ); 145 } 146 147 148 149 131 150 void pm_init(void) 132 151 { … … 166 185 */ 167 186 __asm__("ltr %0" : : "r" ((__u16) selector(TSS_DES))); 187 188 clean_IOPL_NT_flags(); 168 189 } -
arch/ia32/src/userspace.c
r5d945376 rc192134 47 47 48 48 __asm__ volatile ("" 49 // CLNT 50 "pushfl;" 51 "pop %%eax;" 52 "and $0xFFFFBFFF;" 53 "push %%eax;" 54 "popfl;" 55 49 56 "pushl %0\n" 50 57 "pushl %1\n" -
doc/TODO
r5d945376 rc192134 11 11 12 12 + save/restore floating point context on context switch 13 + [ia32] lazy context switch using TS flag [DONE]13 + [ia32] lazy context switch using TS flag [DONE] 14 14 + [ia32] MMX,SSE1-.. initialization 15 15 + [ia32] review privilege separation 16 + zero IOPL in EFLAGS 17 + before IRET (from SYSCALL), zero NT in EFLAGS 16 + zero IOPL in EFLAGS [DONE] 17 + before IRET (from SYSCALL), zero NT in EFLAGS [DONE] 18 18 + [ia32] review the cache controling bits in CR0 register 19 19 + [ia32] zero the alignment exception bit in EFLAGS
Note:
See TracChangeset
for help on using the changeset viewer.