From patchwork Wed Jun 21 15:12:30 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Cooper X-Patchwork-Id: 9802163 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 46A906038C for ; Wed, 21 Jun 2017 15:15:38 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 365AC285C7 for ; Wed, 21 Jun 2017 15:15:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2AFA0285EC; Wed, 21 Jun 2017 15:15:38 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id E2FDF285E3 for ; Wed, 21 Jun 2017 15:15:36 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dNhJj-0004ZV-IR; Wed, 21 Jun 2017 15:13:15 +0000 Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dNhJh-0004XH-Pp for xen-devel@lists.xen.org; Wed, 21 Jun 2017 15:13:13 +0000 Received: from [85.158.139.211] by server-10.bemta-5.messagelabs.com id 52/2B-01734-90D8A495; Wed, 21 Jun 2017 15:13:13 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpjkeJIrShJLcpLzFFi42JxWrohUpej1yv SYPYFZYslHxezODB6HN39mymAMYo1My8pvyKBNaNpywzmgv59jBVrOj6zNjDObGfsYuTkkBDw l3i97xsriM0moC+x+8UnJhBbREBd4nTHRaA4BwezgJ/EoQe+IGFhgUiJpuUT2UBsFgFViTsv3 oPZvAKeEo8azrFCjJSTOH/8JzOIzSngJbFv0SywVUJANffbPzBB2GoS1/ovsUP0CkqcnPmEBc RmFpCQOPjiBfMERt5ZSFKzkKQWMDKtYtQoTi0qSy3SNbLQSyrKTM8oyU3MzNE1NDDVy00tLk5 MT81JTCrWS87P3cQIDJ96BgbGHYx9q/wOMUpyMCmJ8pZ7e0UK8SXlp1RmJBZnxBeV5qQWH2KU 4eBQkuA92g2UEyxKTU+tSMvMAQYyTFqCg0dJhHdLO1Cat7ggMbc4Mx0idYpRUUqctxOkTwAkk VGaB9cGi55LjLJSwryMDAwMQjwFqUW5mSWo8q8YxTkYlYR5r4BM4cnMK4Gb/gpoMRPQ4hdHPE AWlyQipKQaGEN563PjkvsyrrQzvtHtdb241tJjr8GZigdT7VrOFs27+DT8YNHOxLMTbrSvfJZ U6FAzoy17V9uvYOGIzXdmuRz9q/SfUVJNbPaU6IB66xesOusmV262LvVtfJ2u+aJRp2Op+9YK luPKvRfbjDrbWT9Yn971RrzlQJq4c7Po1aa9Ml+C9FoilFiKMxINtZiLihMBDcDfF5kCAAA= X-Env-Sender: prvs=338940b9e=Andrew.Cooper3@citrix.com X-Msg-Ref: server-6.tower-206.messagelabs.com!1498057989!104247787!2 X-Originating-IP: [66.165.176.89] X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n, received_headers: No Received headers X-StarScan-Received: X-StarScan-Version: 9.4.19; banners=-,-,- X-VirusChecked: Checked Received: (qmail 57559 invoked from network); 21 Jun 2017 15:13:11 -0000 Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89) by server-6.tower-206.messagelabs.com with RC4-SHA encrypted SMTP; 21 Jun 2017 15:13:11 -0000 X-IronPort-AV: E=Sophos;i="5.39,369,1493683200"; d="scan'208";a="428832067" From: Andrew Cooper To: Xen-devel Date: Wed, 21 Jun 2017 16:12:30 +0100 Message-ID: <1498057952-13556-5-git-send-email-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1498057952-13556-1-git-send-email-andrew.cooper3@citrix.com> References: <1498057952-13556-1-git-send-email-andrew.cooper3@citrix.com> MIME-Version: 1.0 Cc: Andrew Cooper , Jan Beulich Subject: [Xen-devel] [PATCH 4/6] [RFC] x86/hvm: Rename enum hvm_copy_result to hvm_translation_result X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Andrew Cooper Acked-by: Jan Beulich --- CC: Jan Beulich Name definitely open to improvement. Perhaps better considered in the context of the following patch. --- xen/arch/x86/hvm/dom0_build.c | 2 +- xen/arch/x86/hvm/emulate.c | 40 ++++++++++++++-------------- xen/arch/x86/hvm/hvm.c | 56 +++++++++++++++++++-------------------- xen/arch/x86/hvm/intercept.c | 20 +++++++------- xen/arch/x86/hvm/svm/nestedsvm.c | 5 ++-- xen/arch/x86/hvm/svm/svm.c | 2 +- xen/arch/x86/hvm/viridian.c | 2 +- xen/arch/x86/hvm/vmsi.c | 2 +- xen/arch/x86/hvm/vmx/realmode.c | 2 +- xen/arch/x86/hvm/vmx/vvmx.c | 14 +++++----- xen/arch/x86/mm/shadow/common.c | 12 ++++----- xen/common/libelf/libelf-loader.c | 4 +-- xen/include/asm-x86/hvm/support.h | 40 ++++++++++++++-------------- 13 files changed, 101 insertions(+), 100 deletions(-) diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c index 020c355..e8f746c 100644 --- a/xen/arch/x86/hvm/dom0_build.c +++ b/xen/arch/x86/hvm/dom0_build.c @@ -238,7 +238,7 @@ static int __init pvh_setup_vmx_realmode_helpers(struct domain *d) if ( !pvh_steal_ram(d, HVM_VM86_TSS_SIZE, 128, GB(4), &gaddr) ) { if ( hvm_copy_to_guest_phys(gaddr, NULL, HVM_VM86_TSS_SIZE, v) != - HVMCOPY_okay ) + HVMTRANS_okay ) printk("Unable to zero VM86 TSS area\n"); d->arch.hvm_domain.params[HVM_PARAM_VM86_TSS_SIZED] = VM86_TSS_UPDATED | ((uint64_t)HVM_VM86_TSS_SIZE << 32) | gaddr; diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c index 495e312..384ad0b 100644 --- a/xen/arch/x86/hvm/emulate.c +++ b/xen/arch/x86/hvm/emulate.c @@ -100,7 +100,7 @@ static int ioreq_server_read(const struct hvm_io_handler *io_handler, uint32_t size, uint64_t *data) { - if ( hvm_copy_from_guest_phys(data, addr, size) != HVMCOPY_okay ) + if ( hvm_copy_from_guest_phys(data, addr, size) != HVMTRANS_okay ) return X86EMUL_UNHANDLEABLE; return X86EMUL_OKAY; @@ -892,18 +892,18 @@ static int __hvmemul_read( switch ( rc ) { - case HVMCOPY_okay: + case HVMTRANS_okay: break; - case HVMCOPY_bad_gva_to_gfn: + case HVMTRANS_bad_linear_to_gfn: x86_emul_pagefault(pfinfo.ec, pfinfo.linear, &hvmemul_ctxt->ctxt); return X86EMUL_EXCEPTION; - case HVMCOPY_bad_gfn_to_mfn: + case HVMTRANS_bad_gfn_to_mfn: if ( access_type == hvm_access_insn_fetch ) return X86EMUL_UNHANDLEABLE; return hvmemul_linear_mmio_read(addr, bytes, p_data, pfec, hvmemul_ctxt, 0); - case HVMCOPY_gfn_paged_out: - case HVMCOPY_gfn_shared: + case HVMTRANS_gfn_paged_out: + case HVMTRANS_gfn_shared: return X86EMUL_RETRY; default: return X86EMUL_UNHANDLEABLE; @@ -1011,15 +1011,15 @@ static int hvmemul_write( switch ( rc ) { - case HVMCOPY_okay: + case HVMTRANS_okay: break; - case HVMCOPY_bad_gva_to_gfn: + case HVMTRANS_bad_linear_to_gfn: x86_emul_pagefault(pfinfo.ec, pfinfo.linear, &hvmemul_ctxt->ctxt); return X86EMUL_EXCEPTION; - case HVMCOPY_bad_gfn_to_mfn: + case HVMTRANS_bad_gfn_to_mfn: return hvmemul_linear_mmio_write(addr, bytes, p_data, pfec, hvmemul_ctxt, 0); - case HVMCOPY_gfn_paged_out: - case HVMCOPY_gfn_shared: + case HVMTRANS_gfn_paged_out: + case HVMTRANS_gfn_shared: return X86EMUL_RETRY; default: return X86EMUL_UNHANDLEABLE; @@ -1383,7 +1383,7 @@ static int hvmemul_rep_movs( return rc; } - rc = HVMCOPY_okay; + rc = HVMTRANS_okay; } else /* @@ -1393,16 +1393,16 @@ static int hvmemul_rep_movs( */ rc = hvm_copy_from_guest_phys(buf, sgpa, bytes); - if ( rc == HVMCOPY_okay ) + if ( rc == HVMTRANS_okay ) rc = hvm_copy_to_guest_phys(dgpa, buf, bytes, current); xfree(buf); - if ( rc == HVMCOPY_gfn_paged_out ) + if ( rc == HVMTRANS_gfn_paged_out ) return X86EMUL_RETRY; - if ( rc == HVMCOPY_gfn_shared ) + if ( rc == HVMTRANS_gfn_shared ) return X86EMUL_RETRY; - if ( rc != HVMCOPY_okay ) + if ( rc != HVMTRANS_okay ) { gdprintk(XENLOG_WARNING, "Failed memory-to-memory REP MOVS: sgpa=%" PRIpaddr" dgpa=%"PRIpaddr" reps=%lu bytes_per_rep=%u\n", @@ -1512,10 +1512,10 @@ static int hvmemul_rep_stos( switch ( rc ) { - case HVMCOPY_gfn_paged_out: - case HVMCOPY_gfn_shared: + case HVMTRANS_gfn_paged_out: + case HVMTRANS_gfn_shared: return X86EMUL_RETRY; - case HVMCOPY_okay: + case HVMTRANS_okay: return X86EMUL_OKAY; } @@ -2171,7 +2171,7 @@ void hvm_emulate_init_per_insn( &addr) && hvm_fetch_from_guest_linear(hvmemul_ctxt->insn_buf, addr, sizeof(hvmemul_ctxt->insn_buf), - pfec, NULL) == HVMCOPY_okay) ? + pfec, NULL) == HVMTRANS_okay) ? sizeof(hvmemul_ctxt->insn_buf) : 0; } else diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index 3ed6ec4..c822d3b 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -2918,9 +2918,9 @@ void hvm_task_switch( rc = hvm_copy_from_guest_linear( &tss, prev_tr.base, sizeof(tss), PFEC_page_present, &pfinfo); - if ( rc == HVMCOPY_bad_gva_to_gfn ) + if ( rc == HVMTRANS_bad_linear_to_gfn ) hvm_inject_page_fault(pfinfo.ec, pfinfo.linear); - if ( rc != HVMCOPY_okay ) + if ( rc != HVMTRANS_okay ) goto out; eflags = regs->eflags; @@ -2958,20 +2958,20 @@ void hvm_task_switch( offsetof(typeof(tss), trace) - offsetof(typeof(tss), eip), PFEC_page_present, &pfinfo); - if ( rc == HVMCOPY_bad_gva_to_gfn ) + if ( rc == HVMTRANS_bad_linear_to_gfn ) hvm_inject_page_fault(pfinfo.ec, pfinfo.linear); - if ( rc != HVMCOPY_okay ) + if ( rc != HVMTRANS_okay ) goto out; rc = hvm_copy_from_guest_linear( &tss, tr.base, sizeof(tss), PFEC_page_present, &pfinfo); - if ( rc == HVMCOPY_bad_gva_to_gfn ) + if ( rc == HVMTRANS_bad_linear_to_gfn ) hvm_inject_page_fault(pfinfo.ec, pfinfo.linear); /* - * Note: The HVMCOPY_gfn_shared case could be optimised, if the callee + * Note: The HVMTRANS_gfn_shared case could be optimised, if the callee * functions knew we want RO access. */ - if ( rc != HVMCOPY_okay ) + if ( rc != HVMTRANS_okay ) goto out; new_cpl = tss.eflags & X86_EFLAGS_VM ? 3 : tss.cs & 3; @@ -3013,12 +3013,12 @@ void hvm_task_switch( rc = hvm_copy_to_guest_linear(tr.base + offsetof(typeof(tss), back_link), &tss.back_link, sizeof(tss.back_link), 0, &pfinfo); - if ( rc == HVMCOPY_bad_gva_to_gfn ) + if ( rc == HVMTRANS_bad_linear_to_gfn ) { hvm_inject_page_fault(pfinfo.ec, pfinfo.linear); exn_raised = 1; } - else if ( rc != HVMCOPY_okay ) + else if ( rc != HVMTRANS_okay ) goto out; } @@ -3054,12 +3054,12 @@ void hvm_task_switch( { rc = hvm_copy_to_guest_linear(linear_addr, &errcode, opsz, 0, &pfinfo); - if ( rc == HVMCOPY_bad_gva_to_gfn ) + if ( rc == HVMTRANS_bad_linear_to_gfn ) { hvm_inject_page_fault(pfinfo.ec, pfinfo.linear); exn_raised = 1; } - else if ( rc != HVMCOPY_okay ) + else if ( rc != HVMTRANS_okay ) goto out; } } @@ -3076,7 +3076,7 @@ void hvm_task_switch( #define HVMCOPY_to_guest (1u<<0) #define HVMCOPY_phys (0u<<2) #define HVMCOPY_linear (1u<<2) -static enum hvm_copy_result __hvm_copy( +static enum hvm_translation_result __hvm_copy( void *buf, paddr_t addr, int size, struct vcpu *v, unsigned int flags, uint32_t pfec, pagefault_info_t *pfinfo) { @@ -3101,7 +3101,7 @@ static enum hvm_copy_result __hvm_copy( * Hence we bail immediately if called from atomic context. */ if ( in_atomic() ) - return HVMCOPY_unhandleable; + return HVMTRANS_unhandleable; #endif while ( todo > 0 ) @@ -3116,15 +3116,15 @@ static enum hvm_copy_result __hvm_copy( if ( gfn == gfn_x(INVALID_GFN) ) { if ( pfec & PFEC_page_paged ) - return HVMCOPY_gfn_paged_out; + return HVMTRANS_gfn_paged_out; if ( pfec & PFEC_page_shared ) - return HVMCOPY_gfn_shared; + return HVMTRANS_gfn_shared; if ( pfinfo ) { pfinfo->linear = addr; pfinfo->ec = pfec & ~PFEC_implicit; } - return HVMCOPY_bad_gva_to_gfn; + return HVMTRANS_bad_linear_to_gfn; } gpa |= (paddr_t)gfn << PAGE_SHIFT; } @@ -3142,28 +3142,28 @@ static enum hvm_copy_result __hvm_copy( if ( v == current && is_hvm_vcpu(v) && !nestedhvm_vcpu_in_guestmode(v) && hvm_mmio_internal(gpa) ) - return HVMCOPY_bad_gfn_to_mfn; + return HVMTRANS_bad_gfn_to_mfn; page = get_page_from_gfn(v->domain, gfn, &p2mt, P2M_UNSHARE); if ( !page ) - return HVMCOPY_bad_gfn_to_mfn; + return HVMTRANS_bad_gfn_to_mfn; if ( p2m_is_paging(p2mt) ) { put_page(page); p2m_mem_paging_populate(v->domain, gfn); - return HVMCOPY_gfn_paged_out; + return HVMTRANS_gfn_paged_out; } if ( p2m_is_shared(p2mt) ) { put_page(page); - return HVMCOPY_gfn_shared; + return HVMTRANS_gfn_shared; } if ( p2m_is_grant(p2mt) ) { put_page(page); - return HVMCOPY_unhandleable; + return HVMTRANS_unhandleable; } p = (char *)__map_domain_page(page) + (addr & ~PAGE_MASK); @@ -3201,24 +3201,24 @@ static enum hvm_copy_result __hvm_copy( put_page(page); } - return HVMCOPY_okay; + return HVMTRANS_okay; } -enum hvm_copy_result hvm_copy_to_guest_phys( +enum hvm_translation_result hvm_copy_to_guest_phys( paddr_t paddr, void *buf, int size, struct vcpu *v) { return __hvm_copy(buf, paddr, size, v, HVMCOPY_to_guest | HVMCOPY_phys, 0, NULL); } -enum hvm_copy_result hvm_copy_from_guest_phys( +enum hvm_translation_result hvm_copy_from_guest_phys( void *buf, paddr_t paddr, int size) { return __hvm_copy(buf, paddr, size, current, HVMCOPY_from_guest | HVMCOPY_phys, 0, NULL); } -enum hvm_copy_result hvm_copy_to_guest_linear( +enum hvm_translation_result hvm_copy_to_guest_linear( unsigned long addr, void *buf, int size, uint32_t pfec, pagefault_info_t *pfinfo) { @@ -3227,7 +3227,7 @@ enum hvm_copy_result hvm_copy_to_guest_linear( PFEC_page_present | PFEC_write_access | pfec, pfinfo); } -enum hvm_copy_result hvm_copy_from_guest_linear( +enum hvm_translation_result hvm_copy_from_guest_linear( void *buf, unsigned long addr, int size, uint32_t pfec, pagefault_info_t *pfinfo) { @@ -3236,7 +3236,7 @@ enum hvm_copy_result hvm_copy_from_guest_linear( PFEC_page_present | pfec, pfinfo); } -enum hvm_copy_result hvm_fetch_from_guest_linear( +enum hvm_translation_result hvm_fetch_from_guest_linear( void *buf, unsigned long addr, int size, uint32_t pfec, pagefault_info_t *pfinfo) { @@ -3673,7 +3673,7 @@ void hvm_ud_intercept(struct cpu_user_regs *regs) sizeof(sig), hvm_access_insn_fetch, cs, &addr) && (hvm_fetch_from_guest_linear(sig, addr, sizeof(sig), - walk, NULL) == HVMCOPY_okay) && + walk, NULL) == HVMTRANS_okay) && (memcmp(sig, "\xf\xbxen", sizeof(sig)) == 0) ) { regs->rip += sizeof(sig); diff --git a/xen/arch/x86/hvm/intercept.c b/xen/arch/x86/hvm/intercept.c index e51efd5..ef82419 100644 --- a/xen/arch/x86/hvm/intercept.c +++ b/xen/arch/x86/hvm/intercept.c @@ -136,14 +136,14 @@ int hvm_process_io_intercept(const struct hvm_io_handler *handler, switch ( hvm_copy_to_guest_phys(p->data + step * i, &data, p->size, current) ) { - case HVMCOPY_okay: + case HVMTRANS_okay: break; - case HVMCOPY_bad_gfn_to_mfn: + case HVMTRANS_bad_gfn_to_mfn: /* Drop the write as real hardware would. */ continue; - case HVMCOPY_bad_gva_to_gfn: - case HVMCOPY_gfn_paged_out: - case HVMCOPY_gfn_shared: + case HVMTRANS_bad_linear_to_gfn: + case HVMTRANS_gfn_paged_out: + case HVMTRANS_gfn_shared: ASSERT_UNREACHABLE(); /* fall through */ default: @@ -164,14 +164,14 @@ int hvm_process_io_intercept(const struct hvm_io_handler *handler, switch ( hvm_copy_from_guest_phys(&data, p->data + step * i, p->size) ) { - case HVMCOPY_okay: + case HVMTRANS_okay: break; - case HVMCOPY_bad_gfn_to_mfn: + case HVMTRANS_bad_gfn_to_mfn: data = ~0; break; - case HVMCOPY_bad_gva_to_gfn: - case HVMCOPY_gfn_paged_out: - case HVMCOPY_gfn_shared: + case HVMTRANS_bad_linear_to_gfn: + case HVMTRANS_gfn_paged_out: + case HVMTRANS_gfn_shared: ASSERT_UNREACHABLE(); /* fall through */ default: diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c index 8fd9c23..66a1777 100644 --- a/xen/arch/x86/hvm/svm/nestedsvm.c +++ b/xen/arch/x86/hvm/svm/nestedsvm.c @@ -357,7 +357,7 @@ static int nsvm_vmrun_permissionmap(struct vcpu *v, bool_t viopm) struct vmcb_struct *host_vmcb = arch_svm->vmcb; unsigned long *ns_msrpm_ptr; unsigned int i; - enum hvm_copy_result ret; + enum hvm_translation_result ret; unsigned long *ns_viomap; bool_t ioport_80 = 1, ioport_ed = 1; @@ -365,7 +365,8 @@ static int nsvm_vmrun_permissionmap(struct vcpu *v, bool_t viopm) ret = hvm_copy_from_guest_phys(svm->ns_cached_msrpm, ns_vmcb->_msrpm_base_pa, MSRPM_SIZE); - if (ret != HVMCOPY_okay) { + if ( ret != HVMTRANS_okay ) + { gdprintk(XENLOG_ERR, "hvm_copy_from_guest_phys msrpm %u\n", ret); return 1; } diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index 402e815..93cfdd7 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -1268,7 +1268,7 @@ static void svm_emul_swint_injection(struct x86_event *event) PFEC_implicit, &pfinfo); if ( rc ) { - if ( rc == HVMCOPY_bad_gva_to_gfn ) + if ( rc == HVMTRANS_bad_linear_to_gfn ) { fault = TRAP_page_fault; ec = pfinfo.ec; diff --git a/xen/arch/x86/hvm/viridian.c b/xen/arch/x86/hvm/viridian.c index aa9b87c..0c74fa4 100644 --- a/xen/arch/x86/hvm/viridian.c +++ b/xen/arch/x86/hvm/viridian.c @@ -914,7 +914,7 @@ int viridian_hypercall(struct cpu_user_regs *regs) /* Get input parameters. */ if ( hvm_copy_from_guest_phys(&input_params, input_params_gpa, - sizeof(input_params)) != HVMCOPY_okay ) + sizeof(input_params)) != HVMTRANS_okay ) break; /* diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c index a36692c..7415cdd 100644 --- a/xen/arch/x86/hvm/vmsi.c +++ b/xen/arch/x86/hvm/vmsi.c @@ -610,7 +610,7 @@ void msix_write_completion(struct vcpu *v) if ( desc && hvm_copy_from_guest_phys(&data, v->arch.hvm_vcpu.hvm_io.msix_snoop_gpa, - sizeof(data)) == HVMCOPY_okay && + sizeof(data)) == HVMTRANS_okay && !(data & PCI_MSIX_VECTOR_BITMASK) ) ctrl_address = snoop_addr; } diff --git a/xen/arch/x86/hvm/vmx/realmode.c b/xen/arch/x86/hvm/vmx/realmode.c index 1996b1f..bd749f4 100644 --- a/xen/arch/x86/hvm/vmx/realmode.c +++ b/xen/arch/x86/hvm/vmx/realmode.c @@ -40,7 +40,7 @@ static void realmode_deliver_exception( last_byte = (vector * 4) + 3; if ( idtr->limit < last_byte || hvm_copy_from_guest_phys(&cs_eip, idtr->base + vector * 4, 4) != - HVMCOPY_okay ) + HVMTRANS_okay ) { /* Software interrupt? */ if ( insn_len != 0 ) diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c index 3560fae..3feb46c 100644 --- a/xen/arch/x86/hvm/vmx/vvmx.c +++ b/xen/arch/x86/hvm/vmx/vvmx.c @@ -479,9 +479,9 @@ static int decode_vmx_inst(struct cpu_user_regs *regs, int rc = hvm_copy_from_guest_linear(poperandS, base, size, 0, &pfinfo); - if ( rc == HVMCOPY_bad_gva_to_gfn ) + if ( rc == HVMTRANS_bad_linear_to_gfn ) hvm_inject_page_fault(pfinfo.ec, pfinfo.linear); - if ( rc != HVMCOPY_okay ) + if ( rc != HVMTRANS_okay ) return X86EMUL_EXCEPTION; } decode->mem = base; @@ -1453,7 +1453,7 @@ int nvmx_handle_vmxon(struct cpu_user_regs *regs) } rc = hvm_copy_from_guest_phys(&nvmcs_revid, gpa, sizeof(nvmcs_revid)); - if ( rc != HVMCOPY_okay || + if ( rc != HVMTRANS_okay || (nvmcs_revid & ~VMX_BASIC_REVISION_MASK) || ((nvmcs_revid ^ vmx_basic_msr) & VMX_BASIC_REVISION_MASK) ) { @@ -1731,9 +1731,9 @@ int nvmx_handle_vmptrst(struct cpu_user_regs *regs) gpa = nvcpu->nv_vvmcxaddr; rc = hvm_copy_to_guest_linear(decode.mem, &gpa, decode.len, 0, &pfinfo); - if ( rc == HVMCOPY_bad_gva_to_gfn ) + if ( rc == HVMTRANS_bad_linear_to_gfn ) hvm_inject_page_fault(pfinfo.ec, pfinfo.linear); - if ( rc != HVMCOPY_okay ) + if ( rc != HVMTRANS_okay ) return X86EMUL_EXCEPTION; vmsucceed(regs); @@ -1820,9 +1820,9 @@ int nvmx_handle_vmread(struct cpu_user_regs *regs) switch ( decode.type ) { case VMX_INST_MEMREG_TYPE_MEMORY: rc = hvm_copy_to_guest_linear(decode.mem, &value, decode.len, 0, &pfinfo); - if ( rc == HVMCOPY_bad_gva_to_gfn ) + if ( rc == HVMTRANS_bad_linear_to_gfn ) hvm_inject_page_fault(pfinfo.ec, pfinfo.linear); - if ( rc != HVMCOPY_okay ) + if ( rc != HVMTRANS_okay ) return X86EMUL_EXCEPTION; break; case VMX_INST_MEMREG_TYPE_REG: diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c index deea03a..fd70147 100644 --- a/xen/arch/x86/mm/shadow/common.c +++ b/xen/arch/x86/mm/shadow/common.c @@ -196,16 +196,16 @@ hvm_read(enum x86_segment seg, switch ( rc ) { - case HVMCOPY_okay: + case HVMTRANS_okay: return X86EMUL_OKAY; - case HVMCOPY_bad_gva_to_gfn: + case HVMTRANS_bad_linear_to_gfn: x86_emul_pagefault(pfinfo.ec, pfinfo.linear, &sh_ctxt->ctxt); return X86EMUL_EXCEPTION; - case HVMCOPY_bad_gfn_to_mfn: - case HVMCOPY_unhandleable: + case HVMTRANS_bad_gfn_to_mfn: + case HVMTRANS_unhandleable: return X86EMUL_UNHANDLEABLE; - case HVMCOPY_gfn_paged_out: - case HVMCOPY_gfn_shared: + case HVMTRANS_gfn_paged_out: + case HVMTRANS_gfn_shared: return X86EMUL_RETRY; } diff --git a/xen/common/libelf/libelf-loader.c b/xen/common/libelf/libelf-loader.c index c8b7ec9..0f46872 100644 --- a/xen/common/libelf/libelf-loader.c +++ b/xen/common/libelf/libelf-loader.c @@ -154,10 +154,10 @@ static elf_errorstatus elf_memcpy(struct vcpu *v, void *dst, void *src, #ifdef CONFIG_X86 if ( is_hvm_vcpu(v) ) { - enum hvm_copy_result rc; + enum hvm_translation_result rc; rc = hvm_copy_to_guest_phys((paddr_t)dst, src, size, v); - return rc != HVMCOPY_okay ? -1 : 0; + return rc != HVMTRANS_okay ? -1 : 0; } #endif diff --git a/xen/include/asm-x86/hvm/support.h b/xen/include/asm-x86/hvm/support.h index 8a1252b..a1799a3 100644 --- a/xen/include/asm-x86/hvm/support.h +++ b/xen/include/asm-x86/hvm/support.h @@ -53,23 +53,23 @@ extern unsigned int opt_hvm_debug_level; extern unsigned long hvm_io_bitmap[]; -enum hvm_copy_result { - HVMCOPY_okay = 0, - HVMCOPY_bad_gva_to_gfn, - HVMCOPY_bad_gfn_to_mfn, - HVMCOPY_unhandleable, - HVMCOPY_gfn_paged_out, - HVMCOPY_gfn_shared, +enum hvm_translation_result { + HVMTRANS_okay, + HVMTRANS_bad_linear_to_gfn, + HVMTRANS_bad_gfn_to_mfn, + HVMTRANS_unhandleable, + HVMTRANS_gfn_paged_out, + HVMTRANS_gfn_shared, }; /* * Copy to/from a guest physical address. - * Returns HVMCOPY_okay, else HVMCOPY_bad_gfn_to_mfn if the given physical + * Returns HVMTRANS_okay, else HVMTRANS_bad_gfn_to_mfn if the given physical * address range does not map entirely onto ordinary machine memory. */ -enum hvm_copy_result hvm_copy_to_guest_phys( +enum hvm_translation_result hvm_copy_to_guest_phys( paddr_t paddr, void *buf, int size, struct vcpu *v); -enum hvm_copy_result hvm_copy_from_guest_phys( +enum hvm_translation_result hvm_copy_from_guest_phys( void *buf, paddr_t paddr, int size); /* @@ -79,13 +79,13 @@ enum hvm_copy_result hvm_copy_from_guest_phys( * to set them. * * Returns: - * HVMCOPY_okay: Copy was entirely successful. - * HVMCOPY_bad_gfn_to_mfn: Some guest physical address did not map to - * ordinary machine memory. - * HVMCOPY_bad_gva_to_gfn: Some guest virtual address did not have a valid - * mapping to a guest physical address. The - * pagefault_info_t structure will be filled in if - * provided. + * HVMTRANS_okay: Copy was entirely successful. + * HVMTRANS_bad_gfn_to_mfn: Some guest physical address did not map to + * ordinary machine memory. + * HVMTRANS_bad_linear_to_gfn: Some guest linear address did not have a + * valid mapping to a guest physical address. + * The pagefault_info_t structure will be filled + * in if provided. */ typedef struct pagefault_info { @@ -93,13 +93,13 @@ typedef struct pagefault_info int ec; } pagefault_info_t; -enum hvm_copy_result hvm_copy_to_guest_linear( +enum hvm_translation_result hvm_copy_to_guest_linear( unsigned long addr, void *buf, int size, uint32_t pfec, pagefault_info_t *pfinfo); -enum hvm_copy_result hvm_copy_from_guest_linear( +enum hvm_translation_result hvm_copy_from_guest_linear( void *buf, unsigned long addr, int size, uint32_t pfec, pagefault_info_t *pfinfo); -enum hvm_copy_result hvm_fetch_from_guest_linear( +enum hvm_translation_result hvm_fetch_from_guest_linear( void *buf, unsigned long addr, int size, uint32_t pfec, pagefault_info_t *pfinfo);