Actually once you get down to the individual processors (Arm, MIPs, SHx, x86,...) it is better to have the processor vendors do the port. Working with different chip sets can be veeerry tricky and very chip-specific. Microsoft has done a reasonable job abstracting kernel level functionality from port to port specifics. I know since I spent over a year working on different SHx ports.
Actually once you get down to the individual processors (Arm, MIPs, SHx, x86,...) it is better to have the processor vendors do the port. Working with different chip sets can be veeerry tricky and very chip-specific. Microsoft has done a reasonable job abstracting kernel level functionality from port to port specifics. I know since I spent over a year working on different SHx ports.