rentzsch.com: tales from the red shed

mach_* x86 Update

mach_inject

Initially I wasn't looking forward to dropping a grand to rent a Macintel for a 18 months. Especially since my only real current need for the box is mach_*, which I give away.

Then it hit me: Darwin x86! Hey, I have Virtual PC. mach_* is really low-level, so it doesn't need any Aqua stuff. In theory, I could rewrite mach_* using just Darwin x86 on hardware I already have.

Bad news:

  • Darwin 8 demands SSE2.
  • VPC7/Mac doesn't emulate SSE2.

Bummer. Oh well, I have my PC. Fire up Virtual PC 2004 (yes, I run VPC under Windows itself -- it's the best way to stave off Windows from eating itself). Drat, Darwin 8 also doesn't like VPC on a real x86 box, either. Same issue with Darwin 7.

OK, try booting Darwin directly on the PC. Failure. Turns out I bought an AMD Sempron 2500+, which handles SSE but not SSE2. Double drat. Can't upgrade to a SSE2 processor, either, since the Socket A is a dead-end. Triple drat.

I started considering purchasing a new PC that supports SSE2. Fortunately I then realized how poor the development environment would be and it would cost me less just to give up and rent a Macintel.

Bottom line: no solid mach_* news yet, but the wheels are turning.

Update: It turns out it's a good thing I punted the whole Darwin x86 idea. A little bird tells me the ABI is different between Darwin 8 x86 and Mac OS X86. That could have lead to lots of suicide attempts fun debugging.

Tuesday, September 20, 2005
12:00 AM