Currently, for disks Mach integrates old drivers from Linux through some driver glue code, which provide IDE disk support, and we have an AHCI driver which provides SATA support. For network boards, we use the DDE toolkit to run linux 2.6.32 drivers in userland processes, which provides both long-term support for new hardware and safety against driver bugs. Note however that we have of course not tested all drivers, we obviously don't even have all kinds of hardware. So we can not promise that they will all work. What probably works for sure is what we usually use: the rtl8139 and e1000 drivers for instance. Firmware loading is not implemented yet.
Xen is also supported, both blkfront and netfront.