[syslinux:pathbased] sysdump: use lmalloc/lfree
syslinux-bot for H. Peter Anvin
hpa at linux.intel.com
Fri Jun 18 18:30:19 PDT 2010
Commit-ID: 46971666d3fbe15db020029034747a64738754aa
Gitweb: http://syslinux.zytor.com/commit/46971666d3fbe15db020029034747a64738754aa
Author: H. Peter Anvin <hpa at linux.intel.com>
AuthorDate: Fri, 18 Jun 2010 18:27:55 -0700
Committer: H. Peter Anvin <hpa at linux.intel.com>
CommitDate: Fri, 18 Jun 2010 18:27:55 -0700
sysdump: use lmalloc/lfree
Use lmalloc/lfree instead of using the fixed (obsolete) bounce buffer.
Signed-off-by: H. Peter Anvin <hpa at linux.intel.com>
---
com32/sysdump/memmap.c | 6 +++++-
com32/sysdump/vesa.c | 7 +++++--
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/com32/sysdump/memmap.c b/com32/sysdump/memmap.c
index a85f092..251107d 100644
--- a/com32/sysdump/memmap.c
+++ b/com32/sysdump/memmap.c
@@ -19,10 +19,12 @@ struct e820_info {
static void dump_e820(struct backend *be)
{
com32sys_t ireg, oreg;
- struct e820_info *curr = __com32.cs_bounce;
+ struct e820_info *curr;
struct e820_info *buf, *p;
int nentry, nalloc;
+ curr = lmalloc(sizeof *curr);
+
buf = p = NULL;
nentry = nalloc = 0;
memset(&ireg, 0, sizeof ireg);
@@ -56,7 +58,9 @@ static void dump_e820(struct backend *be)
if (nentry)
cpio_writefile(be, "memmap/15e820", buf, nentry*sizeof *buf);
+
free(buf);
+ lfree(curr);
}
void dump_memory_map(struct backend *be)
diff --git a/com32/sysdump/vesa.c b/com32/sysdump/vesa.c
index 9bdc715..017f9e4 100644
--- a/com32/sysdump/vesa.c
+++ b/com32/sysdump/vesa.c
@@ -7,6 +7,7 @@
void dump_vesa_tables(struct backend *be)
{
com32sys_t rm;
+ struct vesa_info *vip;
struct vesa_general_info *gip, gi;
struct vesa_mode_info *mip, mi;
uint16_t mode, *mode_ptr;
@@ -15,8 +16,9 @@ void dump_vesa_tables(struct backend *be)
printf("Scanning VESA BIOS... ");
/* Allocate space in the bounce buffer for these structures */
- gip = &((struct vesa_info *)__com32.cs_bounce)->gi;
- mip = &((struct vesa_info *)__com32.cs_bounce)->mi;
+ vip = lmalloc(sizeof *vip);
+ gip = &vip->gi;
+ mip = &vip->mi;
memset(&rm, 0, sizeof rm);
memset(gip, 0, sizeof *gip);
@@ -56,5 +58,6 @@ void dump_vesa_tables(struct backend *be)
cpio_writefile(be, modefile, &mi, sizeof mi);
}
+ lfree(vip);
printf("done.\n");
}
More information about the Syslinux-commits
mailing list