@@ -843,8 +843,12 @@ def read_msr(address):
843843 Current architecture is not ``i386`` or ``amd64``.
844844
845845 .. warning::
846- It could potentially brick your machine.
847- It works on my machine, but your mileage may vary.
846+ This method uses the processor's machine specific registers (MSR).
847+ While this usage should be generally safe, it may fail under some
848+ special circumstances (for example with certain types of
849+ virtualization). In extremely old processors (circa 1995) using
850+ these registers may have occasionally cause a crash, but that's no
851+ longer the case in modern processors.
848852 """
849853 if win32 .arch not in (win32 .ARCH_I386 , win32 .ARCH_AMD64 ):
850854 raise NotImplementedError (
@@ -876,8 +880,12 @@ def write_msr(address, value):
876880 Current architecture is not ``i386`` or ``amd64``.
877881
878882 .. warning::
879- It could potentially brick your machine.
880- It works on my machine, but your mileage may vary.
883+ This method uses the processor's machine specific registers (MSR).
884+ While this usage should be generally safe, it may fail under some
885+ special circumstances (for example with certain types of
886+ virtualization). In extremely old processors (circa 1995) using
887+ these registers may have occasionally cause a crash, but that's no
888+ longer the case in modern processors.
881889 """
882890 if win32 .arch not in (win32 .ARCH_I386 , win32 .ARCH_AMD64 ):
883891 raise NotImplementedError (
@@ -903,13 +911,11 @@ def enable_step_on_branch_mode(cls):
903911
904912 .. warning::
905913 This method uses the processor's machine specific registers (MSR).
906- It could potentially brick your machine.
907- It works on my machine, but your mileage may vary.
908-
909- .. note::
910- It doesn't seem to work in VMWare or VirtualBox machines.
911- Maybe it fails in other virtualization/emulation environments,
912- no extensive testing was made so far.
914+ While this usage should be generally safe, it may fail under some
915+ special circumstances (for example with certain types of
916+ virtualization). In extremely old processors (circa 1995) using
917+ these registers may have occasionally cause a crash, but that's no
918+ longer the case in modern processors.
913919 """
914920 cls .write_msr (
915921 IntelDebugRegister .DebugCtlMSR ,
@@ -932,13 +938,11 @@ def get_last_branch_location(cls):
932938
933939 .. warning::
934940 This method uses the processor's machine specific registers (MSR).
935- It could potentially brick your machine.
936- It works on my machine, but your mileage may vary.
937-
938- .. note::
939- It doesn't seem to work in VMWare or VirtualBox machines.
940- Maybe it fails in other virtualization/emulation environments,
941- no extensive testing was made so far.
941+ While this usage should be generally safe, it may fail under some
942+ special circumstances (for example with certain types of
943+ virtualization). In extremely old processors (circa 1995) using
944+ these registers may have occasionally cause a crash, but that's no
945+ longer the case in modern processors.
942946 """
943947 LastBranchFromIP = cls .read_msr (IntelDebugRegister .LastBranchFromIP )
944948 LastBranchToIP = cls .read_msr (IntelDebugRegister .LastBranchToIP )
0 commit comments