summaryrefslogtreecommitdiffstats
path: root/abs/extra/syslinux/syslinux-6.02-fix-chainloading.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/syslinux/syslinux-6.02-fix-chainloading.patch')
-rw-r--r--abs/extra/syslinux/syslinux-6.02-fix-chainloading.patch47
1 files changed, 0 insertions, 47 deletions
diff --git a/abs/extra/syslinux/syslinux-6.02-fix-chainloading.patch b/abs/extra/syslinux/syslinux-6.02-fix-chainloading.patch
deleted file mode 100644
index 6fd7ef4..0000000
--- a/abs/extra/syslinux/syslinux-6.02-fix-chainloading.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Reported-by: Dark Raven <drdarkraven at gmail.com>
-Signed-off-by: Raphael S. Carvalho <raphael.scarv at gmail.com>
----
- com32/lib/syslinux/disk.c | 22 ++++++++++++++--------
- 1 files changed, 14 insertions(+), 8 deletions(-)
-
-diff --git a/com32/lib/syslinux/disk.c b/com32/lib/syslinux/disk.c
-index 0b0c737..47ecb52 100644
---- a/com32/lib/syslinux/disk.c
-+++ b/com32/lib/syslinux/disk.c
-@@ -171,22 +171,28 @@ out:
- static void *ebios_setup(const struct disk_info *const diskinfo, com32sys_t *inreg,
- uint64_t lba, uint8_t count, uint8_t op_code)
- {
-- static __lowmem struct disk_ebios_dapa dapa;
-+ static struct disk_ebios_dapa *dapa = NULL;
- void *buf;
-
-+ if (!dapa) {
-+ dapa = lmalloc(sizeof *dapa);
-+ if (!dapa)
-+ return NULL;
-+ }
-+
- buf = lmalloc(count * diskinfo->bps);
- if (!buf)
- return NULL;
-
-- dapa.len = sizeof(dapa);
-- dapa.count = count;
-- dapa.off = OFFS(buf);
-- dapa.seg = SEG(buf);
-- dapa.lba = lba;
-+ dapa->len = sizeof(*dapa);
-+ dapa->count = count;
-+ dapa->off = OFFS(buf);
-+ dapa->seg = SEG(buf);
-+ dapa->lba = lba;
-
- inreg->eax.b[1] = op_code;
-- inreg->esi.w[0] = OFFS(&dapa);
-- inreg->ds = SEG(&dapa);
-+ inreg->esi.w[0] = OFFS(dapa);
-+ inreg->ds = SEG(dapa);
- inreg->edx.b[0] = diskinfo->disk;
-
- return buf;