diff options
| author | Alexander Potapenko <glider@google.com> | 2025-07-23 16:50:59 +0200 |
|---|---|---|
| committer | Alexander Potapenko <glider@google.com> | 2025-07-24 12:46:04 +0000 |
| commit | 2e16ac1977e641846ba0ef0cc7558a5e9a1ea946 (patch) | |
| tree | 81479ab75aa082a0677df1ed7505391404e84238 /sys/linux | |
| parent | 796f6c5861b465fbe4e4fd608a2a61534ecb8d05 (diff) | |
sys/linux: executor: implement SYZOS_API_WR_CRN on x86
Add a SYZOS call to write to one of the system registers
(CR0, CR2, CR3, CR4, CR8).
Diffstat (limited to 'sys/linux')
| -rw-r--r-- | sys/linux/dev_kvm_amd64.txt | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/linux/dev_kvm_amd64.txt b/sys/linux/dev_kvm_amd64.txt index 0585a2d57..14c27edd1 100644 --- a/sys/linux/dev_kvm_amd64.txt +++ b/sys/linux/dev_kvm_amd64.txt @@ -59,12 +59,21 @@ syzos_api_rdmsr { arg_reg flags[msr_index, int64] } +# CR1 and CR5-7 are reserved. +x86_cr_reg_ids = 0, 2, 3, 4, 8 + +syzos_api_wr_crn { + arg_reg flags[x86_cr_reg_ids, int64] + arg_value int64 +} + syzos_api_call$x86 [ uexit syzos_api$x86[0, intptr] code syzos_api$x86[10, syzos_api_code$x86] cpuid syzos_api$x86[20, syzos_api_cpuid] wrmsr syzos_api$x86[30, syzos_api_wrmsr] rdmsr syzos_api$x86[50, syzos_api_rdmsr] + wr_crn syzos_api$x86[70, syzos_api_wr_crn] ] [varlen] kvm_text_x86 [ |
