Hi,
I used the foc_x86_32 platform to try part_blk run script ,there was a error.

[init -> atapi_drv] 5 and below: yes enabled: yes
[init -> atapi_drv] PRD base at 002f9000 (physical) at 00002000 (virtual)
[init -> atapi_drv] Device initialized! Enabling interrupts ...
Error: Test execution timed out
make: *** [run/part_blk] Error 254

I try to find where is wrong and I get it 

I add some print function in file : genodedir/os/src/drivers/atapi/ata_device.cc

void Ata::Device::read_capacity()
{
_block_start = 0;
_block_size  = 512;

enum { CMD_NATIVE_MAX_ADDRESS = 0xf8 };

if (_lba48) {
                PERR("_LBA48 TRUE");
                //PERR("dev_num= %c\n",dev_num());
                PERR("dev_num= %d\n",dev_num());
if (!reg_non_data_lba48(dev_num(), CMD_NATIVE_MAX_ADDRESS, 0, 1, 0UL, 0UL)) {
                         PERR("reg in");

_block_end  =  _pio->inb(CB_SN);              /* 0 - 7 */
_block_end |=  _pio->inb(CB_CL) << 8;         /* 8 - 15 */
_block_end |=  _pio->inb(CB_CH) << 16;        /* 16 - 23 */
_block_end |=  _pio->inb(CB_DH) << 24;        /* 24 - 31 */
}
                PERR("reg out");
} else {
...

and log message like this

[init -> atapi_drv] Bus master interface base addr: 0000c040 (I/O) secondary (no) (supported)
[init -> atapi_drv] LBA48
[init -> atapi_drv] UDMA Modes supported:
[init -> atapi_drv] 0 and below: yes enabled: no
[init -> atapi_drv] 1 and below: yes enabled: no
[init -> atapi_drv] 2 and below: yes enabled: no
[init -> atapi_drv] 3 and below: yes enabled: no
[init -> atapi_drv] 4 and below: yes enabled: no
[init -> atapi_drv] 5 and below: yes enabled: yes
[init -> atapi_drv] PRD base at 002f9000 (physical) at 00002000 (virtual)
[init -> atapi_drv] Device initialized! Enabling interrupts ...
[init -> atapi_drv] _LBA48 TRUE
[init -> atapi_drv] dev_num= 0
Error: Test execution timed out
make: *** [run/part_blk] Error 254

I think the dev_num =0 is the reason to cause my issue , but i can not solve it .
Any help is appreciated.

Regards
Yuqing Wang