aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-02-18 21:11:55 -0800
committerH. Peter Anvin <hpa@zytor.com>2009-02-18 21:11:55 -0800
commitdcf5e1cc66a4d37867e891d05ee114e0cf929bcf (patch)
tree57b1feb43a84fcfa265e064bd929ab30c77008eb
parent8f5084835e9a9358e3c7f4495ee1fe7fe0221cdd (diff)
downloadsyslinux-elf-dcf5e1cc66a4d37867e891d05ee114e0cf929bcf.tar.gz
syslinux-elf-dcf5e1cc66a4d37867e891d05ee114e0cf929bcf.tar.xz
syslinux-elf-dcf5e1cc66a4d37867e891d05ee114e0cf929bcf.zip
syslinux_derivative_info(): use the buffer we already have
Use the data buffer already set aside for syslinux_derivative_info().
-rw-r--r--com32/include/syslinux/config.h2
-rw-r--r--com32/lib/syslinux/dsinfo.c7
2 files changed, 4 insertions, 5 deletions
diff --git a/com32/include/syslinux/config.h b/com32/include/syslinux/config.h
index b5ed04c3..ed4bf247 100644
--- a/com32/include/syslinux/config.h
+++ b/com32/include/syslinux/config.h
@@ -1,6 +1,6 @@
/* ----------------------------------------------------------------------- *
*
- * Copyright 2007-2008 H. Peter Anvin - All Rights Reserved
+ * Copyright 2007-2009 H. Peter Anvin - All Rights Reserved
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
diff --git a/com32/lib/syslinux/dsinfo.c b/com32/lib/syslinux/dsinfo.c
index eebbbd3a..b3d3b3cd 100644
--- a/com32/lib/syslinux/dsinfo.c
+++ b/com32/lib/syslinux/dsinfo.c
@@ -1,6 +1,6 @@
/* ----------------------------------------------------------------------- *
*
- * Copyright 2008 H. Peter Anvin - All Rights Reserved
+ * Copyright 2008-2009 H. Peter Anvin - All Rights Reserved
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
@@ -33,11 +33,10 @@ union syslinux_derivative_info __syslinux_derivative_info;
void __constructor __syslinux_get_derivative_info(void)
{
- static com32sys_t reg;
com32sys_t * const r = &__syslinux_derivative_info.rr.r;
- reg.eax.w[0] = 0x000A;
- __intcall(0x22, &reg, r);
+ r->eax.w[0] = 0x000A;
+ __intcall(0x22, r, r);
__syslinux_derivative_info.r.esbx = MK_PTR(r->es, r->ebx.w[0]);
__syslinux_derivative_info.r.fssi = MK_PTR(r->fs, r->esi.w[0]);