Although it's none too functional, at least I've got a kernel I know will boot 100% of the time.
After I managed to get FreeBSD booted again (by rebooting about 20 times), I recompiled my kernel without APIC and without SMP. Even on the rare instances when I could get both CPU's to initalize properly, the second one still wouldn't report properly later. (cpuid)
dmesg from latest -CURRENT build
It's detecting two mice and two keyboards on the USB bus, although only the first detected has the proper product ID. moused won't work with /dev/ums1 at all, and if I specify /dev/ums0, it doesn't work properly. The pointer only appears if I hit the mouse button, and it slowly moves down the screen until it hits the bottom, randomly highlighting things along the way. The same behaviour occurs in X, even if I tell it not to use sysmouse.
ACPI isn't really functional, either. ASL and DSDT.
The internet wireless showed up as ath0 with no problems at all. yay! Internal gigabit ethernet wasn't quite so lucky. I think the sk(4) driver could be easily modified to support the Marvell Yukon 88E8053 driver, since the sky2 driver in Linux seems to be handling it properly.
I've been trying to get the ng_ubt(4) driver working with the internal bluetooth for a few days now, but Apple has quite a bit of weirdness when it comes to how their USB devices report. I have got it working in linux with a one line edit to the usb bluetooth driver, but FreeBSD I haven't been quite so lucky with. Maksim Yevmenkin, the author of ng_ubt(4), has been kind enough to take a look at what I've come up with so far, so hopefully we'll be able to come up with a working patch.
There's a few more files I've posted about the MacBook Pro - sysctl -a, smartctl, and pciconf -lv output.
