diff options
Diffstat (limited to 'testing/dev86/dev86-pic.patch')
-rw-r--r-- | testing/dev86/dev86-pic.patch | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/testing/dev86/dev86-pic.patch b/testing/dev86/dev86-pic.patch new file mode 100644 index 0000000000..41076f3dae --- /dev/null +++ b/testing/dev86/dev86-pic.patch @@ -0,0 +1,20 @@ +--- ./elksemu/elks.c.orig 2005-11-04 01:35:37.000000000 +0100 ++++ ./elksemu/elks.c 2005-11-04 01:45:28.000000000 +0100 +@@ -129,8 +129,17 @@ + static inline int vm86_mine(struct vm86_struct* v86) + { + int __res; ++#ifndef __PIC__ + __asm__ __volatile__("int $0x80\n" + :"=a" (__res):"a" ((int)OLD_SYS_vm86), "b" ((int)v86)); ++#else ++ __asm__ __volatile__( ++ "movl %%ebx,%%ecx\n\t" ++ "movl %2,%%ebx\n\t" ++ "int $0x80\n\t" ++ "movl %%ecx,%%ebx\n\t" ++ :"=a" (__res):"a" ((int)OLD_SYS_vm86), "r" ((int)v86) : "ecx"); ++#endif + return __res; + } + #endif |