[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