Privileged Instructions
-
Hallo folgendes habe ich eben in der:
Intel
64 and IA-32 Architectures Software Developer’s Manual Volume 3A: System Programming Guide, Part 1
gefunden.
5.9 PRIVILEGED INSTRUCTIONS Some of the system instructions (called “privileged instructions”) are protected from use by application programs. The privileged instructions control system functions (such as the loading of system registers). They can be executed only when the CPL is 0 (most privileged). If one of these instructions is executed when the CPL is not 0, a Figure 5-14. MSRs Used by SYSCALL and SYSRET 63 32 31 0 63 0 63 0 Target RIP for 64-bit Mode Calling Program SYSRET CS and SS SYSCALL CS and SS 48 47 IA32_STAR IA32_LSTAR IA32_FMASK 32 31 Reserved SYSCALL EFLAGS Mask Reserved 5-34 Vol. 3A PROTECTION general-protection exception (#GP) is generated. The following system instructions are privileged instructions: • LGDT — Load GDT register. • LLDT — Load LDT register. • LTR — Load task register. • LIDT — Load IDT register. • MOV (control registers) — Load and store control registers. • LMSW — Load machine status word. • CLTS — Clear task-switched flag in register CR0. • MOV (debug registers) — Load and store debug registers. • INVD — Invalidate cache, without writeback. • WBINVD — Invalidate cache, with writeback. • INVLPG —Invalidate TLB entry. • HLT— Halt processor. • RDMSR — Read Model-Specific Registers. • WRMSR —Write Model-Specific Registers. • RDPMC — Read Performance-Monitoring Counter. • RDTSC — Read Time-Stamp Counter. Some of the privileged instructions are available only in the more recent families of Intel 64 and IA-32 processors (see Section 19.13, “New Instructions In the Pentium and Later IA-32 Processors”). The PCE and TSD flags in register CR4 (bits 4 and 2, respectively) enable the RDPMC and RDTSC instructions, respectively, to be executed at any CPL.
Jetzt wundere ich mich gerade warum da der Befehl mov mit aufgelistet wird.
mov benötigt doch nicht irgendwelche speziellen Previlegien den Befehl kann man doch immer ausführen.Oder versteh ich da was falsch ?
-
nasm* schrieb:
Jetzt wundere ich mich gerade warum da der Befehl mov mit aufgelistet wird.
mov benötigt doch nicht irgendwelche speziellen Previlegien den Befehl kann man doch immer ausführen.Oder versteh ich da was falsch ?
Steht doch da: solche mov-Instruktionen, die Daten von oder zu den Debugregistern transtportieren, sind priviligiert. Für normale Allerwelts-movs gilt das nat. nicht.
-