diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2014-08-26 07:04:44 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2014-08-26 07:04:44 -0300 |
commit | 224ff53c78c2e8df8c6ac3f5b84964a9fd228ee3 (patch) | |
tree | 21f0f00d6ca7a856bde8310b4558a527717a6d85 /libre/syslinux-parabola/syslinux-6.02-fix-chainloading.patch | |
parent | 317a3b1d822c252c9f341170cf47a85d72cddde6 (diff) |
add parabola suffix on some packages
Diffstat (limited to 'libre/syslinux-parabola/syslinux-6.02-fix-chainloading.patch')
-rw-r--r-- | libre/syslinux-parabola/syslinux-6.02-fix-chainloading.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/libre/syslinux-parabola/syslinux-6.02-fix-chainloading.patch b/libre/syslinux-parabola/syslinux-6.02-fix-chainloading.patch new file mode 100644 index 000000000..6fd7ef4a8 --- /dev/null +++ b/libre/syslinux-parabola/syslinux-6.02-fix-chainloading.patch @@ -0,0 +1,47 @@ +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; |