fileio example on HD more than 2GB

Grigori Khmyrov grigori_khmyrov at
Tue Apr 25 19:58:03 UTC 2006

Can RTEMS handle big hard drives?
Any help appreciated in solving this mystery.

After that big discussion about FileIO example we got it working.
But it still some issues.

500 MB Hard drive    500 MB FAT16 partition   ---    works OK
    3 GB Hard drive     800 MB FAT16 partition   ---   DOESN'T work
    4 GB Hard drive         2 GB  FAT16 partition   ---   DOESN'T work

It's same like Yan Lou reported:
Problem is in initializing partition of /dev/hda using FileIO  example.
Program stops at 1231 of cpukit/libblock/src/bdbuf.c

_CORE_mutex_Seize(&bd_buf->transfer_sema, 0, TRUE,
                              WATCHDOG_NO_TIMEOUT, level);

Here is the call graph:

in cpukit/libblock/src/ide_part_table.c

rtems_ide_part_table_initialize() --> rtems_ide_part_table_get() -->  
read_mbr() --> get_sector() --> rtems_bdbuf_read()

in cpukit/libblock/src/bdbuf.c

rtems_bdbuf_read() --> _CORE_mutex_Seize()

Thank you,

More information about the users mailing list