Earlier this year I bought myself a new Mac mini with an Intel processor. It is small, fits nicely on top of my older G4 Mac mini, and was rumoured to have a Marvell sk(4) NIC and Atheros ath(4)wireless. The only problem with it was that Apple had throw away the legacy BIOS and replaced it with EFI, Intel's new firmware implementation. So I started reading Intel's EFI documentation and set of writing an EFI bootloader for OpenBSD. However, a few weeks later, Apple spoiled all the fun by releasing new firmware that included enough BIOS compatibility code to boot straight into OpenBSD.
After repartitioning the disk with the Apple Bootcamp beta, the installation started without any problem, but when I tried to configure the network, there were no interfaces. It turned out both the wired and wirless network interfaces were unsupported. I installed OpenBSD on the box using an USB ethernet dongle, and started hacking. Marvell didn't seem to provide any documentation; only binary blobs for FreeBSD and source code for a Linux driver. So since I had never written a network driver before, I started hacking on other things first. I silently hoped brad@ would hack up a driver, but these days it seems only 10GB/s is fast enough for him, so a couple of weeks ago I started looking into things again.
Meanwhile, the Linux people had written a new driver for the Yukon-2, because the driver provided by Marvell was apparently a big piece of poo. That Linux driver is almost readable, but it still took me a few hours of staring at the code before I figured out how the device was supposed to work. But once I grasped things, I realized that the new hardware wasn't radically different from the old stuff; they just replaced the dma engine. Writing the code for that is relatively straightforward once you've figured out how the bus_dma(9) kernel interfaces work. Plugging that into the existing code produced something that could send and receive packets, but would hang after a while. Of course the bug turned out to be caused by a really stupid mistake... which took me several days to find. But yesterday I finally found the problem and it's been working perfectly for me ever since.
The driver definitely needs some more testing, so if you have the hardware, give it a try!