....und falls jemand auf den Blades mal genau hinschaut dann fällt auf das 8 oder 128MB Speicher fehlen.
Diese werden sun4v geschuldet und vom Hypervisor abgezwackt. Den genauen Grund und die arbeitsweise des Hypervisors auf Hardwareebene hab ich allerdings nicht gefunden.
Meine erste Idee war, dass der Hypervisor ein bisschen Platz für Tag Lines vom Cache braucht und um Registerinhalte zwischenzuspeichern, aber es macht aus Performancegründen absolut keinen Sinn, das im RAM zu machen. Ich vermute trotzdem, dass das was mit Laufzeitkonfiguration zu tun hat. Vielleicht bringen ja ein paar Links Licht ins Dunkel:
Einführung und Übersicht zu LDOMs und Virtualisierung mit Sun Hardware geben zwei Sun Blueprints:
http://www.opensparc.net/publications/published-by-sun/solaris-operating-system-hardware-virtualization-product-architecture.htmlhttp://www.opensparc.net/publications/published-by-sun/beginners-guide-to-ldoms-understanding-and-deploying-logical-domains.htmlWer es genauer wissen will, muss sich wohl oder übel mit der Dokumentation zum Instruction Set von sun4v auseinandersetzen. Da die CPU Open Source ist, geht das recht einfach:
http://opensparc-t1.sunsource.net/index.htmlhttp://www.opensparc.net/opensparc-t2/index.htmlJeweils auf die Dokumente mit
"hyperprivileged" im Namen achten.
Freilich gibt es auch die Möglichkeit, durch den Source Code zu browsen. Es hilft dazu, wenn man Verilog lesen kann:
http://opensparc-t1.sunsource.net/nonav/source/verilog/html/verilog.html (Gibt's leider derzeit nur für UltraSPARC T1).
Natürlich kann man sich den Quellcode auch runter laden:
http://www.opensparc.net/ und dann über "Get The Source" die CPU auswählen (T1 oder T2) und den weiteren Instruktionen folgen.
Und schließlich gibt es auch noch ein Webforum bei Sun, in dem es Untergruppen zu OpenSPARC gibt, u. a. auch eine zum Hypervisor. Allerdings mit recht wenigen Postings:
http://forum.java.sun.com/index.jspa?tab=hardwareViel Spass beim Weiterbilden. Ist ja eh ein trüber Samstag heute
Zumindest in München.
wolfgang