My guess is that it had to do with the default rounding mode established by the C runtime library. NCommander did find a collision detection bug on the Itanium, although that bug was nowhere as severe as the one that existed on the Alpha AXP. And that’s the system that had the broken collision detector. I could test my 64-bit port on a physical Alpha AXP system to validate that it was successful. The team set to work, and we had 64-bit Windows running on physical Alpha AXP hardware long before we had any physical Itanium hardware. The hard part was going from 32-bit to 64-bit. Once you got a 64-bit version of Windows working for the Alpha AXP, it should be a comparatively small amount of additional work to port it to Itanium. The assumption was somewhat validated by experience: The 32-bit Windows code base had been ported to many 32-bit processors, with relatively few architecture-specific issues. The assumption is that most of the effort in porting Windows to the Itanium is in the 32-bit to 64-bit transition, and not in dealing with quirks of the specific 64-bit processor you are porting to. But the Alpha AXP did have the advantage of existing in physical form, so the system could finish booting before the heat death of the universe. Now, 64-bit Windows on the Alpha AXP would never ship. Solution: Port the Alpha AXP version of 32-bit Windows to 64-bit Windows. It’s just that 32-bit Windows used only the 32-bit subset. The Alpha AXP is internally a 64-bit processor.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |