diff options
author | Matt Fleming <matt.fleming@intel.com> | 2012-07-03 08:50:13 +0100 |
---|---|---|
committer | Matt Fleming <matt.fleming@intel.com> | 2012-07-20 10:20:19 +0100 |
commit | 8486142cf30499e1d53d7faf3a168c8ed3163ab2 (patch) | |
tree | d8e4e835da8f577d28f847fdd4a25090cdbf340e /com32/lib/syslinux/shuffle.c | |
parent | 373a42433c4bea38d4d93ee749bd4d7f19bded51 (diff) | |
download | syslinux-8486142cf30499e1d53d7faf3a168c8ed3163ab2.tar.gz |
elflink: Replace __intcall() with direct function calls
There's no reason to use the COMBOOT API at all now that we can have
any undefined symbols resolved at runtime - we can just access
functions directly.
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'com32/lib/syslinux/shuffle.c')
-rw-r--r-- | com32/lib/syslinux/shuffle.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/com32/lib/syslinux/shuffle.c b/com32/lib/syslinux/shuffle.c index e9ee6aad..544915a3 100644 --- a/com32/lib/syslinux/shuffle.c +++ b/com32/lib/syslinux/shuffle.c @@ -38,6 +38,7 @@ #include <string.h> #include <inttypes.h> #include <com32.h> +#include <core.h> #include <minmax.h> #include <dprintf.h> #include <syslinux/movebits.h> @@ -51,12 +52,8 @@ static int shuffler_size; static void __constructor __syslinux_get_shuffer_size(void) { - static com32sys_t reg; - - reg.eax.w[0] = 0x0023; - __intcall(0x22, ®, ®); - - shuffler_size = (reg.eflags.l & EFLAGS_CF) ? 2048 : reg.ecx.w[0]; + /* +15 padding is to guarantee alignment */ + shuffler_size = __bcopyxx_len + 15; } /* |