mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
target/ppc/kvm: Add cap_ppc_safe_[cache/bounds_check/indirect_branch]
Add three new kvm capabilities used to represent the level of host support for three corresponding workarounds. Host support for each of the capabilities is queried through the new ioctl KVM_PPC_GET_CPU_CHAR which returns four uint64 quantities. The first two, character and behaviour, represent the available characteristics of the cpu and the behaviour of the cpu respectively. The second two, c_mask and b_mask, represent the mask of known bits for the character and beheviour dwords respectively. Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> [dwg: Correct some compile errors due to name change in final kernel patch version] Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
9cbe305b60
commit
8acc2ae5e9
3 changed files with 88 additions and 0 deletions
|
@ -295,6 +295,18 @@ struct sPAPRMachineState {
|
|||
#define H_DABRX_KERNEL (1ULL<<(63-62))
|
||||
#define H_DABRX_USER (1ULL<<(63-63))
|
||||
|
||||
/* Values for KVM_PPC_GET_CPU_CHAR & H_GET_CPU_CHARACTERISTICS */
|
||||
#define H_CPU_CHAR_SPEC_BAR_ORI31 PPC_BIT(0)
|
||||
#define H_CPU_CHAR_BCCTRL_SERIALISED PPC_BIT(1)
|
||||
#define H_CPU_CHAR_L1D_FLUSH_ORI30 PPC_BIT(2)
|
||||
#define H_CPU_CHAR_L1D_FLUSH_TRIG2 PPC_BIT(3)
|
||||
#define H_CPU_CHAR_L1D_THREAD_PRIV PPC_BIT(4)
|
||||
#define H_CPU_CHAR_HON_BRANCH_HINTS PPC_BIT(5)
|
||||
#define H_CPU_CHAR_THR_RECONF_TRIG PPC_BIT(6)
|
||||
#define H_CPU_BEHAV_FAVOUR_SECURITY PPC_BIT(0)
|
||||
#define H_CPU_BEHAV_L1D_FLUSH_PR PPC_BIT(1)
|
||||
#define H_CPU_BEHAV_BNDS_CHK_SPEC_BAR PPC_BIT(2)
|
||||
|
||||
/* Each control block has to be on a 4K boundary */
|
||||
#define H_CB_ALIGNMENT 4096
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue