search for: dapa

Displaying 19 results from an estimated 19 matches for "dapa".

Did you mean: capa
2013 Sep 06
1
[PATCH 2/2] com32/disk: Improve flow at disk_write_sectors and disk_read_sectors.
...o { uint32_t cyl; uint32_t head; uint32_t spt; + struct disk_ops ops; +}; + +enum disk_op_codes { + EBIOS_READ_CODE = 0x42, /* Extended read */ + EBIOS_WRITE_CODE = 0x43, /* Extended write */ + CHS_READ_CODE = 0x02, + CHS_WRITE_CODE = 0x03, }; struct disk_ebios_dapa { @@ -177,4 +193,9 @@ extern void disk_gpt_part_dump(const struct disk_gpt_part_entry *const gpt_part); extern void disk_gpt_header_dump(const struct disk_gpt_header *const gpt); +static void *ebios_disk_op(const struct disk_info *const, + com32sys_t *, uint64_t, uint8_t); +stat...
2013 Oct 17
1
[PATCH] chain: Fix chainloading on 6.02
From: Raphael S. Carvalho <raphael.scarv at gmail.com> My commit 09f4ac33 broke 'com32/lib/syslinux/disk.c' __lowmem doesn't work for declarations outside the core. Using __lowmem outside the core wouldn't have the desired effect, then lmalloc must be used instead to store dapa into the correct section (".lowmem"). 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...
2013 Sep 17
1
[PATCH 2/4 v3] com32/disk: Code cleanup at disk_write_sectors and disk_read_sectors.
...to read + * @v op_code Code to write/read operation + * @ret lmalloc'd buf upon success, NULL upon failure + */ +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; + void *buf; + + 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; + + inreg->eax.b[1] = op_code; + inreg->esi.w[0] = OFFS(...
2013 Sep 06
1
[PATCH 2/2 v2] com32/disk: Improve flow at disk_write_sectors and disk_read_sectors.
...t ah; + void *(*op)(const struct disk_info *const, com32sys_t *, + uint64_t, uint8_t); +}; + +enum disk_op_codes { + EBIOS_READ_CODE = 0x42, /* Extended read */ + EBIOS_WRITE_CODE = 0x43, /* Extended write */ + CHS_READ_CODE = 0x02, + CHS_WRITE_CODE = 0x03, +}; + struct disk_ebios_dapa { uint16_t len; uint16_t count; @@ -177,4 +190,9 @@ extern void disk_gpt_part_dump(const struct disk_gpt_part_entry *const gpt_part); extern void disk_gpt_header_dump(const struct disk_gpt_header *const gpt); +static inline void *ebios_disk_op(const struct disk_info *const,...
2010 Apr 27
2
gpllib write_sectors() patch
...ers every time so they should be supplied in the driveinfo struct (for both read and write). /** * write_sectors - write several sectors from disk @@ -37,9 +55,14 @@ int write_sectors(const struct driveinfo *drive_info, const unsigned int lba, { com32sys_t inreg, outreg; struct ebios_dapa *dapa = __com32.cs_bounce; - void *buf = (char *)__com32.cs_bounce + size; + void *buf = (char *)__com32.cs_bounce + size*SECTOR; - memcpy(buf, data, size); + if (get_drive_parameters(drive_info) == -1) { + printf("ERR: Can't get drive params!\n"); + return -1;...
2011 May 03
1
Visiting Researcher, species distribution modelling, Cali, Colombia
Dear All, The Decision and Policy Analysis (DAPA) program of the International Center for Tropical Agriculture (CIAT), a not-for-profit agriculture, biodiversity and ecosystems research center, supported by the Consultative Group of International Agricultural Research (CGIAR), with headquarters in Cali, Colombia is looking for a visiting research...
2012 Jun 26
2
[GIT PULL] elflink bug fixes
....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 = data; + int rv = -1; if (get_drive_parameters(drive_info) == -1) return -1; + buf = lmalloc(sectors * SECTOR); + if (!buf) +...
2015 Sep 24
0
[PATCH] com32/disk: add UEFI support
...int ebios; /* EBIOS supported on this disk */ + int cbios; /* CHS geometry is valid */ + }; + struct { /* EFI-specific information */ + void *biop; /* EFI_BLOCK_IO_PROTOCOL pointer */ + }; + }; }; +#ifndef SYSLINUX_EFI + struct disk_ebios_dapa { uint16_t len; uint16_t count; @@ -87,6 +97,8 @@ struct disk_ebios_eparam { uint8_t checksum; } __attribute__ ((packed)); +#endif + /** * CHS (cylinder, head, sector) value extraction macros. * Taken from WinVBlock. None expand to an lvalue. @@ -169,19 +181,25 @@ struct di...
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 tried to use the p...
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
2009 Jun 11
3
deSolve question
...Ck*Qk/Kpbk + Cm*Qm/Kpbm + Csk * Qsk /Kpbsk + Cad*Qad/Kpbad - Cve*Qve dAlu <- (Cve-Clu/Kpblu)*Qlu dAli <- ((Qli - Qgi- Qpa-Qsp)*Car + Cgi*Qgi/Kpbgi + Csp*Qsp/Kpbsp + Cpa*Qpa/Kpbpa - Cli*Qli/Kpbli) - Vmax*Cli/Kpfli/(Km + Cli/Kpfli) dAbr <- (Car - Cbr/Kpbbr)*Qbr dAh <- (Car - Ch/Kpbh)*Qh dApa <- (Car - Cpa/Kpbpa)*Qpa dAsp <- (Car - Csp/Kpbsp)*Qsp dAgi <- (Car - Cgi/Kpbgi)*Qgi dAk <- (Car - Ck/Kpbk)*Qk dAm <- (Car - Cm/Kpbm)*Qm dAad <- (Car - Cad/Kpbad)*Qad dAsk <- (Car - Csk/Kpbsk)*Qsk return(list(dy = c(dAar, dAve, dAlu, dAli, dAbr, dAh, dApa, dAsp, dAgi, dAk, dAm...
2004 May 11
1
Trouble with ISOLINUX and IDE bus resets.
Hpa, Dell ships a CD called Dell OpenManage Server Assistant that, starting with version 8.0 released last November, is a Linux-based bootable CD. It uses ISOLINUX to load a linux kernel/initrd combo to start the system. From version 8.0 to 8.2 we use isolinux version 1.66. Starting with version 8.3 we have upgraded to version 2.08. First of all, I'd like to say thanks for your excellent
2015 Aug 07
1
[PATCH] com32: write_sectors fixes
...ectors(const struct driveinfo *drive_info, const unsigned int lba, void *buf; int rv = -1; - buf = lmalloc(size); + buf = lmalloc(SECTOR * size); if (!buf) return -1; @@ -48,7 +48,7 @@ int write_sectors(const struct driveinfo *drive_info, const unsigned int lba, if (!dapa) goto out; - memcpy(buf, data, size); + memcpy(buf, data, SECTOR * size); memset(&inreg, 0, sizeof inreg); if (drive_info->ebios) { @@ -123,7 +123,7 @@ int write_verify_sectors(struct driveinfo *drive_info, const unsigned int lba, const void *data, const int s...
2010 Sep 19
2
can't get write_sectors to work...
Hi, Hopefully you someone can tell me what I'm doing wrong. First, the code. I placed this at the bottom of the main loop in com32/modules/disk.c as a simple test of writing to the disk: printf(" Host bus: %s, Interface type: %s\n\n", d->edd_params.host_bus_type, d->edd_params.interface_type); zero_buf = calloc(1, d->edd_params.bytes_per_sector); for(int
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.
2007 Oct 17
3
Adding a "boot from local hard disk" option to syslinux menu, booted from USB
...quot;); error(logs); strcat(logrc, logs); } sprintf(logs, "Current: %s, whichpart(ition) %d, drive %d\n", drivename, whichpart, drive); printf(logs); strcat(logrc, logs); /* Divvy up the bounce buffer. To keep things sector- aligned, give the EBIOS DAPA the first sector, then the MBR next, and the rest is used for the partition- chasing stack. */ dapa = (struct ebios_dapa *)__com32.cs_bounce; mbr = (char *)__com32.cs_bounce + SECTOR; /* Get the disk geometry (not needed for MBR) */ sprintf(logs, "Get the disk geometry -...
2012 Aug 10
1
[PATCH 4/4] Support sectors >512
.../* secpercyl */ + divl -36(%bp) /* secpercyl */ shlb $6, %ah movb %ah, %cl movb %al, %ch xchgw %dx, %ax - divb -2(%bp) /* sectors */ + divb -32(%bp) /* sectors */ movb %al, %dh orb %ah, %cl incw %cx /* Sectors are 1-based */ @@ -275,7 +291,7 @@ read_common: leaw 16(%si), %sp /* Drop DAPA */ popal jc disk_error - addb $2, %bh /* bx += 512: point to the next buffer */ + addb -5(%bp), %bh /* bx += sector size: point to the next buffer */ /* fall through and increment sector number */ -- 1.7.5.4
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.
2017 Mar 21
3
"isolinux.bin missing or corrupt" when booting USB flash drive in old PC
...and %edx as set up above. */ read_sector_cbios: divl (secpercyl) shlb $6, %ah movb %ah, %cl movb %al, %ch xchgw %dx, %ax divb (sectors) movb %al, %dh orb %ah, %cl incw %cx /* Sectors are 1-based */ movw $0x0201, %ax read_common: movb (driveno), %dl int $0x13 leaw 16(%si), %sp /* Drop DAPA */ popal ret disk_error: call print_string .ascii "Operating system load error.\r\n" jmp boot_failure /* * Prints char in al. * Destroys AH. Possibly BP. */ wrchr: push %bx movb $0x0e, %ah movb (BIOS_page), %bh movb $0x07, %bl int $0x10 /* May destroy %bp */ pop %bx re...