Ignore:
Timestamp:
May 25, 2014, 5:35:37 PM (10 years ago)
Author:
cfuguet
Message:

tsar_boot:

  • Important optimization in the reset_elf_loader function.
  • Implementation of pread function which uses bytes addressing to read disk.
  • pread function alternates between direct tranfer from disk to memory and from disk to a memory cache block based on alignment of byte address, i.e., when file offset is aligned to disk block (512 bytes), pread uses DMA capacity of disk to transfer directly to memory, otherwise it passes before by a memory cache block and then performs a memcpy to transfer data to final destination.
  • the cache block used by pread function, allows to treat succeeding reads on the same block without accessing the disk.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/softs/tsar_boot/include/defs.h

    r586 r701  
    55#define RESET_STACKS_SIZE   0x11000  /* 64 bytes * 1024 + 4 Kbytes (for P0) = 68 Kbytes */
    66#define BOOT_LOADER_LBA     2
    7 #define PHDR_ARRAY_SIZE     16
     7#define PHDR_ARRAY_SIZE     16
    88
     9#define BLOCK_SIZE          512
     10
     11// vim: tabstop=4 : softtabstop=4 : shiftwidth=4 : expandtab
     12
Note: See TracChangeset for help on using the changeset viewer.