search for: read_sectors

Displaying 20 results from an estimated 23 matches for "read_sectors".

Did you mean: read_sector
2013 Feb 08
6
[PATCH] 4k_sector: Support dynamic sectors in GPT MBR
This patches add support for dynamic sectors to GPT MBR code. First 3 patches are trick and optimizations to gain some space for the forth patch. I have a modified version of SeaBIOS, some code and some script o test it I'll send on a different mail.
2008 Jul 16
2
[PATCH 1/2] chain.c32: fix bounce buffer handling
Fix breakage in the "hide" option support patch: - The code which initialized the global variable "dapa" was lost in commit 81c203f2, therefore EBIOS access did not work properly. Fixed by removing the global variable completely and moving all bounce buffer handling into read_sector() and write_sector(). - write_sector() copied data to the bounce buffer, but then
2012 Sep 10
19
Initial support for sector size >512
This set of patches add some support for sector size >512. Currently it fixes extlinux, MBR for GPT and ext partitions. Other code is unaffected. This set of patches has been tested on a read Dell machine running a beta firmware.
2006 Nov 14
2
isolinux menu32 (Re: Problems booting on Intel i9x5 motherboards.)
See: http://syslinux.zytor.com/archives/2006-May/006887.html I think I've tracked the problem down a bit more specifically. In edd.S when the kernel calls int 0x13 with %dl=80 [primary disk] & %al=1 [read one sector] and ah set to READ_SECTORS it never returns. However, the following code [which does drive diagnostics] works. mov $0x7E, %al call prtchr movw $0x0000, %ax movb $0x14 , %ah int $0x13 mov $0x7E, %al call prtchr However, when I attempt to reset the disk controller: movw $0x0000, %ax movb $0x80, %dl in...
2009 Mar 30
2
[PATCH 1/1] v2 Add Diagnostic MBR for trouble-shooting
--- mbr/Makefile | 6 +- mbr/mbr-diag.S | 372 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 377 insertions(+), 1 deletions(-) create mode 100644 mbr/mbr-diag.S diff --git a/mbr/Makefile b/mbr/Makefile index 0bdf7e3..b9d743d 100644 --- a/mbr/Makefile +++ b/mbr/Makefile @@ -17,7 +17,7 @@ topdir = .. include $(topdir)/MCONFIG.embedded -all: mbr.bin gptmbr.bin
2017 Mar 19
1
"isolinux.bin missing or corrupt" when booting USB flash drive in old PC
Thomas Schmitt wrote: > I have some problems understanding the details of the program's flow. > > - The code inside PARTITION_SUPPORT is supposed to be inactive with > MBR isohdpfx.bin. It belongs to isohybrid --partok which is equivalent > to MBRs isohdppx*.bin. Debian uses isohdpfx.bin. Yes. isohdpfx.bin is generated from isohdpfx.S in which PARTITION_SUPPORT is not
2009 Mar 30
0
[PATCH 1/1] Add Diagnostic MBR for trouble-shooting
--- mbr/Makefile | 6 +- mbr/mbr-diag.S | 371 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 376 insertions(+), 1 deletions(-) create mode 100644 mbr/mbr-diag.S diff --git a/mbr/Makefile b/mbr/Makefile index 0bdf7e3..b9d743d 100644 --- a/mbr/Makefile +++ b/mbr/Makefile @@ -17,7 +17,7 @@ topdir = .. include $(topdir)/MCONFIG.embedded -all: mbr.bin gptmbr.bin
2009 Mar 30
2
[PATCH 1/1] v3: Add Diagnostic MBR for trouble-shooting BIOS boot-order problems.
--- mbr/Makefile | 6 +- mbr/mbr-diag.S | 377 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 382 insertions(+), 1 deletions(-) create mode 100644 mbr/mbr-diag.S diff --git a/mbr/Makefile b/mbr/Makefile index 0bdf7e3..b9d743d 100644 --- a/mbr/Makefile +++ b/mbr/Makefile @@ -17,7 +17,7 @@ topdir = .. include $(topdir)/MCONFIG.embedded -all: mbr.bin gptmbr.bin
2017 Mar 21
3
"isolinux.bin missing or corrupt" when booting USB flash drive in old PC
Thomas Schmitt wrote: > My main point of interest is which block is really loaded as first one > of isolinux.bin. [Program snipped.] > (It could be shorter if i did not insist in big endian words.) Why insisting? Anyway appended is a dumper version. I could put up a binery version if needed. Let me know if so. -- MartinS /*
2010 Jul 24
0
[PATCH] chain.c: allocation fixes
...art); return NULL; } @@ -889,6 +899,7 @@ static struct disk_part_iter *get_first_partition(struct disk_part_iter *part) error("Count not allocate partition iterator!\n"); goto err_alloc_iter; } + memset(part, 0, sizeof(*part)); /* Read MBR */ part->block = read_sectors(0, 2); if (!part->block) { @@ -940,16 +951,10 @@ static struct disk_part_iter *get_first_partition(struct disk_part_iter *part) return part->next(part); err_gpt_table: - err_mbr: - - free(part->block); - part->block = NULL; err_read_mbr: - - free(part); err_allo...
2007 Oct 17
3
Adding a "boot from local hard disk" option to syslinux menu, booted from USB
Hi all, I use XP on my laptop PC, with 30 GB HD (single partition), and a 3.5" hard drive (not a stick), accessed through a USB encasing, partitioned as five logical drives. I have successfully set up syslinux to boot several Ubuntu versions from the primary USB hard drive partition, and no problems there. The problem is, I would like to have an entry in the menu, like "Boot from
2009 Mar 30
0
[PATCH 0/1] v2 Add Diagnostic MBR for trouble-shooting
Changes: * Fix [C]HS indicator over-write (was showing '5' not 'C') * Use 0xDEAD as magic-bytes filler to make it clear when read_sector didn't replace it * Improvements to commentary and description. TJ (1): Add Diagnostic MBR for trouble-shooting mbr/Makefile | 6 +- mbr/mbr-diag.S | 372 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files
2009 Mar 30
0
[PATCH 0/3] mbr: Ctrl-key press forces load from first hard disk
The following series of patches add a work-around for a BIOS bug to the MBR code. The user can press a Ctrl key at boot-time to force the MBR to ignore the BIOS-reported drive number (passed in register DL) and use the first hard-disk device (0x80). This works around a common problem that otherwise results in the "Missing operating system" message. If the BIOS-defined boot device order
2010 Apr 16
0
Calling getoneblk() from com32
Is there an easy way to call getoneblk() (along with access to the required disk struct) from com32? I know I can use the gpllib read_sectors() but since the device_init already has the c/h/s/etc it sure would be nice to grab it from there and use getoneblk(). Any hints are greatly appreciated. Cheers, don
2017 Mar 19
1
"isolinux.bin missing or corrupt" when booting USB flash drive in old PC
Thomas Schmitt wrote: > I ponder whether it would be possible to create a diagnostic MBR > which does not necessarily have to boot but rather tells what the > isohybrid MBR would perceive: Presence of partition table, > EBIOS or CBIOS, block address used with INT 13, content of the block > read by the first INT 13, ... ... > The diagnostic MBR should only use 432 bytes because at
2017 Mar 21
0
Patch: make slightly more verbose versions of isohdp.x.S
From: MartinS <ams at ludd.ltu.se> isohdp[fp]v.S which says E or C if EBIOS or CBIOS is used. isohdppv.S also says G or M if a GPT or MBR partition is detected. Signed-off-by: MartinS <ams at ludd.ltu.se> --- Comments? diff --git a/mbr/Makefile b/mbr/Makefile index be2bded..7095396 100644 --- a/mbr/Makefile +++ b/mbr/Makefile @@ -21,7 +21,8 @@ include $(MAKEDIR)/embedded.mk all:
2012 Aug 10
1
[PATCH 4/4] Support sectors >512
If EBIOS is detected for this drive it tries to read sector size and use it. If error or no EBIOS 512 is assumed. Buffer to read sector size if always allocated into the stack. CHS informations are not readed as not needed and same space not restoring %dl for drive number. Signed-off-by: Frediano Ziglio <frediano.ziglio at citrix.com> --- mbr/gptmbr.S | 42
2010 Apr 27
2
gpllib write_sectors() patch
Here is a partial patch that I'm using to illustrate a few questions that I have. Looking at the gpllib write_sectors (com32/gpllib/disk/write.c) it looks like the allocated size is wrong; size is in sectors so we should adjust the alloc/memcpy by size*SECTOR. Also, comparing core/diskio.c it looks like the registers aren't even setup right. In the patch below I put an #if 0 around the
2012 Jun 26
2
[GIT PULL] elflink bug fixes
...memcpy(&drive_info->edd_params, dp, sizeof drive_info->edd_params); + lfree(dp); return 0; } diff --git a/com32/gpllib/disk/read.c b/com32/gpllib/disk/read.c index 7a6cc43..541957f 100644 --- a/com32/gpllib/disk/read.c +++ b/com32/gpllib/disk/read.c @@ -76,13 +76,22 @@ int read_sectors(struct driveinfo *drive_info, void *data, const unsigned int lba, const int sectors) { com32sys_t inreg, outreg; - struct ebios_dapa *dapa = __com32.cs_bounce; - void *buf = (char *)__com32.cs_bounce + sectors * SECTOR; + struct ebios_dapa *dapa; + void *buf; char *bufp =...
2012 Aug 02
0
[PATCH 3/3] ALPHA: implement and use rdwr_bytes
...23e92..f0a3fa8 100644 --- a/core/include/disk.h +++ b/core/include/disk.h @@ -7,6 +7,7 @@ typedef uint64_t sector_t; typedef uint64_t block_t; +typedef uint64_t bytes_t; /* * struct disk: contains the information about a specific disk and also @@ -29,6 +30,7 @@ struct disk { extern void read_sectors(char *, sector_t, int); extern void getoneblk(struct disk *, char *, block_t, int); +extern int rdwr_bytes(struct disk *, void *, bytes_t, size_t, bool); /* diskio.c */ struct disk *disk_init(uint8_t, bool, sector_t, uint16_t, uint16_t, uint32_t); -- 1.7.5.4