Lines Matching full:ss
3 * mov_ss_trap.c: Exercise the bizarre side effects of a watchpoint on MOV SS
5 * This does MOV SS from a watchpointed address followed by various
6 * types of kernel entries. A MOV SS that hits a watchpoint will queue
47 unsigned short ss;
66 dr0 = (unsigned long)&ss;
135 asm volatile ("mov %%ss, %[ss]" : [ss] "=m" (ss));
136 printf("\tSS = 0x%hx, &SS = 0x%p\n", ss, &ss);
146 asm volatile ("mov %[ss], %[tmp]" : [tmp] "=r" (nr) : [ss] "m" (ss));
148 printf("[RUN]\tMOV SS; INT3\n");
149 asm volatile ("mov %[ss], %%ss; int3" :: [ss] "m" (ss));
151 printf("[RUN]\tMOV SS; INT 3\n");
152 asm volatile ("mov %[ss], %%ss; .byte 0xcd, 0x3" :: [ss] "m" (ss));
154 printf("[RUN]\tMOV SS; CS CS INT3\n");
155 asm volatile ("mov %[ss], %%ss; .byte 0x2e, 0x2e; int3" :: [ss] "m" (ss));
157 printf("[RUN]\tMOV SS; CSx14 INT3\n");
158 asm volatile ("mov %[ss], %%ss; .fill 14,1,0x2e; int3" :: [ss] "m" (ss));
160 printf("[RUN]\tMOV SS; INT 4\n");
162 asm volatile ("mov %[ss], %%ss; int $4" :: [ss] "m" (ss));
165 printf("[RUN]\tMOV SS; INTO\n");
168 asm volatile ("add $1, %[tmp]; mov %[ss], %%ss; into"
169 : [tmp] "+r" (nr) : [ss] "m" (ss));
173 printf("[RUN]\tMOV SS; ICEBP\n");
178 asm volatile ("mov %[ss], %%ss; .byte 0xf1" :: [ss] "m" (ss));
182 printf("[RUN]\tMOV SS; CLI\n");
184 asm volatile ("mov %[ss], %%ss; cli" :: [ss] "m" (ss));
188 printf("[RUN]\tMOV SS; #PF\n");
190 asm volatile ("mov %[ss], %%ss; mov (-1), %[tmp]"
191 : [tmp] "=r" (nr) : [ss] "m" (ss));
199 printf("[RUN]\tMOV SS; INT 1\n");
201 asm volatile ("mov %[ss], %%ss; int $1" :: [ss] "m" (ss));
211 printf("[RUN]\tMOV SS; SYSCALL\n");
219 "mov %[ss], %%ss; syscall\n\t"
221 : "+a" (nr) : [ss] "m" (ss)
230 printf("[RUN]\tMOV SS; breakpointed NOP\n");
231 asm volatile ("mov %[ss], %%ss; breakpoint_insn: nop" :: [ss] "m" (ss));
238 printf("[RUN]\tMOV SS; SYSENTER\n");
249 asm volatile ("xorl %%ebp, %%ebp; mov %[ss], %%ss; SYSENTER" : "+a" (nr)
250 : [ss] "m" (ss) : "flags", "rcx"
260 printf("[RUN]\tMOV SS; INT $0x80\n");
263 asm volatile ("mov %[ss], %%ss; int $0x80"
264 : "+a" (nr) : [ss] "m" (ss)