The declaration of function kvm_mips_complete_mmio_load has only one formal parameter,but two parameters are passed when called. So, the following error is seen while building emulate.c arch/mips/kvm/emulate.c: In function ‘kvm_mips_emulate_load’: arch/mips/kvm/emulate.c:2130:3: error: too many arguments to function ‘kvm_mips_complete_mmio_load’ kvm_mips_complete_mmio_load(vcpu, run); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from linux/include/linux/kvm_host.h:36, from linux/arch/mips/kvm/emulate.c:15: arch/mips/include/asm/kvm_host.h:1072:30: note: declared here extern enum emulation_result kvm_mips_complete_mmio_load(struct kvm_vcpu *vcpu); Signed-off-by: Peng Wu <wupeng58@xxxxxxxxxx> --- arch/mips/kvm/emulate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/mips/kvm/emulate.c b/arch/mips/kvm/emulate.c index 1d41965..7037823 100644 --- a/arch/mips/kvm/emulate.c +++ b/arch/mips/kvm/emulate.c @@ -2127,7 +2127,7 @@ enum emulation_result kvm_mips_emulate_load(union mips_instruction inst, run->mmio.phys_addr, run->mmio.len, run->mmio.data); if (!r) { - kvm_mips_complete_mmio_load(vcpu, run); + kvm_mips_complete_mmio_load(vcpu); vcpu->mmio_needed = 0; return EMULATE_DONE; } -- 2.7.4