Since Solaris works perfectly, I turned again to NetBSD for the further test cases.
Hmm what would be a reason for such a behavior? Sounds familiar, right? I hear you saying CPU math bug? Wrong. :)
The previous time I saw the message it was really a math bug. This time it's a MMU problem. Unlike SPARC v8, the v9 has a NFO mode for page mappings, which means No Fault Only. The 'only' part is crucial: all other page loads should fault.
Solaris knows what pages has been marked NFO (after all they can be marked by the OS only) and uses only the appropriate loads.
On the other side NetBSD vfs implementation explicitly provokes such faults to load RAM pages from a file. Had to read the NetBSD documentation to understand how its vfs works. The sources are not that good documented.
After fixing the bug (a sort of a counterpart to the one Tsuneo Saito mentioned on the mailing list), NetBSD gets a bit further:
The only part is missing here is the '#' prompt after the message. :) Working on it.
root on md0a dumps on md0b |
root file system type: ffs |
WARNING: clock gained 1005 days |
WARNING: CHECK AND RESET THE DATE! |
exec /sbin/init: error 8 |
init: trying /sbin/oinit |
exec /sbin/oinit: error 2 |
init: trying /sbin/init.bak |
exec /sbin/init.bak: error 2 |
init: not found panic: no init |
cpu0: kdb breakpoint at 1362e60 |
Stopped in pid 1.1 (init) at 0x1362e64: nop |
db> |
The previous time I saw the message it was really a math bug. This time it's a MMU problem. Unlike SPARC v8, the v9 has a NFO mode for page mappings, which means No Fault Only. The 'only' part is crucial: all other page loads should fault.
Solaris knows what pages has been marked NFO (after all they can be marked by the OS only) and uses only the appropriate loads.
On the other side NetBSD vfs implementation explicitly provokes such faults to load RAM pages from a file. Had to read the NetBSD documentation to understand how its vfs works. The sources are not that good documented.
After fixing the bug (a sort of a counterpart to the one Tsuneo Saito mentioned on the mailing list), NetBSD gets a bit further:
Kernelized RAIDframe activated md0: |
internal 5120 KB image area |
root on md0a dumps on md0b |
root file system type: ffs |
WARNING: clock gained 1005 days |
WARNING: CHECK AND RESET THE DATE! |
erase ^?, werase ^W, kill ^U, intr ^C |
The only part is missing here is the '#' prompt after the message. :) Working on it.
No comments:
Post a Comment