diff options
Diffstat (limited to 'contrib/syslinux/latest/com32/lib/sys/farcall.c')
-rw-r--r-- | contrib/syslinux/latest/com32/lib/sys/farcall.c | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/contrib/syslinux/latest/com32/lib/sys/farcall.c b/contrib/syslinux/latest/com32/lib/sys/farcall.c deleted file mode 100644 index 988ee6d..0000000 --- a/contrib/syslinux/latest/com32/lib/sys/farcall.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * farcall.c - */ - -#include <com32.h> - -static inline uint32_t eflags(void) -{ - uint32_t v; - - asm volatile("pushfl ; popl %0" : "=rm" (v)); - return v; -} - -void __farcall(uint16_t cs, uint16_t ip, - const com32sys_t * ireg, com32sys_t * oreg) -{ - com32sys_t xreg = *ireg; - - /* Enable interrupts if and only if they are enabled in the caller */ - xreg.eflags.l = (xreg.eflags.l & ~EFLAGS_IF) | (eflags() & EFLAGS_IF); - - __com32.cs_farcall((cs << 16) + ip, &xreg, oreg); -} |