[I/O] Vitalisierung

Aliosy

Lt. Junior Grade
Registriert
Feb. 2013
Beiträge
282
Hallo zusammen ;)

Ich habe eine Frage bezüglich [I/O] Vitalisierung.
Folgende zwei Rechner möchte ich hier beschreiben.
1) Mein Desktop Zuhause ist ein i7930 + ASROCK Extrem 3 mit x58 Chipsatz + Win 7 64bit + 18GB Ram
2) Mein Desktop in der Arbeit ist ein AMD FX 8120 + ASUS M4A78LT-M LE mit 780L Chipsatz (also 760G + SB710) + Win 7 64bit + 16GB Ram

Virtualisierungsmaschine ist von VirtualBox mit Extension Pack
Folgendes Problem tritt bei meinem PC in der Arbeit auf.
Vor kurzem habe ich einen neuen PC (2) bekommen. Den alten mit WIN XP habe ich über VHD Tool von Microsoft erzeugt und unter VirtualBox auf dem neuen zum Laufen gebracht. Jedoch bekomme ich meine Debugger von Microchip (ICD2/ICD3/RealICE) in die Virtuelle Maschine nicht durchgeschleift. Sobald ich versuche das zu machen, erscheint eine Fehlermeldung, dass ein Fehleraufgetreten ist (leider weiß jetzt ich die richtige Fehler ID nicht mehr, werde morgen mal posten, aber dieser hier könnte passen -> E_INVALIDARG ). Während andere USB Geräte wie CardReader und USB Audio erfolgreich erkannt wurden und Win XP die Treiber installiert hat.
Ich muss hinzufügen, dass Win7 erkennt zwar die Debugger, jedoch gibt’s für diese keine Treiber. Dazu muss man MPLAB von Microchip installieren. Das würde ich auch machen, aber ich lese öfters, dass die Treiber vom Hersteller Probleme mit x64 haben.
Es spielt keine Rolle ob ich diese Debugger an HUB oder direkt an PC anschließe.
So, nun zu meinem PC Zuhause. Ich habe WIN XP neu in VirtualBox aufgesetzt, wie auch einen Debugger von Microchip PICKit 3 über Kontrollzentrum von VirtualBox hinzufügt. Und das lustige ist, auf diesem PC (1) funktioniert das. WIN 7 Zeigt mir diesen Debugger als USB-Verbundgerät nur an.
Auf beiden PCs ist Virtualisierung eingestellt, jedoch gibt’s bei x58 I/O Virtualisierung als Zusatzoption. Liegt es nun am Chipsatz? Liegt es am Prozessor? Liegt es an daran, dass Treiber nicht richtig installiert sind?
Ich habe bereits bei VirtualBox nach der Fehlermeldung gesucht, es sind wohl andere auch davon Betroffen.
Wenn jemand eine Idee hat woran es liegt, bin ich für jeden Tipp Dankbar;)

Grüße
Aliosy :)
 
Aliosy schrieb:
Ich habe eine Frage bezüglich [I/O] Vitalisierung.

Bist du sicher, dass darauf deine Frage abziehlt? ^^ Sprich vllt mal mit nem Mediziner ;D
 
@KaHaKa

Ich verstehe nicht was an der Frage falsch sein sollte?
Wenn Intel bei dem Chipsatz x58 I/O Virtualisierung vorsieht und als Beschreibung angibt, dass alle Zugriffe auf I/Os direkt erfolgen. Dann heißt es für mich, dass wenn aus virtuellem OS (Gast) Zugriffe auf wirkliche HW wie USB, IDE, usw. erfolgen, dann wird das direkt auf HW ausgeführt und nicht noch zusätzlich von primary OS (Host) angepasst.
Hier der Auszug

Intel® Virtualization Technology for Directed I/O (VT-d) continues from the existing support for IA-32 (VT-x) and Itanium® processor (VT-i) virtualization adding new support for I/O-device virtualization. Intel VT-d can help end users improve security and reliability of the systems and also improve performance of I/O devices in virtualized environments.

Bei AMD wird das gar nicht erwähnt, bzw. habe nirgends gesehen.
Daher auch meine Frage bezüglich I/O, wenn Peripherie auf dem Host System nicht mit einem richtigen Treiber initialisiert ist, kann diese Peripherie unter dem Gast System funktionieren?
 
Lol, das musste ich mir jetzt einige Male durchlesen, bevor ich verstanden hab, was du wolltest =D. Falsch an der Frage war in dem Fall die Rechtschreibung, lies deinen Titel nochmal genau durch.

Ohne jetzt die Bezeichnungen der Hersteller und die CPU-Feature-Listen durchstöbern zu wollen, würde ich stark vermuten, dass es daran liegt, dass der i7 SLAT (second level address translation) hat und der FX nicht. Sprich: Liegt am Prozessor, aber Google das Thema einfach mal ein bisschen.
 
Zuletzt bearbeitet:
Das Pendant zu Intels VT-d ist AMD-Vi oder so ähnlich und ist nach meinem Wissen in jedem halbwegs aktuellen AMD Prozessor integriert, der Hardwarevirtualisierung beherrscht.

Um Direct-IO nutzen zu können, müssen CPU, Chipsatz und BIOS zusammenspielen. Nur weil CPU und Chipsatz laut Datenblatt Direct-IO beherrschen, muß es also leider noch lange nicht funktionieren. Vor allem das Durchreichen von Grafikkarten (z.B. zum Zocken ner VM ^^) ist wohl immer wieder ein Glücksspiel.

Daher auch meine Frage bezüglich I/O, wenn Peripherie auf dem Host System nicht mit einem richtigen Treiber initialisiert ist, kann diese Peripherie unter dem Gast System funktionieren?

Ja, wenn die Hardware per Direct-IO (oder einem ähnlichen Mechanismus) in die VM durchgereicht wird. Dann steht sie nämlich dem Host nicht mehr zur Verfügung, sondern nur noch der VM, die dann für die Treiberanbindung zu Sorgen hat. Ansonsten wohl nein.
Ergänzung ()

Kleiner Nachtrag, Virtualisierung ist ein hochkomplexes Thema, vor allem wenn es das Durchreichen geht. Da kann es bei zwei unterschiedlichen Systemen durchaus zu unterschiedlichem Verhalten kommen.
 
Zurück
Oben