| .. | .. |
|---|
| 130 | 130 | pmdval_t v = pmd_val(*pmd); |
|---|
| 131 | 131 | if (clear) { |
|---|
| 132 | 132 | *old = v; |
|---|
| 133 | | - new_pmd = pmd_mknotpresent(*pmd); |
|---|
| 133 | + new_pmd = pmd_mkinvalid(*pmd); |
|---|
| 134 | 134 | } else { |
|---|
| 135 | 135 | /* Presume this has been called with clear==true previously */ |
|---|
| 136 | 136 | new_pmd = __pmd(*old); |
|---|
| .. | .. |
|---|
| 173 | 173 | return -1; |
|---|
| 174 | 174 | } |
|---|
| 175 | 175 | |
|---|
| 176 | | - __flush_tlb_one_kernel(f->addr); |
|---|
| 176 | + flush_tlb_one_kernel(f->addr); |
|---|
| 177 | 177 | return 0; |
|---|
| 178 | 178 | } |
|---|
| 179 | 179 | |
|---|
| .. | .. |
|---|
| 193 | 193 | int ret; |
|---|
| 194 | 194 | WARN_ONCE(f->armed, KERN_ERR pr_fmt("kmmio page already armed.\n")); |
|---|
| 195 | 195 | if (f->armed) { |
|---|
| 196 | | - pr_warning("double-arm: addr 0x%08lx, ref %d, old %d\n", |
|---|
| 197 | | - f->addr, f->count, !!f->old_presence); |
|---|
| 196 | + pr_warn("double-arm: addr 0x%08lx, ref %d, old %d\n", |
|---|
| 197 | + f->addr, f->count, !!f->old_presence); |
|---|
| 198 | 198 | } |
|---|
| 199 | 199 | ret = clear_page_presence(f, true); |
|---|
| 200 | 200 | WARN_ONCE(ret < 0, KERN_ERR pr_fmt("arming at 0x%08lx failed.\n"), |
|---|
| .. | .. |
|---|
| 260 | 260 | goto no_kmmio; |
|---|
| 261 | 261 | } |
|---|
| 262 | 262 | |
|---|
| 263 | | - ctx = &get_cpu_var(kmmio_ctx); |
|---|
| 263 | + ctx = this_cpu_ptr(&kmmio_ctx); |
|---|
| 264 | 264 | if (ctx->active) { |
|---|
| 265 | 265 | if (page_base == ctx->addr) { |
|---|
| 266 | 266 | /* |
|---|
| .. | .. |
|---|
| 285 | 285 | pr_emerg("previous hit was at 0x%08lx.\n", ctx->addr); |
|---|
| 286 | 286 | disarm_kmmio_fault_page(faultpage); |
|---|
| 287 | 287 | } |
|---|
| 288 | | - goto no_kmmio_ctx; |
|---|
| 288 | + goto no_kmmio; |
|---|
| 289 | 289 | } |
|---|
| 290 | 290 | ctx->active++; |
|---|
| 291 | 291 | |
|---|
| .. | .. |
|---|
| 314 | 314 | * the user should drop to single cpu before tracing. |
|---|
| 315 | 315 | */ |
|---|
| 316 | 316 | |
|---|
| 317 | | - put_cpu_var(kmmio_ctx); |
|---|
| 318 | 317 | return 1; /* fault handled */ |
|---|
| 319 | 318 | |
|---|
| 320 | | -no_kmmio_ctx: |
|---|
| 321 | | - put_cpu_var(kmmio_ctx); |
|---|
| 322 | 319 | no_kmmio: |
|---|
| 323 | 320 | rcu_read_unlock(); |
|---|
| 324 | 321 | preempt_enable_no_resched(); |
|---|
| .. | .. |
|---|
| 333 | 330 | static int post_kmmio_handler(unsigned long condition, struct pt_regs *regs) |
|---|
| 334 | 331 | { |
|---|
| 335 | 332 | int ret = 0; |
|---|
| 336 | | - struct kmmio_context *ctx = &get_cpu_var(kmmio_ctx); |
|---|
| 333 | + struct kmmio_context *ctx = this_cpu_ptr(&kmmio_ctx); |
|---|
| 337 | 334 | |
|---|
| 338 | 335 | if (!ctx->active) { |
|---|
| 339 | 336 | /* |
|---|
| .. | .. |
|---|
| 341 | 338 | * something external causing them (f.e. using a debugger while |
|---|
| 342 | 339 | * mmio tracing enabled), or erroneous behaviour |
|---|
| 343 | 340 | */ |
|---|
| 344 | | - pr_warning("unexpected debug trap on CPU %d.\n", |
|---|
| 345 | | - smp_processor_id()); |
|---|
| 341 | + pr_warn("unexpected debug trap on CPU %d.\n", smp_processor_id()); |
|---|
| 346 | 342 | goto out; |
|---|
| 347 | 343 | } |
|---|
| 348 | 344 | |
|---|
| .. | .. |
|---|
| 372 | 368 | if (!(regs->flags & X86_EFLAGS_TF)) |
|---|
| 373 | 369 | ret = 1; |
|---|
| 374 | 370 | out: |
|---|
| 375 | | - put_cpu_var(kmmio_ctx); |
|---|
| 376 | 371 | return ret; |
|---|
| 377 | 372 | } |
|---|
| 378 | 373 | |
|---|