I am not sure I am at the right place to post messages. But I have question
about  kmi.cc:

case kmiData:
        if (rxQueue.empty()) {
            data = 0;
        } else {
            data = rxQueue.front();
            rxQueue.pop_front();
       }

When the receive queue is empty, Why is the KMIDATA register reset to 0?

The documentation for the PL050 at
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0143c/i1014040.html

just says that when KMIDATA is read you get the value in the
receive data register. The implication is that if you read
it multiple times you'll just continue to read the same
value?

My second question is, in pl011.cc:

 case UART_FR:
        data =
            UART_FR_CTS | // Clear To Send
            (!term->dataAvailable() ? UART_FR_RXFE : 0) | // RX FIFO Empty
            UART_FR_TXFE; // TX FIFO empty

The initial value of UART_FR is 0x81.

Thanks.

-Tingting
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to