Ozkan Sezer | 3d41592 | 2009-09-08 18:30:08 +0000 | [diff] [blame] | 1 | #include <intrin.h> |
Kai Tietz | f308fd5 | 2009-08-16 09:27:33 +0000 | [diff] [blame] | 2 | |
| 3 | /* for x86 only */ |
Ozkan Sezer | 3d41592 | 2009-09-08 18:30:08 +0000 | [diff] [blame] | 4 | unsigned char __readfsbyte(unsigned long Offset) |
| 5 | { |
| 6 | unsigned char ret; |
Kai Tietz | f308fd5 | 2009-08-16 09:27:33 +0000 | [diff] [blame] | 7 | __asm__ volatile ("movb %%fs:%1,%0" |
| 8 | : "=r" (ret) ,"=m" ((*(volatile long *) Offset))); |
| 9 | return ret; |
Ozkan Sezer | 3d41592 | 2009-09-08 18:30:08 +0000 | [diff] [blame] | 10 | } |
Kai Tietz | f308fd5 | 2009-08-16 09:27:33 +0000 | [diff] [blame] | 11 | |