Instruction
VMLOAD
Loads the processor state that VMRUN does not load (segment and system registers) from the VMCB at the address in rAX; AMD SVM.
AMD's virtualization extension: Intel processors implement VMX instead.
- Extensions
- Forms
- 1 (1 Legacy)
- Data
- Intel XED v2026.08.23
Forms
| Instruction | Encoding | Requires |
|---|---|---|
VMLOAD rAX
VMLOAD_ArAX | 0F 01 DA | SVM |
Operation
What the forms do, in pseudocode that our tests run against results recorded on real processors. How to read.
if not efer >> 12 & 1:
fault(UD) # EFER.SVME clear: SVM off
if CPL > 0:
fault(GP, 0)
if intercepted(0x82):
vm_exit(0x82) # in a guest: to its hypervisor,
# before the checks of rAX's value
# (15.9); VMRUN's Action has them
# the other way round
a = addr.read() # the VMCB's physical address
if a & 0xFFF or a >> maxphyaddr:
fault(GP, 0)
vmcb_load_segments(a) # FS, GS, LDTR and TR, each with
# its hidden parts
star = phys_read(a + 0x600, 64)
lstar = phys_read(a + 0x608, 64)
cstar = phys_read(a + 0x610, 64)
fmask = phys_read(a + 0x618, 64)
kernel_gs_base = phys_read(a + 0x620, 64)
sysenter_cs = phys_read(a + 0x628, 64)
sysenter_esp = phys_read(a + 0x630, 64)
sysenter_eip = phys_read(a + 0x638, 64)Run on AMD Zen 5 (EPYC 9645): 2 cases. Every one raised an exception, at CPL 3, where the probe runs.
Operands
| Operand | Kind | Action |
|---|---|---|
VMLOAD rAX | ||
rAX | explicit | read |
Flags
None: XED records no flag that the forms test or change.
Attributes
What else XED records about the forms. How to read.
- All forms
- not in real-address mode
CPUID and processors
Each form belongs to an XED ISA set. A form can be used when the processor reports every CPUID bit of one of its ISA set's alternatives.
More SVM instructions
Sources
- Intel XED v2026.08.23 (commit
0bcb6237345c): forms, encodings, operands, flags, exception classes, attributes, ISA sets, CPUID bits and chip model. - The CPU data of x86-64.net: Zen 3 to Zen 6, from GCC’s
-marchfeature sets and AMD’s Processor Programming References, which the page of each processor cites. - AMD64 Architecture Programmer's Manual, Volume 3: General-Purpose and System Instructions (24594, rev. 3.36, March 2024), Wayback Machine copy of AMD's PDF
- AMD64 Architecture Programmer's Manual, Volume 2: System Programming (24593, rev. 3.42, March 2024), Wayback Machine copy of AMD's PDF
The tables are derived from Intel XED, Copyright Intel Corporation, licensed under the Apache License 2.0; x86-64.net converted and reformatted them. The text is our own.