|
@@ -122,7 +122,7 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
|
|
|
if (ret)
|
|
|
goto out_fail_alloc;
|
|
|
|
|
|
- ret = create_hyp_mappings(kvm, kvm + 1);
|
|
|
+ ret = create_hyp_mappings(kvm, kvm + 1, PAGE_HYP);
|
|
|
if (ret)
|
|
|
goto out_free_stage2_pgd;
|
|
|
|
|
@@ -239,7 +239,7 @@ struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm, unsigned int id)
|
|
|
if (err)
|
|
|
goto free_vcpu;
|
|
|
|
|
|
- err = create_hyp_mappings(vcpu, vcpu + 1);
|
|
|
+ err = create_hyp_mappings(vcpu, vcpu + 1, PAGE_HYP);
|
|
|
if (err)
|
|
|
goto vcpu_uninit;
|
|
|
|
|
@@ -1293,14 +1293,14 @@ static int init_hyp_mode(void)
|
|
|
* Map the Hyp-code called directly from the host
|
|
|
*/
|
|
|
err = create_hyp_mappings(kvm_ksym_ref(__hyp_text_start),
|
|
|
- kvm_ksym_ref(__hyp_text_end));
|
|
|
+ kvm_ksym_ref(__hyp_text_end), PAGE_HYP);
|
|
|
if (err) {
|
|
|
kvm_err("Cannot map world-switch code\n");
|
|
|
goto out_err;
|
|
|
}
|
|
|
|
|
|
err = create_hyp_mappings(kvm_ksym_ref(__start_rodata),
|
|
|
- kvm_ksym_ref(__end_rodata));
|
|
|
+ kvm_ksym_ref(__end_rodata), PAGE_HYP);
|
|
|
if (err) {
|
|
|
kvm_err("Cannot map rodata section\n");
|
|
|
goto out_err;
|
|
@@ -1311,7 +1311,8 @@ static int init_hyp_mode(void)
|
|
|
*/
|
|
|
for_each_possible_cpu(cpu) {
|
|
|
char *stack_page = (char *)per_cpu(kvm_arm_hyp_stack_page, cpu);
|
|
|
- err = create_hyp_mappings(stack_page, stack_page + PAGE_SIZE);
|
|
|
+ err = create_hyp_mappings(stack_page, stack_page + PAGE_SIZE,
|
|
|
+ PAGE_HYP);
|
|
|
|
|
|
if (err) {
|
|
|
kvm_err("Cannot map hyp stack\n");
|
|
@@ -1323,7 +1324,7 @@ static int init_hyp_mode(void)
|
|
|
kvm_cpu_context_t *cpu_ctxt;
|
|
|
|
|
|
cpu_ctxt = per_cpu_ptr(kvm_host_cpu_state, cpu);
|
|
|
- err = create_hyp_mappings(cpu_ctxt, cpu_ctxt + 1);
|
|
|
+ err = create_hyp_mappings(cpu_ctxt, cpu_ctxt + 1, PAGE_HYP);
|
|
|
|
|
|
if (err) {
|
|
|
kvm_err("Cannot map host CPU state: %d\n", err);
|