News Bug in AMD Ryzens Virtual 8086 mode enhancements (VME)?

Nero24

Administrator
Teammitglied
Mitglied seit
01.07.2000
Beiträge
24.066
Renomée
10.446
  • BOINC Pentathlon 2019
  • BOINC Pentathlon 2020
  • BOINC Pentathlon 2018
  • BOINC Pentathlon 2021
Bereits kurz nach der Vorstellung des AMD Ryzen versuchten wir in unserem Forum Antworten zu finden auf die Frage, weshalb einige ältere, in einer Virtualisierungssoftware gesammelten Betriebssysteme wie etwa Windows XP 32-Bit unter Ryzen nicht mehr booten wollten. Nun gibt’s eine mögliche Erklärung dafür.
(…)

» Artikel lesen
 
Das OS/2-Museum (**) empfiehlt folgendes, um den Fehler zu umgehen:

"The workaround is simple—if possible, mask out the VME CPUID bit (bit 1 in register EDX of leaf 1), which is something hypervisors typically allow. Windows does not require VME and without VME, XP can be booted normally on Ryzen CPUs."

Wie man ein Bit "outmasked", weiß ich allerdings nicht.

Ein User hat darunter gepostet, man könne VME auch per Registry abschalten.


** Die Screenshots auf der Seite sind herrlich. OS/2 2.0 pre-release war noch was für "echte Männer" ;D
Ich mochte die Oberfläche sehr.

Nur die 20 HD-Disketten (3,5") waren nicht so sexy. Da musste man sich für den Rest des Tages nichts mehr vornehmen.
 
Zuletzt bearbeitet:
Aus den Kommentaren der Seite:

Soumyajit Deb says:
May 14, 2017 at 10:23 am
Thanks for your update. Had the same issue in VMware while installing XP 32bit on an R7 1700. The fix was to disable VME by adding the following line to the config of the virtual machine:

cpuid.1.edx = “—-:—-:—-:—-:—-:—-:—-:–0-“
 
Das OS/2-Museum (**) empfiehlt folgendes, um den Fehler zu umgehen:

"The workaround is simple—if possible, mask out the VME CPUID bit (bit 1 in register EDX of leaf 1), which is something hypervisors typically allow. Windows does not require VME and without VME, XP can be booted normally on Ryzen CPUs."

Wie man ein Bit "outmasked", weiß ich allerdings nicht.

Ein User hat darunter gepostet, man könne VME auch per Registry abschalten.


** Die Screenshots auf der Seite sind herrlich. OS/2 2.0 pre-release war noch was für "echte Männer" ;D
Ich mochte die Oberfläche sehr.

Nur die 20 HD-Disketten (3,5") waren nicht so sexy. Da musste man sich für den Rest des Tages nichts mehr vornehmen.

Hallo

Durch eine And Verknüpfung mit einer Maske.

Gruß
 
Hmm, ja, die Frage ist, wie es konkret (mit einzelnen Virtualisierern) geht. Das ist der Tipp von Atombossler schon "handfester".
 
wer installiert schon ein 32-Bit-Windows, das maximal 4 GiB RAM adressieren kann, auf einem Ryzen-System?
So abwegig ist das nicht.
32GB RAM ins System und 8 virtuelle Maschinen mit XP aufsetzen, über die man sich von einem Thin Client aus einloggen kann.
So in etwa wird das bei uns in der Firma gemacht, nur mit Xeons.
 
[...] 8 virtuelle Maschinen mit XP aufsetzen, über die man sich von einem Thin Client aus einloggen kann.
So in etwa wird das bei uns in der Firma gemacht

Gratuliere zur neuen Gratisverschlüsselung von allem ;)
 
In der Praxis dürfte das wenig Relevanz haben, denn wer installiert schon ein 32-Bit-Windows, das maximal 4 GiB RAM adressieren kann
Theoretisch können die 32bit Server-Versionen auch mehr als 4GB nutzen, wird aber kaum jemand machen, vermute ich mal.
 
Gratuliere zur neuen Gratisverschlüsselung von allem ;)
Man kann das Internet deaktiveren und auch LAN extrem einschränken.
Wenn die sündhaft teure Software nicht auf neueren Systemen läuft und eine Migration deutlich aufwändiger ist als das System in einen goldenen Käfig einzusperren, dann spricht doch nix dagegen.
 
Zuletzt bearbeitet:
Für Ryzen sind jeweils Bit1 der MSRs 0xC0011004 und 0xC0011005 zu löschen. Dann meldet CPUID für VME "Null" (=nicht unterstützt) zurück.
 
Für Ryzen sind jeweils Bit1 der MSRs 0xC0011004 und 0xC0011005 zu löschen. Dann meldet CPUID für VME "Null" (=nicht unterstützt) zurück.

Genau. Da fällt mir gerade ein: Den Mechanismus könnte man auch missbrauchen, um das FMA4 Bit zu setzen, der soll angeblich ja funktionieren, nur Software die das Bit abfragt fällt auf die Nase. Damit könnte man dann solche FMA4-Programme zum laufen bringen. Obs Vorteile hat, keine Ahnung, aber wär vielleicht ganz spassig ;)
 
Könnt Ihr mir das auch mal auf Deutsch erklären ???

Gebs ja zu das mein Auswärts nicht das beste ist. *noahnung*

Habe auch mal meine ollen WMWare Dateien mal wieder raus gekramt.
Unter WMWare 12.xx ist auch tot Hose .

Will nicht. War immer mal schön in den alten Sachen rum zu stöbern !

3.PNG
 
Habe vorhin zum Test mal unter Win7/64 VirtualBox installiert und darin dann Win XP. XP startet nicht! Dann provisorisch für CPUID das VME-Bit gelöscht (s.o.) und siehe da, XP startet anstandslos! Wenn nachher Zeit vorhanden ist, erstelle ich 2 kleine Progrämmchen (für 32- und 64-Bit).
 
Das Problem betrifft aber nur VMs oder, wollte auf meinem kommenden Ryzen System Windows 10-64 und Windows 10-32 nativ jeweils von SSD nutzen.
 
Das Problem betrifft aber nur VMs oder, wollte auf meinem kommenden Ryzen System Windows 10-64 und Windows 10-32 nativ jeweils von SSD nutzen.
Ne, das Problem betrifft nicht nur virtualisierte Systeme. Dort hast Du mit den genannten Tweaks jedoch die Möglichkeit, die OS trotzdem zum laufen zu bringen. Baremetal jedoch dürfte Win XP auf Ryzen derzeit gar nicht booten, es sei denn die Mainboard-Hersteller schieben noch BIOS-Versionen nach, mit denen man die VME-Unterstützung auf Hardware-Ebene deaktivieren kann.
 
Wer Probleme hat kann mal testen:
http://www.mdcc-fun.de/k.helbing/Ryzen/VME_32.zip
http://www.mdcc-fun.de/k.helbing/Ryzen/VME_64.zip
jeweils für 32-bzw.64-Bit-Windows.
Die Exe und die WinRing0-Dateien müssen im gleichen Ordner liegen, auch wenn WinRing0 schon von/mit einem anderen Programm registriert wurde.
Ist WinRing0 nicht registriert, läuft die Sache nur als Nutzer Administrator!
64-Bit getestet mit R7 1800X und Win7/64; die 32-Bit-Version ist ungetestet (direkte Hardware-Zugriffe in einer VM sind meist sinnfrei).
Gemachte Änderungen sind nach PC-Neustart wieder weg, also keine Angst :) !
 
...Baremetal jedoch dürfte Win XP auf Ryzen derzeit gar nicht booten, es sei denn die Mainboard-Hersteller schieben noch BIOS-Versionen nach, mit denen man die VME-Unterstützung auf Hardware-Ebene deaktivieren kann.

Bei meine ASUS B350+ kann ich VME im BIOS an und ausschalten.
 
Ne, das Problem betrifft nicht nur virtualisierte Systeme. Dort hast Du mit den genannten Tweaks jedoch die Möglichkeit, die OS trotzdem zum laufen zu bringen. Baremetal jedoch dürfte Win XP auf Ryzen derzeit gar nicht booten, es sei denn die Mainboard-Hersteller schieben noch BIOS-Versionen nach, mit denen man die VME-Unterstützung auf Hardware-Ebene deaktivieren kann.

Wobei ja Windows 10-32 nicht XP ist. XP werde ich in meinem leben nicht mehr nutzen, da die benötigten Anwendungen auch auf Windows 10-32 laufen nur halt auf 64-Bit nicht.

@Krümel, das Asus B350 Prime Plus ?

Das Board hole ich gleich ab, fehlt nur noch eine Ryzen CPU, der schenkt mir eine. ;D
 
Zurück
Oben Unten