linux/arch/powerpc/kvm/book3s_hv_rm_xive.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2#include <linux/kernel.h>
   3#include <linux/kvm_host.h>
   4#include <linux/err.h>
   5#include <linux/kernel_stat.h>
   6#include <linux/pgtable.h>
   7
   8#include <asm/kvm_book3s.h>
   9#include <asm/kvm_ppc.h>
  10#include <asm/hvcall.h>
  11#include <asm/xics.h>
  12#include <asm/debug.h>
  13#include <asm/synch.h>
  14#include <asm/cputhreads.h>
  15#include <asm/ppc-opcode.h>
  16#include <asm/pnv-pci.h>
  17#include <asm/opal.h>
  18#include <asm/smp.h>
  19#include <asm/asm-prototypes.h>
  20#include <asm/xive.h>
  21#include <asm/xive-regs.h>
  22
  23#include "book3s_xive.h"
  24
  25/* XXX */
  26#include <asm/udbg.h>
  27//#define DBG(fmt...) udbg_printf(fmt)
  28#define DBG(fmt...) do { } while(0)
  29
  30static inline void __iomem *get_tima_phys(void)
  31{
  32        return local_paca->kvm_hstate.xive_tima_phys;
  33}
  34
  35#undef XIVE_RUNTIME_CHECKS
  36#define X_PFX xive_rm_
  37#define X_STATIC
  38#define X_STAT_PFX stat_rm_
  39#define __x_tima                get_tima_phys()
  40#define __x_eoi_page(xd)        ((void __iomem *)((xd)->eoi_page))
  41#define __x_trig_page(xd)       ((void __iomem *)((xd)->trig_page))
  42#define __x_writeb      __raw_rm_writeb
  43#define __x_readw       __raw_rm_readw
  44#define __x_readq       __raw_rm_readq
  45#define __x_writeq      __raw_rm_writeq
  46
  47#include "book3s_xive_template.c"
  48