Displaying 15 results from an estimated 15 matches for "disk_read_sector".
Did you mean:
disk_read_sectors
2014 Jun 29
0
[PATCH 1/6] chain/partiter: fix and improve gpt handling in buggy cases
...chksum;
+ int valid;
- hold_crc32 = gh->chksum;
gh->chksum = 0;
- if (!valid_crc(hold_crc32, (const uint8_t *)gh, gh->hdr_size)) {
- warn("Primary GPT header checksum invalid.");
- /* retry with backup */
- lba_alt = gh->lba_alt;
- free(gh);
- if (!(gh = *_gh = disk_read_sectors(diskinfo, lba_alt, 1))) {
- error("Couldn't read backup GPT header.");
- return -1;
- }
- hold_crc32 = gh->chksum;
- gh->chksum = 0;
- if (!valid_crc(hold_crc32, (const uint8_t *)gh, gh->hdr_size)) {
- error("Secondary GPT header checksum invalid.");
-...
2013 Sep 06
1
[PATCH 2/2 v2] com32/disk: Improve flow at disk_write_sectors and disk_read_sectors.
This patch will improve the flow at disk_write_sectors and disk_read_sectors.
It does that by creating a table of values respective to the operation.
Besides, read and write operations are pretty similar to each other,
so I redesigned the routines to avoid duplication.
Signed-off-by: Raphael S.Carvalho <raphael.scarv at gmail.com>
---
com32/include/syslinux/disk.h...
2013 Sep 17
1
[PATCH 2/4 v3] com32/disk: Code cleanup at disk_write_sectors and disk_read_sectors.
...inreg->edx.b[1] = h;
+ inreg->edx.b[0] = diskinfo->disk;
+ inreg->ebx.w[0] = OFFS(buf);
+ inreg->es = SEG(buf);
+
+ return buf;
+}
+
+/**
* Get disk block(s) and return a malloc'd buffer.
*
* @v diskinfo The disk drive to read from
@@ -172,7 +250,6 @@ void *disk_read_sectors(const struct disk_info *const diskinfo, uint64_t lba,
uint8_t count)
{
com32sys_t inreg;
- struct disk_ebios_dapa *dapa;
void *buf;
void *data = NULL;
uint32_t maxcnt;
@@ -184,48 +261,14 @@ void *disk_read_sectors(const struct disk_info *const diskinfo, uint64_t lba,...
2013 Sep 06
1
[PATCH 2/2] com32/disk: Improve flow at disk_write_sectors and disk_read_sectors.
This patch will improve the flow at disk_write_sectors and disk_read_sectors significantly,
but it *will* introduce bugs if either of the above functions gets called before disk_get_params.
---
com32/include/syslinux/disk.h | 21 +++++
com32/lib/syslinux/disk.c | 170 +++++++++++++++++++++--------------------
2 files changed, 108 insertions(+), 83 deletions(-)
dif...
2014 Jun 29
10
[PATCH 0/6] chain.c32 patches
This small set fixes few bugs, improves gpt handling (under buggy conditions)
and implements strict flag with more fine grained control which should fix
issues with sanity checks against disk sizes.
If this set is allright I'd want to do what I mentioned in older discussion
with Ady - backport missing patches from 6.x to 5.x and 4.x so all versions
have up to date chain version.
Michal
2010 Aug 08
1
PATCH/RFC chain.c: update iterator code, yank from chain.c, move both to separate directory
1) code split and move
Iterator related functionality is yanked from chain.c and moved to
iterator.{c,h}. Both are moved to com32/chain and this way chain.c is ready
for further splitting.
Alternatively, partiter could be moved to com32/lib at any time in the future.
It's potentially useful for other modules (e.g. if someone wanted to code
partition dumper or editor).
2) Iterator updates
2013 Oct 18
0
[RFC/PATCH 1/3] Move partiter from com32/chain to com32/lib/syslinux
...struct disk_dos_part_entry **_dp)
-{
- struct disk_dos_part_entry *dp;
-
- if (prep_base_ebr(iter) < 0) {
- iter->status = PI_DONE;
- return -1;
- }
-
- while (++iter->index0 < 1024 && iter->dos.nebr_lba) {
- free(iter->data);
- if (!(iter->data =
- disk_read_sectors(&iter->di, iter->dos.nebr_lba, 1))) {
- error("Couldn't load EBR.");
- iter->status = PI_ERRLOAD;
- return -1;
- }
-
- /* check sanity of loaded data */
- if (notsane_logical(iter) || notsane_extended(iter)) {
- iter->status = PI_INSANE;
- return -...
2014 Jan 05
2
Syslinux: Pending patches
...Disk
10/07 Lua get_key & example (is this in the 5.2.2 upgrade?)
-More Review/work required before inclusion (based on threads)
09/30 [PATCH v2] core: Check size of ldlinux.sys at building time
(needs core shrink first)
09/06-09/17 [PATCH 2/2] com32/disk: Improve flow at disk_write_sectors
and disk_read_sectors (rework needed)
09/06-09/30 [PATCH 1/2] com32/lib/: Avoid unneeded allocation.
07/22 [PATCH 1/1 v2] Add UFS1/2 support to Extlinux installer.
07/19 core/fs: Add support to Unix File system 1/2.
07/18 core/serial: Add support for serial output functions.
-Pending rejection
10/8 gPXE null pointer d...
2015 Jul 22
0
[PULL 1/8] Move partiter from com32/chain to com32/lib/syslinux
...struct disk_dos_part_entry **_dp)
-{
- struct disk_dos_part_entry *dp;
-
- if (prep_base_ebr(iter) < 0) {
- iter->status = PI_DONE;
- return -1;
- }
-
- while (++iter->index0 < 1024 && iter->dos.nebr_lba) {
- free(iter->data);
- if (!(iter->data =
- disk_read_sectors(&iter->di, iter->dos.nebr_lba, 1))) {
- error("Couldn't load EBR.");
- iter->status = PI_ERRLOAD;
- return -1;
- }
-
- /* check sanity of loaded data */
- if (notsane_logical(iter) || notsane_extended(iter)) {
- iter->status = PI_INSANE;
- return -...
2015 Sep 24
0
[PATCH] com32/disk: add UEFI support
...dump(const struct disk_gpt_part_entry *const
+ gpt_part);
+
+/* disk.c */
+#ifndef SYSLINUX_EFI
extern int disk_int13_retry(const com32sys_t * inreg, com32sys_t * outreg);
+#endif
+
extern int disk_get_params(int disk, struct disk_info *const diskinfo);
extern void *disk_read_sectors(const struct disk_info *const diskinfo,
- uint64_t lba, uint8_t count);
+ uint64_t lba, uint8_t count);
extern int disk_write_sectors(const struct disk_info *const diskinfo,
- uint64_t lba, const void *data, uint8_t count);
+...
2012 Nov 06
50
chain.c32 (and partiter) updates v2
This is a bit updated set of chain.c32 changes that simplifies a few things
(and in partiter part), fixes few minor issues and adds a few new features.
Details are in the following commits, below is the summary and pull details at
the end.
Shao - any chance to peek over them ? Most of those are relatively simple
changes and well tested, though of course something might have slipped my
attention.
2014 Sep 09
2
Are any of these still relevant?
.../www.syslinux.org/archives/2013-September/020910.html
So I'm not sure the prior one, "Avoid unneeded allocation" is still
needed / awaiting.
_ More review/work required before inclusion (based on threads)
2013Sep06-17 [PATCH 2/2] com32/disk: Improve flow at
disk_write_sectors and disk_read_sectors (rework needed)
http://www.syslinux.org/archives/2013-September/020860.html
_ 2014Jan [PATCH] efi: off-by-one in gdt allocation
http://www.syslinux.org/archives/2014-February/021725.html
(By now the original patch is off by a few lines, because additional
patches were applied since it was...
2012 Aug 20
13
[PATCH 00/12] Multidisk support
Hello,
the following patches should get multidisk access working.
The syntax accepted is the following:
(hdx,y)/path/to/file
where x is the disk number and start at 0 and the y is the partition number starting at 1. So (hd0,1) is the first partition of the first disk.
the other accepted syntax is using MBR's 32 bits disk signature so for example:
(mbr:0x12345678,2)/foo/bar
would address
2015 Jul 22
13
[PULL 0/8] MultiFS suppport for BIOS and EFI
So last week I was wondering if XFS was still working -- even with its
last on-disk structure changes -- and it _suprisingly_ worked as
expected. Right, now I can finally get rid of GRUB and use Syslinux to
boot my Linux on EFI from a rootfs with xfs. Shit, I have two
partitions (the first one being the required ESP) so there is no way to
access the other partitions since because Syslinux does not
2012 Jun 26
2
[GIT PULL] elflink bug fixes
....b[1];
@@ -145,7 +152,9 @@ int disk_get_params(int disk, struct disk_info *const diskinfo)
if (!diskinfo->lbacnt)
diskinfo->lbacnt = diskinfo->cyl * diskinfo->head * diskinfo->spt;
- return 0;
+out:
+ lfree(eparam);
+ return rv;
}
/**
@@ -163,17 +172,26 @@ void *disk_read_sectors(const struct disk_info *const diskinfo, uint64_t lba,
uint8_t count)
{
com32sys_t inreg;
- struct disk_ebios_dapa *dapa = __com32.cs_bounce;
- void *buf = (char *)__com32.cs_bounce + diskinfo->bps;
- void *data;
+ struct disk_ebios_dapa *dapa;
+ void *buf;
+ void *da...