On 03/08/2015 17:35, Laurent Vivier wrote: > > I guess you mean tests/rtl8139-test.c > > What is the "in_Timer()" function ?
There's some awful macro magic: #define PORT(name, len, val) \ static unsigned __attribute__((unused)) in_##name(void) \ { \ unsigned res = qpci_io_read##len(dev, dev_base+(val)); \ g_test_message("*%s -> %x\n", #name, res); \ return res; \ } \ static void out_##name(unsigned v) \ { \ g_test_message("%x -> *%s\n", v, #name); \ qpci_io_write##len(dev, dev_base+(val), v); \ } PORT(Timer, l, 0x48) PORT(IntrMask, w, 0x3c) PORT(IntrStatus, w, 0x3E) PORT(TimerInt, l, 0x54) Pa##olo