Re: [PATCH next] kvm: Use pr_<level>

From: Marcelo Tosatti
Date: Wed Jun 27 2012 - 21:26:56 EST



The advantage is the added prefix?

$ grep limit Documentation/CodingStyle
The limit on the length of lines is 80 columns and this is a strongly
preferred limit.

On Wed, Jun 13, 2012 at 08:20:21PM -0700, Joe Perches wrote:
> Use a more current logging style.
>
> Convert printks to pr_<level>.
> Add pr_fmt.
>
> All logging messages are now prefixed with
> "kvm: ", "kvm_intel: " or "kvm_amd: "
>
> Coalesce formats, align arguments.
> Add a few missing newlines.
>
> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
> ---
> arch/x86/kvm/cpuid.c | 4 +-
> arch/x86/kvm/lapic.c | 16 ++++----
> arch/x86/kvm/mmu.c | 95 +++++++++++++++++++++++++------------------
> arch/x86/kvm/mmu_audit.c | 35 ++++++++--------
> arch/x86/kvm/paging_tmpl.h | 13 +++---
> arch/x86/kvm/svm.c | 27 ++++++------
> arch/x86/kvm/vmx.c | 75 +++++++++++++++-------------------
> arch/x86/kvm/x86.c | 31 +++++++-------
> virt/kvm/assigned-dev.c | 31 +++++++-------
> virt/kvm/ioapic.c | 25 +++++++----
> virt/kvm/ioapic.h | 4 +-
> virt/kvm/iommu.c | 36 ++++++++--------
> virt/kvm/irq_comm.c | 8 ++-
> virt/kvm/kvm_main.c | 17 ++++----
> 14 files changed, 215 insertions(+), 202 deletions(-)
>
> diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
> index 7df1c6d..1323ffd 100644
> --- a/arch/x86/kvm/cpuid.c
> +++ b/arch/x86/kvm/cpuid.c
> @@ -12,6 +12,8 @@
> *
> */
>
> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> +
> #include <linux/kvm_host.h>
> #include <linux/module.h>
> #include <linux/vmalloc.h>
> @@ -72,7 +74,7 @@ static void cpuid_fix_nx_cap(struct kvm_vcpu *vcpu)
> }
> if (entry && (entry->edx & (1 << 20)) && !is_efer_nx()) {
> entry->edx &= ~(1 << 20);
> - printk(KERN_INFO "kvm: guest NX capability removed\n");
> + pr_info("guest NX capability removed\n");
> }
> }
>
> diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
> index 93c1574..0b3264f 100644
> --- a/arch/x86/kvm/lapic.c
> +++ b/arch/x86/kvm/lapic.c
> @@ -18,6 +18,8 @@
> * the COPYING file in the top-level directory.
> */
>
> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> +
> #include <linux/kvm_host.h>
> #include <linux/kvm.h>
> #include <linux/mm.h>
> @@ -53,7 +55,7 @@
>
> #define APIC_BUS_CYCLE_NS 1
>
> -/* #define apic_debug(fmt,arg...) printk(KERN_WARNING fmt,##arg) */
> +/* #define apic_debug(fmt,arg...) pr_warn(fmt,##arg) */
> #define apic_debug(fmt, arg...)
>
> #define APIC_LVT_NUM 6
> @@ -470,8 +472,7 @@ static int __apic_accept_irq(struct kvm_lapic *apic, int delivery_mode,
> break;
>
> default:
> - printk(KERN_ERR "TODO: unsupported delivery mode %x\n",
> - delivery_mode);
> + pr_err("TODO: unsupported delivery mode %x\n", delivery_mode);
> break;
> }
> return result;
> @@ -648,8 +649,8 @@ static int apic_reg_read(struct kvm_lapic *apic, u32 offset, int len,
> memcpy(data, (char *)&result + alignment, len);
> break;
> default:
> - printk(KERN_ERR "Local APIC read with len = %x, "
> - "should be 1,2, or 4 instead\n", len);
> + pr_err("Local APIC read with len = %x, should be 1,2, or 4 instead\n",
> + len);
> break;
> }
> return 0;
> @@ -712,8 +713,7 @@ static void start_apic_timer(struct kvm_lapic *apic)
>
> if (apic->lapic_timer.period < min_period) {
> pr_info_ratelimited(
> - "kvm: vcpu %i: requested %lld ns "
> - "lapic timer period limited to %lld ns\n",
> + "vcpu %i: requested %lld ns lapic timer period limited to %lld ns\n",
> apic->vcpu->vcpu_id,
> apic->lapic_timer.period, min_period);
> apic->lapic_timer.period = min_period;
> @@ -1175,7 +1175,7 @@ int kvm_create_lapic(struct kvm_vcpu *vcpu)
>
> apic->regs = (void *)get_zeroed_page(GFP_KERNEL);
> if (!apic->regs) {
> - printk(KERN_ERR "malloc apic regs error for vcpu %x\n",
> + pr_err("malloc apic regs error for vcpu %x\n",
> vcpu->vcpu_id);
> goto nomem_free_apic;
> }
> diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
> index 24dd43d..ab0dbfd 100644
> --- a/arch/x86/kvm/mmu.c
> +++ b/arch/x86/kvm/mmu.c
> @@ -18,6 +18,8 @@
> *
> */
>
> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> +
> #include "irq.h"
> #include "mmu.h"
> #include "x86.h"
> @@ -63,13 +65,31 @@ enum {
>
> #ifdef MMU_DEBUG
>
> -#define pgprintk(x...) do { if (dbg) printk(x); } while (0)
> -#define rmap_printk(x...) do { if (dbg) printk(x); } while (0)
> +#define DEBUG
> +
> +#define pg_dbg(fmt, ...) \
> +do { \
> + if (dbg) \
> + pr_debug("%s: " fmt, __func__, ##__VA_ARGS__); \
> +} while (0)
> +#define rmap_dbg(fmt, ...) \
> +do { \
> + if (dbg) \
> + pr_debug("%s: " fmt, __func__, ##__VA_ARGS__); \
> +} while (0)
>
> #else
>
> -#define pgprintk(x...) do { } while (0)
> -#define rmap_printk(x...) do { } while (0)
> +#define pg_dbg(fmt, ...) \
> +do { \
> + if (0) \
> + pr_debug(fmt, ##__VA_ARGS__); \
> +} while (0)
> +#define rmap_dbg(fmt, ...) \
> +do { \
> + if (0) \
> + pr_debug(fmt, ##__VA_ARGS__); \
> +} while (0)
>
> #endif
>
> @@ -83,8 +103,8 @@ module_param(dbg, bool, 0644);
> #else
> #define ASSERT(x) \
> if (!(x)) { \
> - printk(KERN_WARNING "assertion failed %s:%d: %s\n", \
> - __FILE__, __LINE__, #x); \
> + pr_warn("assertion failed %s:%d: %s\n", \
> + __FILE__, __LINE__, #x); \
> }
> #endif
>
> @@ -825,17 +845,17 @@ static int pte_list_add(struct kvm_vcpu *vcpu, u64 *spte,
> int i, count = 0;
>
> if (!*pte_list) {
> - rmap_printk("pte_list_add: %p %llx 0->1\n", spte, *spte);
> + rmap_dbg("%p %llx 0->1\n", spte, *spte);
> *pte_list = (unsigned long)spte;
> } else if (!(*pte_list & 1)) {
> - rmap_printk("pte_list_add: %p %llx 1->many\n", spte, *spte);
> + rmap_dbg("%p %llx 1->many\n", spte, *spte);
> desc = mmu_alloc_pte_list_desc(vcpu);
> desc->sptes[0] = (u64 *)*pte_list;
> desc->sptes[1] = spte;
> *pte_list = (unsigned long)desc | 1;
> ++count;
> } else {
> - rmap_printk("pte_list_add: %p %llx many->many\n", spte, *spte);
> + rmap_dbg("%p %llx many->many\n", spte, *spte);
> desc = (struct pte_list_desc *)(*pte_list & ~1ul);
> while (desc->sptes[PTE_LIST_EXT-1] && desc->more) {
> desc = desc->more;
> @@ -881,17 +901,17 @@ static void pte_list_remove(u64 *spte, unsigned long *pte_list)
> int i;
>
> if (!*pte_list) {
> - printk(KERN_ERR "pte_list_remove: %p 0->BUG\n", spte);
> + pr_err("%s: %p 0->BUG\n", __func__, spte);
> BUG();
> } else if (!(*pte_list & 1)) {
> - rmap_printk("pte_list_remove: %p 1->0\n", spte);
> + rmap_dbg("%p 1->0\n", spte);
> if ((u64 *)*pte_list != spte) {
> - printk(KERN_ERR "pte_list_remove: %p 1->BUG\n", spte);
> + pr_err("%s: %p 1->BUG\n", __func__, spte);
> BUG();
> }
> *pte_list = 0;
> } else {
> - rmap_printk("pte_list_remove: %p many->many\n", spte);
> + rmap_dbg("%p many->many\n", spte);
> desc = (struct pte_list_desc *)(*pte_list & ~1ul);
> prev_desc = NULL;
> while (desc) {
> @@ -1059,7 +1079,7 @@ static int __rmap_write_protect(struct kvm *kvm, unsigned long *rmapp, int level
>
> for (sptep = rmap_get_first(*rmapp, &iter); sptep;) {
> BUG_ON(!(*sptep & PT_PRESENT_MASK));
> - rmap_printk("rmap_write_protect: spte %p %llx\n", sptep, *sptep);
> + rmap_dbg("spte %p %llx\n", sptep, *sptep);
>
> if (!is_writable_pte(*sptep)) {
> sptep = rmap_get_next(&iter);
> @@ -1134,7 +1154,7 @@ static int kvm_unmap_rmapp(struct kvm *kvm, unsigned long *rmapp,
>
> while ((sptep = rmap_get_first(*rmapp, &iter))) {
> BUG_ON(!(*sptep & PT_PRESENT_MASK));
> - rmap_printk("kvm_rmap_unmap_hva: spte %p %llx\n", sptep, *sptep);
> + rmap_dbg("spte %p %llx\n", sptep, *sptep);
>
> drop_spte(kvm, sptep);
> need_tlb_flush = 1;
> @@ -1158,7 +1178,7 @@ static int kvm_set_pte_rmapp(struct kvm *kvm, unsigned long *rmapp,
>
> for (sptep = rmap_get_first(*rmapp, &iter); sptep;) {
> BUG_ON(!is_shadow_present_pte(*sptep));
> - rmap_printk("kvm_set_pte_rmapp: spte %p %llx\n", sptep, *sptep);
> + rmap_dbg("spte %p %llx\n", sptep, *sptep);
>
> need_flush = 1;
>
> @@ -1327,8 +1347,7 @@ static int is_empty_shadow_page(u64 *spt)
>
> for (pos = spt, end = pos + PAGE_SIZE / sizeof(u64); pos != end; pos++)
> if (is_shadow_present_pte(*pos)) {
> - printk(KERN_ERR "%s: %p %llx\n", __func__,
> - pos, *pos);
> + pr_err("%s: %p %llx\n", __func__, pos, *pos);
> return 0;
> }
> return 1;
> @@ -2065,12 +2084,11 @@ int kvm_mmu_unprotect_page(struct kvm *kvm, gfn_t gfn)
> LIST_HEAD(invalid_list);
> int r;
>
> - pgprintk("%s: looking for gfn %llx\n", __func__, gfn);
> + pg_dbg("looking for gfn %llx\n", gfn);
> r = 0;
> spin_lock(&kvm->mmu_lock);
> for_each_gfn_indirect_valid_sp(kvm, sp, gfn, node) {
> - pgprintk("%s: gfn %llx role %x\n", __func__, gfn,
> - sp->role.word);
> + pg_dbg("gfn %llx role %x\n", gfn, sp->role.word);
> r = 1;
> kvm_mmu_prepare_zap_page(kvm, sp, &invalid_list);
> }
> @@ -2310,8 +2328,8 @@ static int set_spte(struct kvm_vcpu *vcpu, u64 *sptep,
> goto set_pte;
>
> if (mmu_need_write_protect(vcpu, gfn, can_unsync)) {
> - pgprintk("%s: found shadow page for %llx, marking ro\n",
> - __func__, gfn);
> + pg_dbg("found shadow page for %llx, marking ro\n",
> + gfn);
> ret = 1;
> pte_access &= ~ACC_WRITE_MASK;
> if (is_writable_pte(spte))
> @@ -2346,10 +2364,8 @@ static void mmu_set_spte(struct kvm_vcpu *vcpu, u64 *sptep,
> int was_rmapped = 0;
> int rmap_count;
>
> - pgprintk("%s: spte %llx access %x write_fault %d"
> - " user_fault %d gfn %llx\n",
> - __func__, *sptep, pt_access,
> - write_fault, user_fault, gfn);
> + pg_dbg("spte %llx access %x write_fault %d user_fault %d gfn %llx\n",
> + *sptep, pt_access, write_fault, user_fault, gfn);
>
> if (is_rmap_spte(*sptep)) {
> /*
> @@ -2365,8 +2381,8 @@ static void mmu_set_spte(struct kvm_vcpu *vcpu, u64 *sptep,
> drop_parent_pte(child, sptep);
> kvm_flush_remote_tlbs(vcpu->kvm);
> } else if (pfn != spte_to_pfn(*sptep)) {
> - pgprintk("hfn old %llx new %llx\n",
> - spte_to_pfn(*sptep), pfn);
> + pg_dbg("hfn old %llx new %llx\n",
> + spte_to_pfn(*sptep), pfn);
> drop_spte(vcpu->kvm, sptep);
> kvm_flush_remote_tlbs(vcpu->kvm);
> } else
> @@ -2384,11 +2400,11 @@ static void mmu_set_spte(struct kvm_vcpu *vcpu, u64 *sptep,
> if (unlikely(is_mmio_spte(*sptep) && emulate))
> *emulate = 1;
>
> - pgprintk("%s: setting spte %llx\n", __func__, *sptep);
> - pgprintk("instantiating %s PTE (%s) at %llx (%llx) addr %p\n",
> - is_large_pte(*sptep)? "2MB" : "4kB",
> - *sptep & PT_PRESENT_MASK ?"RW":"R", gfn,
> - *sptep, sptep);
> + pg_dbg("setting spte %llx\n", *sptep);
> + pg_dbg("instantiating %s PTE (%s) at %llx (%llx) addr %p\n",
> + is_large_pte(*sptep) ? "2MB" : "4kB",
> + *sptep & PT_PRESENT_MASK ? "RW" : "R", gfn,
> + *sptep, sptep);
> if (!was_rmapped && is_large_pte(*sptep))
> ++vcpu->kvm->stat.lpages;
>
> @@ -2523,7 +2539,7 @@ static int __direct_map(struct kvm_vcpu *vcpu, gpa_t v, int write,
> iterator.level - 1,
> 1, ACC_ALL, iterator.sptep);
> if (!sp) {
> - pgprintk("nonpaging_map: ENOMEM\n");
> + pg_dbg("nonpaging_map: ENOMEM\n");
> kvm_release_pfn_clean(pfn);
> return -ENOMEM;
> }
> @@ -3028,7 +3044,7 @@ static int nonpaging_page_fault(struct kvm_vcpu *vcpu, gva_t gva,
> gfn_t gfn;
> int r;
>
> - pgprintk("%s: gva %lx error %x\n", __func__, gva, error_code);
> + pg_dbg("gva %lx error %x\n", gva, error_code);
>
> if (unlikely(error_code & PFERR_RSVD_MASK))
> return handle_mmio_page_fault(vcpu, gva, error_code, true);
> @@ -3181,7 +3197,7 @@ void kvm_mmu_flush_tlb(struct kvm_vcpu *vcpu)
>
> static void paging_new_cr3(struct kvm_vcpu *vcpu)
> {
> - pgprintk("%s: cr3 %lx\n", __func__, kvm_read_cr3(vcpu));
> + pg_dbg("cr3 %lx\n", kvm_read_cr3(vcpu));
> mmu_free_roots(vcpu);
> }
>
> @@ -3619,8 +3635,7 @@ static bool detect_write_misaligned(struct kvm_mmu_page *sp, gpa_t gpa,
> {
> unsigned offset, pte_size, misaligned;
>
> - pgprintk("misaligned: gpa %llx bytes %d role %x\n",
> - gpa, bytes, sp->role.word);
> + pg_dbg("gpa %llx bytes %d role %x\n", gpa, bytes, sp->role.word);
>
> offset = offset_in_page(gpa);
> pte_size = sp->role.cr4_pae ? 8 : 4;
> @@ -3690,7 +3705,7 @@ void kvm_mmu_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa,
>
> zap_page = remote_flush = local_flush = false;
>
> - pgprintk("%s: gpa %llx bytes %d\n", __func__, gpa, bytes);
> + pg_dbg("gpa %llx bytes %d\n", gpa, bytes);
>
> gentry = mmu_pte_write_fetch_gpte(vcpu, &gpa, new, &bytes);
>
> diff --git a/arch/x86/kvm/mmu_audit.c b/arch/x86/kvm/mmu_audit.c
> index 7d7d0b9..7625b90 100644
> --- a/arch/x86/kvm/mmu_audit.c
> +++ b/arch/x86/kvm/mmu_audit.c
> @@ -17,6 +17,8 @@
> *
> */
>
> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> +
> #include <linux/ratelimit.h>
>
> char const *audit_point_name[] = {
> @@ -28,9 +30,9 @@ char const *audit_point_name[] = {
> "post sync"
> };
>
> -#define audit_printk(kvm, fmt, args...) \
> - printk(KERN_ERR "audit: (%s) error: " \
> - fmt, audit_point_name[kvm->arch.audit_point], ##args)
> +#define audit_err(kvm, fmt, ...) \
> + pr_err("(%s) error: " fmt, \
> + audit_point_name[(kvm)->arch.audit_point], ##__VA_ARGS__)
>
> typedef void (*inspect_spte_fn) (struct kvm_vcpu *vcpu, u64 *sptep, int level);
>
> @@ -104,8 +106,8 @@ static void audit_mappings(struct kvm_vcpu *vcpu, u64 *sptep, int level)
>
> if (sp->unsync) {
> if (level != PT_PAGE_TABLE_LEVEL) {
> - audit_printk(vcpu->kvm, "unsync sp: %p "
> - "level = %d\n", sp, level);
> + audit_err(vcpu->kvm, "unsync sp: %p level = %d\n",
> + sp, level);
> return;
> }
> }
> @@ -123,9 +125,8 @@ static void audit_mappings(struct kvm_vcpu *vcpu, u64 *sptep, int level)
>
> hpa = pfn << PAGE_SHIFT;
> if ((*sptep & PT64_BASE_ADDR_MASK) != hpa)
> - audit_printk(vcpu->kvm, "levels %d pfn %llx hpa %llx "
> - "ent %llxn", vcpu->arch.mmu.root_level, pfn,
> - hpa, *sptep);
> + audit_err(vcpu->kvm, "levels %d pfn %llx hpa %llx ent %llx\n",
> + vcpu->arch.mmu.root_level, pfn, hpa, *sptep);
> }
>
> static void inspect_spte_has_rmap(struct kvm *kvm, u64 *sptep)
> @@ -141,9 +142,9 @@ static void inspect_spte_has_rmap(struct kvm *kvm, u64 *sptep)
> if (!gfn_to_memslot(kvm, gfn)) {
> if (!__ratelimit(&ratelimit_state))
> return;
> - audit_printk(kvm, "no memslot for gfn %llx\n", gfn);
> - audit_printk(kvm, "index %ld of sp (gfn=%llx)\n",
> - (long int)(sptep - rev_sp->spt), rev_sp->gfn);
> + audit_err(kvm, "no memslot for gfn %llx\n", gfn);
> + audit_err(kvm, "index %ld of sp (gfn=%llx)\n",
> + (long int)(sptep - rev_sp->spt), rev_sp->gfn);
> dump_stack();
> return;
> }
> @@ -152,8 +153,7 @@ static void inspect_spte_has_rmap(struct kvm *kvm, u64 *sptep)
> if (!*rmapp) {
> if (!__ratelimit(&ratelimit_state))
> return;
> - audit_printk(kvm, "no rmap for writable spte %llx\n",
> - *sptep);
> + audit_err(kvm, "no rmap for writable spte %llx\n", *sptep);
> dump_stack();
> }
> }
> @@ -169,8 +169,8 @@ static void audit_spte_after_sync(struct kvm_vcpu *vcpu, u64 *sptep, int level)
> struct kvm_mmu_page *sp = page_header(__pa(sptep));
>
> if (vcpu->kvm->arch.audit_point == AUDIT_POST_SYNC && sp->unsync)
> - audit_printk(vcpu->kvm, "meet unsync sp(%p) after sync "
> - "root.\n", sp);
> + audit_err(vcpu->kvm, "meet unsync sp(%p) after sync root\n",
> + sp);
> }
>
> static void check_mappings_rmap(struct kvm *kvm, struct kvm_mmu_page *sp)
> @@ -204,9 +204,8 @@ static void audit_write_protection(struct kvm *kvm, struct kvm_mmu_page *sp)
> for (sptep = rmap_get_first(*rmapp, &iter); sptep;
> sptep = rmap_get_next(&iter)) {
> if (is_writable_pte(*sptep))
> - audit_printk(kvm, "shadow page has writable "
> - "mappings: gfn %llx role %x\n",
> - sp->gfn, sp->role.word);
> + audit_err(kvm, "shadow page has writable mappings: gfn %llx role %x\n",
> + sp->gfn, sp->role.word);
> }
> }
>
> diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h
> index 34f9709..71d0532 100644
> --- a/arch/x86/kvm/paging_tmpl.h
> +++ b/arch/x86/kvm/paging_tmpl.h
> @@ -302,8 +302,8 @@ retry_walk:
>
> walker->pt_access = pt_access;
> walker->pte_access = pte_access;
> - pgprintk("%s: pte %llx pte_access %x pt_access %x\n",
> - __func__, (u64)pte, pte_access, pt_access);
> + pg_dbg("pte %llx pte_access %x pt_access %x\n",
> + (u64)pte, pte_access, pt_access);
> return 1;
>
> error:
> @@ -368,7 +368,7 @@ static void FNAME(update_pte)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp,
> if (FNAME(prefetch_invalid_gpte)(vcpu, sp, spte, gpte))
> return;
>
> - pgprintk("%s: gpte %llx spte %p\n", __func__, (u64)gpte, spte);
> + pg_dbg("gpte %llx spte %p\n", (u64)gpte, spte);
> pte_access = sp->role.access & FNAME(gpte_access)(vcpu, gpte, true);
> pfn = gfn_to_pfn_atomic(vcpu->kvm, gpte_to_gfn(gpte));
> if (mmu_invalid_pfn(pfn)) {
> @@ -582,7 +582,7 @@ static int FNAME(page_fault)(struct kvm_vcpu *vcpu, gva_t addr, u32 error_code,
> unsigned long mmu_seq;
> bool map_writable;
>
> - pgprintk("%s: addr %lx err %x\n", __func__, addr, error_code);
> + pg_dbg("addr %lx err %x\n", addr, error_code);
>
> if (unlikely(error_code & PFERR_RSVD_MASK))
> return handle_mmio_page_fault(vcpu, addr, error_code,
> @@ -601,7 +601,7 @@ static int FNAME(page_fault)(struct kvm_vcpu *vcpu, gva_t addr, u32 error_code,
> * The page is not mapped by the guest. Let the guest handle it.
> */
> if (!r) {
> - pgprintk("%s: guest page fault\n", __func__);
> + pg_dbg("guest page fault\n");
> if (!prefault)
> inject_page_fault(vcpu, &walker.fault);
>
> @@ -639,8 +639,7 @@ static int FNAME(page_fault)(struct kvm_vcpu *vcpu, gva_t addr, u32 error_code,
> sptep = FNAME(fetch)(vcpu, addr, &walker, user_fault, write_fault,
> level, &emulate, pfn, map_writable, prefault);
> (void)sptep;
> - pgprintk("%s: shadow pte %p %llx emulate %d\n", __func__,
> - sptep, *sptep, emulate);
> + pg_dbg("shadow pte %p %llx emulate %d\n", sptep, *sptep, emulate);
>
> ++vcpu->stat.pf_fixed;
> kvm_mmu_audit(vcpu, AUDIT_POST_PAGE_FAULT);
> diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
> index 7a41878..b4a722e 100644
> --- a/arch/x86/kvm/svm.c
> +++ b/arch/x86/kvm/svm.c
> @@ -14,6 +14,9 @@
> * the COPYING file in the top-level directory.
> *
> */
> +
> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> +
> #include <linux/kvm_host.h>
>
> #include "irq.h"
> @@ -500,11 +503,11 @@ static void skip_emulated_instruction(struct kvm_vcpu *vcpu)
> if (!svm->next_rip) {
> if (emulate_instruction(vcpu, EMULTYPE_SKIP) !=
> EMULATE_DONE)
> - printk(KERN_DEBUG "%s: NOP\n", __func__);
> + pr_debug("%s: NOP\n", __func__);
> return;
> }
> if (svm->next_rip - kvm_rip_read(vcpu) > MAX_INST_SIZE)
> - printk(KERN_ERR "%s: ip 0x%lx next 0x%llx\n",
> + pr_err("%s: ip 0x%lx next 0x%llx\n",
> __func__, kvm_rip_read(vcpu), svm->next_rip);
>
> kvm_rip_write(vcpu, svm->next_rip);
> @@ -598,7 +601,7 @@ static int has_svm(void)
> const char *msg;
>
> if (!cpu_has_svm(&msg)) {
> - printk(KERN_INFO "has_svm: %s\n", msg);
> + pr_info("%s: %s\n", __func__, msg);
> return 0;
> }
>
> @@ -630,15 +633,13 @@ static int svm_hardware_enable(void *garbage)
> return -EBUSY;
>
> if (!has_svm()) {
> - printk(KERN_ERR "svm_hardware_enable: err EOPNOTSUPP on %d\n",
> - me);
> + pr_err("%s: err EOPNOTSUPP on %d\n", __func__, me);
> return -EINVAL;
> }
> sd = per_cpu(svm_data, me);
>
> if (!sd) {
> - printk(KERN_ERR "svm_hardware_enable: svm_data is NULL on %d\n",
> - me);
> + pr_err("%s: svm_data is NULL on %d\n", __func__, me);
> return -EINVAL;
> }
>
> @@ -890,7 +891,7 @@ static __init int svm_hardware_setup(void)
> }
>
> if (nested) {
> - printk(KERN_INFO "kvm: Nested Virtualization enabled\n");
> + pr_info("Nested Virtualization enabled\n");
> kvm_enable_efer_bits(EFER_SVME | EFER_LMSLE);
> }
>
> @@ -904,12 +905,12 @@ static __init int svm_hardware_setup(void)
> npt_enabled = false;
>
> if (npt_enabled && !npt) {
> - printk(KERN_INFO "kvm: Nested Paging disabled\n");
> + pr_info("Nested Paging disabled\n");
> npt_enabled = false;
> }
>
> if (npt_enabled) {
> - printk(KERN_INFO "kvm: Nested Paging enabled\n");
> + pr_info("Nested Paging enabled\n");
> kvm_enable_tdp();
> } else
> kvm_disable_tdp();
> @@ -3496,10 +3497,8 @@ static int handle_exit(struct kvm_vcpu *vcpu)
> exit_code != SVM_EXIT_EXCP_BASE + PF_VECTOR &&
> exit_code != SVM_EXIT_NPF && exit_code != SVM_EXIT_TASK_SWITCH &&
> exit_code != SVM_EXIT_INTR && exit_code != SVM_EXIT_NMI)
> - printk(KERN_ERR "%s: unexpected exit_ini_info 0x%x "
> - "exit_code 0x%x\n",
> - __func__, svm->vmcb->control.exit_int_info,
> - exit_code);
> + pr_err("%s: unexpected exit_ini_info 0x%x exit_code 0x%x\n",
> + __func__, svm->vmcb->control.exit_int_info, exit_code);
>
> if (exit_code >= ARRAY_SIZE(svm_exit_handlers)
> || !svm_exit_handlers[exit_code]) {
> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
> index eeeb4a2..3257358 100644
> --- a/arch/x86/kvm/vmx.c
> +++ b/arch/x86/kvm/vmx.c
> @@ -16,6 +16,8 @@
> *
> */
>
> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> +
> #include "irq.h"
> #include "mmu.h"
> #include "cpuid.h"
> @@ -961,8 +963,7 @@ static void vmcs_clear(struct vmcs *vmcs)
> : "=qm"(error) : "a"(&phys_addr), "m"(phys_addr)
> : "cc", "memory");
> if (error)
> - printk(KERN_ERR "kvm: vmclear fail: %p/%llx\n",
> - vmcs, phys_addr);
> + pr_err("vmclear fail: %p/%llx\n", vmcs, phys_addr);
> }
>
> static inline void loaded_vmcs_init(struct loaded_vmcs *loaded_vmcs)
> @@ -981,8 +982,7 @@ static void vmcs_load(struct vmcs *vmcs)
> : "=qm"(error) : "a"(&phys_addr), "m"(phys_addr)
> : "cc", "memory");
> if (error)
> - printk(KERN_ERR "kvm: vmptrld %p/%llx failed\n",
> - vmcs, phys_addr);
> + pr_err("vmptrld %p/%llx failed\n", vmcs, phys_addr);
> }
>
> static void __loaded_vmcs_clear(void *arg)
> @@ -1085,8 +1085,8 @@ static __always_inline u64 vmcs_read64(unsigned long field)
>
> static noinline void vmwrite_error(unsigned long field, unsigned long value)
> {
> - printk(KERN_ERR "vmwrite error: reg %lx value %lx (err %d)\n",
> - field, value, vmcs_read32(VM_INSTRUCTION_ERROR));
> + pr_err("%s: reg %lx value %lx (err %d)\n",
> + __func__, field, value, vmcs_read32(VM_INSTRUCTION_ERROR));
> dump_stack();
> }
>
> @@ -1301,8 +1301,8 @@ static void add_atomic_switch_msr(struct vcpu_vmx *vmx, unsigned msr,
> break;
>
> if (i == NR_AUTOLOAD_MSRS) {
> - printk_once(KERN_WARNING"Not enough mst switch entries. "
> - "Can't add msr %x\n", msr);
> + pr_warn_once("Not enough mst switch entries. Can't add msr %x\n",
> + msr);
> return;
> } else if (i == m->nr) {
> ++m->nr;
> @@ -2138,7 +2138,7 @@ static int vmx_get_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 *pdata)
> struct shared_msr_entry *msr;
>
> if (!pdata) {
> - printk(KERN_ERR "BUG: get_msr called with NULL pdata\n");
> + pr_err("BUG: get_msr called with NULL pdata\n");
> return -EINVAL;
> }
>
> @@ -2312,8 +2312,7 @@ static __init int vmx_disabled_by_bios(void)
> if (!(msr & FEATURE_CONTROL_VMXON_ENABLED_OUTSIDE_SMX)
> && (msr & FEATURE_CONTROL_VMXON_ENABLED_INSIDE_SMX)
> && !tboot_enabled()) {
> - printk(KERN_WARNING "kvm: disable TXT in the BIOS or "
> - "activate TXT before enabling KVM\n");
> + pr_warn("disable TXT in the BIOS or activate TXT before enabling KVM\n");
> return 1;
> }
> /* launched w/o TXT and VMX disabled */
> @@ -2566,8 +2565,7 @@ static __init int setup_vmcs_config(struct vmcs_config *vmcs_conf)
> case 44:
> case 46:
> cpu_has_load_perf_global_ctrl = false;
> - printk_once(KERN_WARNING"kvm: VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL "
> - "does not work properly. Using workaround\n");
> + pr_warn_once("VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL does not work properly. Using workaround\n");
> break;
> default:
> break;
> @@ -2777,9 +2775,8 @@ static void fix_rmode_seg(int seg, struct kvm_save_segment *save)
> vmcs_write32(sf->limit, 0xffff);
> vmcs_write32(sf->ar_bytes, 0xf3);
> if (save->base & 0xf)
> - printk_once(KERN_WARNING "kvm: segment base is not paragraph"
> - " aligned when entering protected mode (seg=%d)",
> - seg);
> + pr_warn_once("segment base is not paragraph aligned when entering protected mode (seg=%d)\n",
> + seg);
> }
>
> static void enter_rmode(struct kvm_vcpu *vcpu)
> @@ -2799,8 +2796,7 @@ static void enter_rmode(struct kvm_vcpu *vcpu)
> * vcpu. Call it here with phys address pointing 16M below 4G.
> */
> if (!vcpu->kvm->arch.tss_addr) {
> - printk_once(KERN_WARNING "kvm: KVM_SET_TSS_ADDR need to be "
> - "called before entering vcpu\n");
> + pr_warn_once("KVM_SET_TSS_ADDR need to be called before entering vcpu\n");
> srcu_read_unlock(&vcpu->kvm->srcu, vcpu->srcu_idx);
> vmx_set_tss_addr(vcpu->kvm, 0xfeffd000);
> vcpu->srcu_idx = srcu_read_lock(&vcpu->kvm->srcu);
> @@ -3557,8 +3553,7 @@ static int init_rmode_identity_map(struct kvm *kvm)
> if (!enable_ept)
> return 1;
> if (unlikely(!kvm->arch.ept_identity_pagetable)) {
> - printk(KERN_ERR "EPT: identity-mapping pagetable "
> - "haven't been allocated!\n");
> + pr_err("EPT: identity-mapping pagetable haven't been allocated!\n");
> return 0;
> }
> if (likely(kvm->arch.ept_identity_pagetable_done))
> @@ -4834,18 +4829,18 @@ static int handle_ept_violation(struct kvm_vcpu *vcpu)
> exit_qualification = vmcs_readl(EXIT_QUALIFICATION);
>
> if (exit_qualification & (1 << 6)) {
> - printk(KERN_ERR "EPT: GPA exceeds GAW!\n");
> + pr_err("EPT: GPA exceeds GAW!\n");
> return -EINVAL;
> }
>
> gla_validity = (exit_qualification >> 7) & 0x3;
> if (gla_validity != 0x3 && gla_validity != 0x1 && gla_validity != 0) {
> - printk(KERN_ERR "EPT: Handling EPT violation failed!\n");
> - printk(KERN_ERR "EPT: GPA: 0x%lx, GVA: 0x%lx\n",
> - (long unsigned int)vmcs_read64(GUEST_PHYSICAL_ADDRESS),
> - vmcs_readl(GUEST_LINEAR_ADDRESS));
> - printk(KERN_ERR "EPT: Exit qualification is 0x%lx\n",
> - (long unsigned int)exit_qualification);
> + pr_err("EPT: Handling EPT violation failed!\n");
> + pr_err("EPT: GPA: 0x%lx, GVA: 0x%lx\n",
> + (long unsigned int)vmcs_read64(GUEST_PHYSICAL_ADDRESS),
> + vmcs_readl(GUEST_LINEAR_ADDRESS));
> + pr_err("EPT: Exit qualification is 0x%lx\n",
> + (long unsigned int)exit_qualification);
> vcpu->run->exit_reason = KVM_EXIT_UNKNOWN;
> vcpu->run->hw.hardware_exit_reason = EXIT_REASON_EPT_VIOLATION;
> return 0;
> @@ -4882,7 +4877,7 @@ static u64 ept_rsvd_mask(u64 spte, int level)
> static void ept_misconfig_inspect_spte(struct kvm_vcpu *vcpu, u64 spte,
> int level)
> {
> - printk(KERN_ERR "%s: spte 0x%llx level %d\n", __func__, spte, level);
> + pr_err("%s: spte 0x%llx level %d\n", __func__, spte, level);
>
> /* 010b (write-only) */
> WARN_ON((spte & 0x7) == 0x2);
> @@ -4899,8 +4894,7 @@ static void ept_misconfig_inspect_spte(struct kvm_vcpu *vcpu, u64 spte,
> u64 rsvd_bits = spte & ept_rsvd_mask(spte, level);
>
> if (rsvd_bits != 0) {
> - printk(KERN_ERR "%s: rsvd_bits = 0x%llx\n",
> - __func__, rsvd_bits);
> + pr_err("%s: rsvd_bits = 0x%llx\n", __func__, rsvd_bits);
> WARN_ON(1);
> }
>
> @@ -4909,8 +4903,8 @@ static void ept_misconfig_inspect_spte(struct kvm_vcpu *vcpu, u64 spte,
>
> if (ept_mem_type == 2 || ept_mem_type == 3 ||
> ept_mem_type == 7) {
> - printk(KERN_ERR "%s: ept_mem_type=0x%llx\n",
> - __func__, ept_mem_type);
> + pr_err("%s: ept_mem_type=0x%llx\n",
> + __func__, ept_mem_type);
> WARN_ON(1);
> }
> }
> @@ -4933,8 +4927,8 @@ static int handle_ept_misconfig(struct kvm_vcpu *vcpu)
> return 1;
>
> /* It is the real ept misconfig */
> - printk(KERN_ERR "EPT: Misconfiguration.\n");
> - printk(KERN_ERR "EPT: GPA: 0x%llx\n", gpa);
> + pr_err("EPT: Misconfiguration\n");
> + pr_err("EPT: GPA: 0x%llx\n", gpa);
>
> nr_sptes = kvm_mmu_get_spte_hierarchy(vcpu, gpa, sptes);
>
> @@ -5976,9 +5970,8 @@ static int vmx_handle_exit(struct kvm_vcpu *vcpu)
> (exit_reason != EXIT_REASON_EXCEPTION_NMI &&
> exit_reason != EXIT_REASON_EPT_VIOLATION &&
> exit_reason != EXIT_REASON_TASK_SWITCH))
> - printk(KERN_WARNING "%s: unexpected, valid vectoring info "
> - "(0x%x) and exit reason is 0x%x\n",
> - __func__, vectoring_info, exit_reason);
> + pr_warn("%s: unexpected, valid vectoring info (0x%x) and exit reason is 0x%x\n",
> + __func__, vectoring_info, exit_reason);
>
> if (unlikely(!cpu_has_virtual_nmis() && vmx->soft_vnmi_blocked &&
> !(is_guest_mode(vcpu) && nested_cpu_has_virtual_nmis(
> @@ -5993,9 +5986,8 @@ static int vmx_handle_exit(struct kvm_vcpu *vcpu)
> * disabled. So we pull the trigger after 1 s of
> * futile waiting, but inform the user about this.
> */
> - printk(KERN_WARNING "%s: Breaking out of NMI-blocked "
> - "state on VCPU %d after 1 s timeout\n",
> - __func__, vcpu->vcpu_id);
> + pr_warn("%s: Breaking out of NMI-blocked state on VCPU %d after 1 s timeout\n",
> + __func__, vcpu->vcpu_id);
> vmx->soft_vnmi_blocked = 0;
> }
> }
> @@ -6459,8 +6451,7 @@ static void __init vmx_check_processor_compat(void *rtn)
> if (setup_vmcs_config(&vmcs_conf) < 0)
> *(int *)rtn = -EIO;
> if (memcmp(&vmcs_config, &vmcs_conf, sizeof(struct vmcs_config)) != 0) {
> - printk(KERN_ERR "kvm: CPU %d feature inconsistency!\n",
> - smp_processor_id());
> + pr_err("CPU %d feature inconsistency!\n", smp_processor_id());
> *(int *)rtn = -EIO;
> }
> }
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index a01a424..0a7eee7 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -19,6 +19,8 @@
> *
> */
>
> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> +
> #include <linux/kvm_host.h>
> #include "irq.h"
> #include "mmu.h"
> @@ -194,7 +196,7 @@ static void shared_msr_update(unsigned slot, u32 msr)
> /* only read, and nobody should modify it at this time,
> * so don't need lock */
> if (slot >= shared_msrs_global.nr) {
> - printk(KERN_ERR "kvm: invalid MSR slot!");
> + pr_err("invalid MSR slot!\n");
> return;
> }
> rdmsrl_safe(msr, &value);
> @@ -1006,7 +1008,8 @@ static void kvm_set_tsc_khz(struct kvm_vcpu *vcpu, u32 this_tsc_khz)
> thresh_lo = adjust_tsc_khz(tsc_khz, -tsc_tolerance_ppm);
> thresh_hi = adjust_tsc_khz(tsc_khz, tsc_tolerance_ppm);
> if (this_tsc_khz < thresh_lo || this_tsc_khz > thresh_hi) {
> - pr_debug("kvm: requested TSC rate %u falls outside tolerance [%u,%u]\n", this_tsc_khz, thresh_lo, thresh_hi);
> + pr_debug("requested TSC rate %u falls outside tolerance [%u,%u]\n",
> + this_tsc_khz, thresh_lo, thresh_hi);
> use_scaling = 1;
> }
> kvm_x86_ops->set_tsc_khz(vcpu, this_tsc_khz, use_scaling);
> @@ -1062,12 +1065,12 @@ void kvm_write_tsc(struct kvm_vcpu *vcpu, u64 data)
> vcpu->arch.virtual_tsc_khz == kvm->arch.last_tsc_khz) {
> if (!check_tsc_unstable()) {
> offset = kvm->arch.cur_tsc_offset;
> - pr_debug("kvm: matched tsc offset for %llu\n", data);
> + pr_debug("matched tsc offset for %llu\n", data);
> } else {
> u64 delta = nsec_to_cycles(vcpu, elapsed);
> data += delta;
> offset = kvm_x86_ops->compute_tsc_offset(vcpu, data);
> - pr_debug("kvm: adjusted tsc offset by %llu\n", delta);
> + pr_debug("adjusted tsc offset by %llu\n", delta);
> }
> } else {
> /*
> @@ -1083,7 +1086,7 @@ void kvm_write_tsc(struct kvm_vcpu *vcpu, u64 data)
> kvm->arch.cur_tsc_nsec = ns;
> kvm->arch.cur_tsc_write = data;
> kvm->arch.cur_tsc_offset = offset;
> - pr_debug("kvm: new tsc generation %u, clock %llu\n",
> + pr_debug("new tsc generation %u, clock %llu\n",
> kvm->arch.cur_tsc_generation, data);
> }
>
> @@ -3967,7 +3970,7 @@ static int emulator_cmpxchg_emulated(struct x86_emulate_ctxt *ctxt,
> return X86EMUL_CONTINUE;
>
> emul_write:
> - printk_once(KERN_WARNING "kvm: emulating exchange as write\n");
> + pr_warn_once("emulating exchange as write\n");
>
> return emulator_write_emulated(ctxt, addr, new, bytes, exception);
> }
> @@ -4802,7 +4805,7 @@ static void kvm_timer_init(void)
> cpufreq_register_notifier(&kvmclock_cpufreq_notifier_block,
> CPUFREQ_TRANSITION_NOTIFIER);
> }
> - pr_debug("kvm: max_tsc_khz = %ld\n", max_tsc_khz);
> + pr_debug("max_tsc_khz = %ld\n", max_tsc_khz);
> for_each_online_cpu(cpu)
> smp_call_function_single(cpu, tsc_khz_changed, NULL, 1);
> }
> @@ -4882,18 +4885,18 @@ int kvm_arch_init(void *opaque)
> struct kvm_x86_ops *ops = (struct kvm_x86_ops *)opaque;
>
> if (kvm_x86_ops) {
> - printk(KERN_ERR "kvm: already loaded the other module\n");
> + pr_err("already loaded the other module\n");
> r = -EEXIST;
> goto out;
> }
>
> if (!ops->cpu_has_kvm_support()) {
> - printk(KERN_ERR "kvm: no hardware support\n");
> + pr_err("no hardware support\n");
> r = -EOPNOTSUPP;
> goto out;
> }
> if (ops->disabled_by_bios()) {
> - printk(KERN_ERR "kvm: disabled by bios\n");
> + pr_err("disabled by bios\n");
> r = -EOPNOTSUPP;
> goto out;
> }
> @@ -5986,9 +5989,7 @@ struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm,
> unsigned int id)
> {
> if (check_tsc_unstable() && atomic_read(&kvm->online_vcpus) != 0)
> - printk_once(KERN_WARNING
> - "kvm: SMP vm created on host with unstable TSC; "
> - "guest TSC will not be reliable\n");
> + pr_warn_once("SMP vm created on host with unstable TSC; guest TSC will not be reliable\n");
> return kvm_x86_ops->vcpu_create(kvm, id);
> }
>
> @@ -6407,9 +6408,7 @@ void kvm_arch_commit_memory_region(struct kvm *kvm,
> ret = vm_munmap(old.userspace_addr,
> old.npages * PAGE_SIZE);
> if (ret < 0)
> - printk(KERN_WARNING
> - "kvm_vm_ioctl_set_memory_region: "
> - "failed to munmap memory\n");
> + pr_warn("%s: failed to munmap memory\n", __func__);
> }
>
> if (!kvm->arch.n_requested_mmu_pages)
> diff --git a/virt/kvm/assigned-dev.c b/virt/kvm/assigned-dev.c
> index 01f572c..e2b8401 100644
> --- a/virt/kvm/assigned-dev.c
> +++ b/virt/kvm/assigned-dev.c
> @@ -8,6 +8,8 @@
> *
> */
>
> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> +
> #include <linux/kvm_host.h>
> #include <linux/kvm.h>
> #include <linux/uaccess.h>
> @@ -50,7 +52,7 @@ static int find_index_from_host_irq(struct kvm_assigned_dev_kernel
> break;
> }
> if (index < 0)
> - printk(KERN_WARNING "Fail to find correlated MSI-X entry!\n");
> + pr_warn("Fail to find correlated MSI-X entry!\n");
>
> return index;
> }
> @@ -270,8 +272,8 @@ static void kvm_free_assigned_device(struct kvm *kvm,
> pci_reset_function(assigned_dev->dev);
> if (pci_load_and_free_saved_state(assigned_dev->dev,
> &assigned_dev->pci_saved_state))
> - printk(KERN_INFO "%s: Couldn't reload %s saved state\n",
> - __func__, dev_name(&assigned_dev->dev->dev));
> + pr_info("%s: Couldn't reload %s saved state\n",
> + __func__, dev_name(&assigned_dev->dev->dev));
> else
> pci_restore_state(assigned_dev->dev);
>
> @@ -653,8 +655,7 @@ static int kvm_vm_ioctl_assign_device(struct kvm *kvm,
>
> match = kzalloc(sizeof(struct kvm_assigned_dev_kernel), GFP_KERNEL);
> if (match == NULL) {
> - printk(KERN_INFO "%s: Couldn't allocate memory\n",
> - __func__);
> + pr_info("%s: Couldn't allocate memory\n", __func__);
> r = -ENOMEM;
> goto out;
> }
> @@ -662,7 +663,7 @@ static int kvm_vm_ioctl_assign_device(struct kvm *kvm,
> assigned_dev->busnr,
> assigned_dev->devfn);
> if (!dev) {
> - printk(KERN_INFO "%s: host device not found\n", __func__);
> + pr_info("%s: host device not found\n", __func__);
> r = -EINVAL;
> goto out_free;
> }
> @@ -679,14 +680,14 @@ static int kvm_vm_ioctl_assign_device(struct kvm *kvm,
> goto out_put;
>
> if (pci_enable_device(dev)) {
> - printk(KERN_INFO "%s: Could not enable PCI device\n", __func__);
> + pr_info("%s: Could not enable PCI device\n", __func__);
> r = -EBUSY;
> goto out_put;
> }
> r = pci_request_regions(dev, "kvm_assigned_device");
> if (r) {
> - printk(KERN_INFO "%s: Could not get access to device regions\n",
> - __func__);
> + pr_info("%s: Could not get access to device regions\n",
> + __func__);
> goto out_disable;
> }
>
> @@ -694,8 +695,8 @@ static int kvm_vm_ioctl_assign_device(struct kvm *kvm,
> pci_save_state(dev);
> match->pci_saved_state = pci_store_saved_state(dev);
> if (!match->pci_saved_state)
> - printk(KERN_DEBUG "%s: Couldn't store %s saved state\n",
> - __func__, dev_name(&dev->dev));
> + pr_debug("%s: Couldn't store %s saved state\n",
> + __func__, dev_name(&dev->dev));
>
> if (!pci_intx_mask_supported(dev))
> assigned_dev->flags &= ~KVM_DEV_ASSIGN_PCI_2_3;
> @@ -729,8 +730,8 @@ out:
> return r;
> out_list_del:
> if (pci_load_and_free_saved_state(dev, &match->pci_saved_state))
> - printk(KERN_INFO "%s: Couldn't reload %s saved state\n",
> - __func__, dev_name(&dev->dev));
> + pr_info("%s: Couldn't reload %s saved state\n",
> + __func__, dev_name(&dev->dev));
> list_del(&match->list);
> pci_release_regions(dev);
> out_disable:
> @@ -755,8 +756,8 @@ static int kvm_vm_ioctl_deassign_device(struct kvm *kvm,
> match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head,
> assigned_dev->assigned_dev_id);
> if (!match) {
> - printk(KERN_INFO "%s: device hasn't been assigned before, "
> - "so cannot be deassigned\n", __func__);
> + pr_info("%s: device hasn't been assigned before, so cannot be deassigned\n",
> + __func__);
> r = -EINVAL;
> goto out;
> }
> diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c
> index 26fd54d..9cdba16 100644
> --- a/virt/kvm/ioapic.c
> +++ b/virt/kvm/ioapic.c
> @@ -27,6 +27,8 @@
> * Based on Xen 3.1 code.
> */
>
> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> +
> #include <linux/kvm_host.h>
> #include <linux/kvm.h>
> #include <linux/mm.h>
> @@ -45,9 +47,15 @@
> #include "irq.h"
>
> #if 0
> -#define ioapic_debug(fmt,arg...) printk(KERN_WARNING fmt,##arg)
> +#define ioapic_debug(fmt, ...) \
> + pr_warn(fmt, ##__VA_ARGS__)
> #else
> -#define ioapic_debug(fmt, arg...)
> +#define ioapic_debug(fmt, ...) \
> +do { \
> + if (0) \
> + pr_warn(fmt, ##__VA_ARGS__); \
> +} while (0)
> +
> #endif
> static int ioapic_deliver(struct kvm_ioapic *vioapic, int irq);
>
> @@ -165,8 +173,7 @@ static int ioapic_deliver(struct kvm_ioapic *ioapic, int irq)
> union kvm_ioapic_redirect_entry *entry = &ioapic->redirtbl[irq];
> struct kvm_lapic_irq irqe;
>
> - ioapic_debug("dest=%x dest_mode=%x delivery_mode=%x "
> - "vector=%x trig_mode=%x\n",
> + ioapic_debug("dest=%x dest_mode=%x delivery_mode=%x vector=%x trig_mode=%x\n",
> entry->fields.dest_id, entry->fields.dest_mode,
> entry->fields.delivery_mode, entry->fields.vector,
> entry->fields.trig_mode);
> @@ -289,7 +296,7 @@ static int ioapic_mmio_read(struct kvm_io_device *this, gpa_t addr, int len,
> if (!ioapic_in_range(ioapic, addr))
> return -EOPNOTSUPP;
>
> - ioapic_debug("addr %lx\n", (unsigned long)addr);
> + ioapic_debug("addr %llx\n", addr);
> ASSERT(!(addr & 0xf)); /* check alignment */
>
> addr &= 0xff;
> @@ -319,7 +326,7 @@ static int ioapic_mmio_read(struct kvm_io_device *this, gpa_t addr, int len,
> memcpy(val, (char *)&result, len);
> break;
> default:
> - printk(KERN_WARNING "ioapic: wrong length %d\n", len);
> + pr_warn("wrong length %d\n", len);
> }
> return 0;
> }
> @@ -332,8 +339,8 @@ static int ioapic_mmio_write(struct kvm_io_device *this, gpa_t addr, int len,
> if (!ioapic_in_range(ioapic, addr))
> return -EOPNOTSUPP;
>
> - ioapic_debug("ioapic_mmio_write addr=%p len=%d val=%p\n",
> - (void*)addr, len, val);
> + ioapic_debug("%s: addr=%llx len=%d val=%p\n",
> + __func__, addr, len, val);
> ASSERT(!(addr & 0xf)); /* check alignment */
>
> switch (len) {
> @@ -348,7 +355,7 @@ static int ioapic_mmio_write(struct kvm_io_device *this, gpa_t addr, int len,
> data = *(u8 *) val;
> break;
> default:
> - printk(KERN_WARNING "ioapic: Unsupported size %d\n", len);
> + pr_warn("Unsupported size %d\n", len);
> return 0;
> }
>
> diff --git a/virt/kvm/ioapic.h b/virt/kvm/ioapic.h
> index 32872a0..acac0a7 100644
> --- a/virt/kvm/ioapic.h
> +++ b/virt/kvm/ioapic.h
> @@ -53,8 +53,8 @@ struct kvm_ioapic {
> #define ASSERT(x) \
> do { \
> if (!(x)) { \
> - printk(KERN_EMERG "assertion failed %s: %d: %s\n", \
> - __FILE__, __LINE__, #x); \
> + pr_emerg("assertion failed %s: %d: %s\n", \
> + __FILE__, __LINE__, #x); \
> BUG(); \
> } \
> } while (0)
> diff --git a/virt/kvm/iommu.c b/virt/kvm/iommu.c
> index e9fff98..dae601f 100644
> --- a/virt/kvm/iommu.c
> +++ b/virt/kvm/iommu.c
> @@ -23,6 +23,8 @@
> * Author: Ben-Ami Yassour <benami@xxxxxxxxxx>
> */
>
> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> +
> #include <linux/list.h>
> #include <linux/kvm_host.h>
> #include <linux/module.h>
> @@ -115,8 +117,8 @@ int kvm_iommu_map_pages(struct kvm *kvm, struct kvm_memory_slot *slot)
> r = iommu_map(domain, gfn_to_gpa(gfn), pfn_to_hpa(pfn),
> page_size, flags);
> if (r) {
> - printk(KERN_ERR "kvm_iommu_map_address:"
> - "iommu failed to map pfn=%llx\n", pfn);
> + pr_err("%s: iommu failed to map pfn=%llx\n",
> + __func__, pfn);
> goto unmap_pages;
> }
>
> @@ -168,7 +170,7 @@ int kvm_assign_device(struct kvm *kvm,
>
> r = iommu_attach_device(domain, &pdev->dev);
> if (r) {
> - printk(KERN_ERR "assign device %x:%x:%x.%x failed",
> + pr_err("assign device %x:%x:%x.%x failed\n",
> pci_domain_nr(pdev->bus),
> pdev->bus->number,
> PCI_SLOT(pdev->devfn),
> @@ -192,11 +194,11 @@ int kvm_assign_device(struct kvm *kvm,
>
> pdev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
>
> - printk(KERN_DEBUG "assign device %x:%x:%x.%x\n",
> - assigned_dev->host_segnr,
> - assigned_dev->host_busnr,
> - PCI_SLOT(assigned_dev->host_devfn),
> - PCI_FUNC(assigned_dev->host_devfn));
> + pr_debug("assign device %x:%x:%x.%x\n",
> + assigned_dev->host_segnr,
> + assigned_dev->host_busnr,
> + PCI_SLOT(assigned_dev->host_devfn),
> + PCI_FUNC(assigned_dev->host_devfn));
>
> return 0;
> out_unmap:
> @@ -222,11 +224,11 @@ int kvm_deassign_device(struct kvm *kvm,
>
> pdev->dev_flags &= ~PCI_DEV_FLAGS_ASSIGNED;
>
> - printk(KERN_DEBUG "deassign device %x:%x:%x.%x\n",
> - assigned_dev->host_segnr,
> - assigned_dev->host_busnr,
> - PCI_SLOT(assigned_dev->host_devfn),
> - PCI_FUNC(assigned_dev->host_devfn));
> + pr_debug("deassign device %x:%x:%x.%x\n",
> + assigned_dev->host_segnr,
> + assigned_dev->host_busnr,
> + PCI_SLOT(assigned_dev->host_devfn),
> + PCI_FUNC(assigned_dev->host_devfn));
>
> return 0;
> }
> @@ -236,7 +238,7 @@ int kvm_iommu_map_guest(struct kvm *kvm)
> int r;
>
> if (!iommu_present(&pci_bus_type)) {
> - printk(KERN_ERR "%s: iommu not found\n", __func__);
> + pr_err("%s: iommu not found\n", __func__);
> return -ENODEV;
> }
>
> @@ -251,10 +253,8 @@ int kvm_iommu_map_guest(struct kvm *kvm)
> if (!allow_unsafe_assigned_interrupts &&
> !iommu_domain_has_cap(kvm->arch.iommu_domain,
> IOMMU_CAP_INTR_REMAP)) {
> - printk(KERN_WARNING "%s: No interrupt remapping support,"
> - " disallowing device assignment."
> - " Re-enble with \"allow_unsafe_assigned_interrupts=1\""
> - " module option.\n", __func__);
> + pr_warn("%s: No interrupt remapping support, disallowing device assignment. Re-enble with \"allow_unsafe_assigned_interrupts=1\" module option.\n",
> + __func__);
> iommu_domain_free(kvm->arch.iommu_domain);
> kvm->arch.iommu_domain = NULL;
> r = -EPERM;
> diff --git a/virt/kvm/irq_comm.c b/virt/kvm/irq_comm.c
> index 5afb431..5728dbb 100644
> --- a/virt/kvm/irq_comm.c
> +++ b/virt/kvm/irq_comm.c
> @@ -20,6 +20,8 @@
> * Copyright 2010 Red Hat, Inc. and/or its affiliates.
> */
>
> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> +
> #include <linux/kvm_host.h>
> #include <linux/slab.h>
> #include <trace/events/kvm.h>
> @@ -86,7 +88,7 @@ int kvm_irq_delivery_to_apic(struct kvm *kvm, struct kvm_lapic *src,
>
> if (irq->dest_mode == 0 && irq->dest_id == 0xff &&
> kvm_is_dm_lowest_prio(irq))
> - printk(KERN_INFO "kvm: apic: phys broadcast and lowest prio\n");
> + pr_info("apic: phys broadcast and lowest prio\n");
>
> kvm_for_each_vcpu(i, vcpu, kvm) {
> if (!kvm_apic_present(vcpu))
> @@ -234,7 +236,7 @@ int kvm_request_irq_source_id(struct kvm *kvm)
> irq_source_id = find_first_zero_bit(bitmap, BITS_PER_LONG);
>
> if (irq_source_id >= BITS_PER_LONG) {
> - printk(KERN_WARNING "kvm: exhaust allocatable IRQ sources!\n");
> + pr_warn("exhaust allocatable IRQ sources!\n");
> irq_source_id = -EFAULT;
> goto unlock;
> }
> @@ -256,7 +258,7 @@ void kvm_free_irq_source_id(struct kvm *kvm, int irq_source_id)
> mutex_lock(&kvm->irq_lock);
> if (irq_source_id < 0 ||
> irq_source_id >= BITS_PER_LONG) {
> - printk(KERN_ERR "kvm: IRQ source ID out of range!\n");
> + pr_err("IRQ source ID out of range!\n");
> goto unlock;
> }
> clear_bit(irq_source_id, &kvm->arch.irq_sources_bitmap);
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index 02cb440..4bd6619 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -16,6 +16,8 @@
> *
> */
>
> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> +
> #include "iodev.h"
>
> #include <linux/kvm_host.h>
> @@ -2304,8 +2306,7 @@ static void hardware_enable_nolock(void *junk)
> if (r) {
> cpumask_clear_cpu(cpu, cpus_hardware_enabled);
> atomic_inc(&hardware_enable_failed);
> - printk(KERN_INFO "kvm: enabling virtualization on "
> - "CPU%d failed\n", cpu);
> + pr_info("enabling virtualization on CPU%d failed\n", cpu);
> }
> }
>
> @@ -2382,13 +2383,11 @@ static int kvm_cpu_hotplug(struct notifier_block *notifier, unsigned long val,
> val &= ~CPU_TASKS_FROZEN;
> switch (val) {
> case CPU_DYING:
> - printk(KERN_INFO "kvm: disabling virtualization on CPU%d\n",
> - cpu);
> + pr_info("disabling virtualization on CPU%d\n", cpu);
> hardware_disable(NULL);
> break;
> case CPU_STARTING:
> - printk(KERN_INFO "kvm: enabling virtualization on CPU%d\n",
> - cpu);
> + pr_info("enabling virtualization on CPU%d\n", cpu);
> hardware_enable(NULL);
> break;
> }
> @@ -2412,7 +2411,7 @@ static int kvm_reboot(struct notifier_block *notifier, unsigned long val,
> *
> * And Intel TXT required VMX off for all cpu when system shutdown.
> */
> - printk(KERN_INFO "kvm: exiting hardware virtualization\n");
> + pr_info("exiting hardware virtualization\n");
> kvm_rebooting = true;
> on_each_cpu(hardware_disable_nolock, NULL, 1);
> return NOTIFY_OK;
> @@ -2800,7 +2799,7 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align,
>
> r = misc_register(&kvm_dev);
> if (r) {
> - printk(KERN_ERR "kvm: misc device register failed\n");
> + pr_err("misc device register failed\n");
> goto out_unreg;
> }
>
> @@ -2811,7 +2810,7 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align,
>
> r = kvm_init_debug();
> if (r) {
> - printk(KERN_ERR "kvm: create debugfs files failed\n");
> + pr_err("create debugfs files failed\n");
> goto out_undebugfs;
> }
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/