
From Xilinx xrfdc, rfdc_v10_0.

This is compiled in bare metal mode, since it's easiest to adapt that
to the memory access method of hwalloc preferred by STYNQ.

To get this to work without modifications from the Xilinx source,
libmetal is really tricked out.  Although there are a couple modifications
to the header files here to not include libmetal with "C" bindings, but
instead with C++ bindings.

Having minimal modifications is essential, since it allows upgrades to
Xilinx's latest version without continually rewriting code.  Although
modifying the XRFdc code would probably be a really good idea.

One file is removed from Xilinx's XRFdc, xrfdc_g.c-old.  It is
replaced by xrfdc_g_fake.c, which provides a fake table that isn't
used if this is properly called.

The data that would have been provided by the table is instead created
by custom routines that adapt the contents of Vivado's XSA file.
