On 28 October 2013 13:24, Jean-Christophe PLAGNIOL-VILLARD <plagn...@jcrosoft.com> wrote: > the register is supposed to report the status of the fifo > > and in qemu if always report the datacnt which is the number of byte to > write and in case of reading it's always 0 so bootloader that use polling will > never be get any data.
No, datacnt in our implementation is the number of bytes to transfer: we use it to count number of bytes to read for read transfers (see pl181_fifo_run() which loops based on it both for pushing data into the fifo and for popping data out of it.) This is also the value we report as the hardware datacnt register, which according to the spec is used for both read and write transfers. -- PMM