| .. | .. |
|---|
| 33 | 33 | static u64 tag_val; |
|---|
| 34 | 34 | static u64 va_mask; |
|---|
| 35 | 35 | |
|---|
| 36 | | -static void compute_layout(void) |
|---|
| 36 | +__init void kvm_compute_layout(void) |
|---|
| 37 | 37 | { |
|---|
| 38 | 38 | phys_addr_t idmap_addr = __pa_symbol(__hyp_idmap_text_start); |
|---|
| 39 | 39 | u64 hyp_va_msb; |
|---|
| .. | .. |
|---|
| 121 | 121 | |
|---|
| 122 | 122 | BUG_ON(nr_inst != 5); |
|---|
| 123 | 123 | |
|---|
| 124 | | - if (!has_vhe() && !va_mask) |
|---|
| 125 | | - compute_layout(); |
|---|
| 126 | 124 | |
|---|
| 127 | 125 | for (i = 0; i < nr_inst; i++) { |
|---|
| 128 | 126 | u32 rd, rn, insn, oinsn; |
|---|
| .. | .. |
|---|
| 166 | 164 | WARN_ON_ONCE(cpus_have_const_cap(ARM64_HARDEN_EL2_VECTORS)); |
|---|
| 167 | 165 | return; |
|---|
| 168 | 166 | } |
|---|
| 169 | | - |
|---|
| 170 | | - if (!va_mask) |
|---|
| 171 | | - compute_layout(); |
|---|
| 172 | 167 | |
|---|
| 173 | 168 | /* |
|---|
| 174 | 169 | * Compute HYP VA by using the same computation as kern_hyp_va() |
|---|