[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 3/3] x86/shadow: drop dead code from HVM-only sh_page_fault() pieces
The shadow_mode_refcounts() check immediately ahead of the "emulate" label renders redundant two subsequent is_hvm_domain() checks (the latter of which was already redundant with the former). Also guest_mode() checks are pointless when we already know we're dealing with a HVM domain. Finally style-adjust a comment which otherwise would be fully visible as patch context anyway. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- v2: New, split off from earlier patch. --- a/xen/arch/x86/mm/shadow/multi.c +++ b/xen/arch/x86/mm/shadow/multi.c @@ -2594,8 +2594,6 @@ static int cf_check sh_page_fault( if ( p2mt == p2m_mmio_dm ) { ASSERT(is_hvm_vcpu(v)); - if ( !guest_mode(regs) ) - goto not_a_shadow_fault; sh_audit_gw(v, &gw); gpa = guest_walk_to_gpa(&gw); @@ -2647,7 +2645,7 @@ static int cf_check sh_page_fault( return EXCRET_fault_fixed; emulate: - if ( !shadow_mode_refcounts(d) || !guest_mode(regs) ) + if ( !shadow_mode_refcounts(d) ) goto not_a_shadow_fault; #ifdef CONFIG_HVM @@ -2672,16 +2670,11 @@ static int cf_check sh_page_fault( * caught by user-mode page-table check above. */ emulate_readonly: - if ( !is_hvm_domain(d) ) - { - ASSERT_UNREACHABLE(); - goto not_a_shadow_fault; - } - - /* Unshadow if we are writing to a toplevel pagetable that is - * flagged as a dying process, and that is not currently used. */ - if ( sh_mfn_is_a_page_table(gmfn) && is_hvm_domain(d) && - mfn_to_page(gmfn)->pagetable_dying ) + /* + * Unshadow if we are writing to a toplevel pagetable that is + * flagged as a dying process, and that is not currently used. + */ + if ( sh_mfn_is_a_page_table(gmfn) && mfn_to_page(gmfn)->pagetable_dying ) { int used = 0; struct vcpu *tmp;
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |