KVM/ARM updates for 4.9-rc2
- Handle faults generated by the page table walker as being writes - Map the BSS at EL2 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJYCkKcAAoJECPQ0LrRPXpDXoIQAJiPTg9dXMVem3Px0y5nTRUN fEoYP0BzV6KzA9MqvE/ZzCI/Xfuv93oHlEkBKP5lMeAbqVG3sNdkxbZu6RM49jgl AQ9OOCbkcMvxy4cgyY5KY2ip/l6j663eIkE0GKGLsYCg/GA2ln4TRoIk/dfjyADE 9j38CFOKD1tl0XRvI3ftVV+9OGiszcNSnK27uwsYyC78rc4PrnKA+3LxaQJjD6En +x3LW+kM5PeQLQxYhCxunx88WVZn6nmeZBQAjy5XZu0I1r8PbIQUdPfT+IMpavQO 5f0qGqRqWWWaEtoYIspJzolf5xmSUeQNfgW+cORIzShcJ8rtZkRsOoPO75wx6jlw /T96CX1xIRdfT0HvbONTN+n+mTQ74GmiV1qPlXG77wRAD8pg1BzrUbr/Tw8A9IV4 m3t+a0SEkyZvAicCLcK9mlsImMruuA8SOo4QNlYNFRacAKteuEDiJgkcwUOV4VC9 D1l2MUAZ5eZqB14iUQrayVkc0gu0CEdF2qBvl0XsWbO9Sa574zZq+HpQmOmLUOcd E5LPSN3x3FsNa2xONyc0stLdIainC46KQBe1uD/Yjou/l5Ao6jQecSzrcWIozlxg TtsjsFgOak/952aTlFoC+t6O9fQNFoh/f7QdvuI6l+fvt6dXCqxMgSPSLt3w8Rnw UL48xkxL14Y6nlRikuae =DVps -----END PGP SIGNATURE----- Merge tag 'kvm-arm-for-4.9-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm KVM/ARM updates for 4.9-rc2 - Handle faults generated by the page table walker as being writes - Map the BSS at EL2
This commit is contained in:
commit
658f7c4bb7
|
@ -1312,6 +1312,13 @@ static int init_hyp_mode(void)
|
||||||
goto out_err;
|
goto out_err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = create_hyp_mappings(kvm_ksym_ref(__bss_start),
|
||||||
|
kvm_ksym_ref(__bss_stop), PAGE_HYP_RO);
|
||||||
|
if (err) {
|
||||||
|
kvm_err("Cannot map bss section\n");
|
||||||
|
goto out_err;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Map the Hyp stack pages
|
* Map the Hyp stack pages
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -178,11 +178,6 @@ static inline bool kvm_vcpu_dabt_isvalid(const struct kvm_vcpu *vcpu)
|
||||||
return !!(kvm_vcpu_get_hsr(vcpu) & ESR_ELx_ISV);
|
return !!(kvm_vcpu_get_hsr(vcpu) & ESR_ELx_ISV);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool kvm_vcpu_dabt_iswrite(const struct kvm_vcpu *vcpu)
|
|
||||||
{
|
|
||||||
return !!(kvm_vcpu_get_hsr(vcpu) & ESR_ELx_WNR);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline bool kvm_vcpu_dabt_issext(const struct kvm_vcpu *vcpu)
|
static inline bool kvm_vcpu_dabt_issext(const struct kvm_vcpu *vcpu)
|
||||||
{
|
{
|
||||||
return !!(kvm_vcpu_get_hsr(vcpu) & ESR_ELx_SSE);
|
return !!(kvm_vcpu_get_hsr(vcpu) & ESR_ELx_SSE);
|
||||||
|
@ -203,6 +198,12 @@ static inline bool kvm_vcpu_dabt_iss1tw(const struct kvm_vcpu *vcpu)
|
||||||
return !!(kvm_vcpu_get_hsr(vcpu) & ESR_ELx_S1PTW);
|
return !!(kvm_vcpu_get_hsr(vcpu) & ESR_ELx_S1PTW);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline bool kvm_vcpu_dabt_iswrite(const struct kvm_vcpu *vcpu)
|
||||||
|
{
|
||||||
|
return !!(kvm_vcpu_get_hsr(vcpu) & ESR_ELx_WNR) ||
|
||||||
|
kvm_vcpu_dabt_iss1tw(vcpu); /* AF/DBM update */
|
||||||
|
}
|
||||||
|
|
||||||
static inline bool kvm_vcpu_dabt_is_cm(const struct kvm_vcpu *vcpu)
|
static inline bool kvm_vcpu_dabt_is_cm(const struct kvm_vcpu *vcpu)
|
||||||
{
|
{
|
||||||
return !!(kvm_vcpu_get_hsr(vcpu) & ESR_ELx_CM);
|
return !!(kvm_vcpu_get_hsr(vcpu) & ESR_ELx_CM);
|
||||||
|
|
Loading…
Reference in New Issue