Changeset 1eb0dd13 in mainline
- Timestamp:
- 2005-07-21T13:32:41Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 60875800
- Parents:
- 2884193
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia32/src/pm.c
r2884193 r1eb0dd13 129 129 130 130 131 131 // Clean IOPL(12,13) and NT(14) flags in EFLAGS register 132 132 static void clean_IOPL_NT_flags(void) 133 133 { … … 144 144 ); 145 145 } 146 147 // Clean AM(18) flag in CR0 register 148 static void clean_AM_flag(void) 149 { 150 asm 151 ( 152 "mov %%cr0,%%eax;" 153 "and $0xFFFBFFFF,%%eax;" 154 "mov %%eax,%%cr0;" 155 : 156 : 157 :"%eax" 158 ); 159 } 160 146 161 147 162 … … 186 201 __asm__("ltr %0" : : "r" ((__u16) selector(TSS_DES))); 187 202 188 clean_IOPL_NT_flags(); 189 } 203 clean_IOPL_NT_flags(); //Disable I/O on nonprivileged levels 204 clean_AM_flag(); //Disable alignment check 205 } -
doc/TODO
r2884193 r1eb0dd13 13 13 + [ia32] lazy context switch using TS flag [DONE] 14 14 + [ia32] MMX,SSE1-.. initialization 15 + [ia32] review privilege separation 15 + [ia32] review privilege separation [DONE] 16 16 + zero IOPL in EFLAGS [DONE] 17 17 + before IRET (from SYSCALL), zero NT in EFLAGS [DONE]
Note:
See TracChangeset
for help on using the changeset viewer.