aboutsummaryrefslogtreecommitdiff
path: root/docs/devel/index-api.rst
diff options
context:
space:
mode:
authorBinbin Wu <binbin.wu@linux.intel.com>2024-01-12 14:00:42 +0800
committerPaolo Bonzini <pbonzini@redhat.com>2024-05-22 15:53:30 +0200
commit0117067131f99acaab4f4d2cca0290c5510e37cf (patch)
treee5801840da36b3adadffaf757840e3db21ecb35f /docs/devel/index-api.rst
parentba6780905943696d790cc880c8e5684b51f027fe (diff)
downloadqemu-0117067131f99acaab4f4d2cca0290c5510e37cf.zip
qemu-0117067131f99acaab4f4d2cca0290c5510e37cf.tar.gz
qemu-0117067131f99acaab4f4d2cca0290c5510e37cf.tar.bz2
target/i386: add control bits support for LAM
LAM uses CR3[61] and CR3[62] to configure/enable LAM on user pointers. LAM uses CR4[28] to configure/enable LAM on supervisor pointers. For CR3 LAM bits, no additional handling needed: - TCG LAM is not supported for TCG of target-i386. helper_write_crN() and helper_vmrun() check max physical address bits before calling cpu_x86_update_cr3(), no change needed, i.e. CR3 LAM bits are not allowed to be set in TCG. - gdbstub x86_cpu_gdb_write_register() will call cpu_x86_update_cr3() to update cr3. Allow gdb to set the LAM bit(s) to CR3, if vcpu doesn't support LAM, KVM_SET_SREGS will fail as other reserved bits. For CR4 LAM bit, its reservation depends on vcpu supporting LAM feature or not. - TCG LAM is not supported for TCG of target-i386. helper_write_crN() and helper_vmrun() check CR4 reserved bit before calling cpu_x86_update_cr4(), i.e. CR4 LAM bit is not allowed to be set in TCG. - gdbstub x86_cpu_gdb_write_register() will call cpu_x86_update_cr4() to update cr4. Mask out LAM bit on CR4 if vcpu doesn't support LAM. - x86_cpu_reset_hold() doesn't need special handling. Signed-off-by: Binbin Wu <binbin.wu@linux.intel.com> Tested-by: Xuelian Guo <xuelian.guo@intel.com> Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com> Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Message-ID: <20240112060042.19925-3-binbin.wu@linux.intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'docs/devel/index-api.rst')
0 files changed, 0 insertions, 0 deletions