DF-0873 / show_segs.c
/* print user CS/SS/CS3 to verify iretq frame selectors */ #include <stdio.h> #include <stdint.h> int main(void) { uint16_t cs, ss; __asm__ volatile("mov %%cs, %0" : "=r"(cs)); __asm__ volatile("mov %%ss, %0" : "=r"(ss)); printf("CS=0x%x SS=0x%x\n", cs, ss); uint64_t rfl; __asm__ volatile("pushfq\n popq %0" : "=r"(rfl)); printf("RFLAGS=0x%llx\n", (unsigned long long)rfl); return 0; } |