[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 2/4] x86/shadow: Drop shadow_mode_trap_reads()
This was never actually implemented, and is confusing coverity. Coverity CID 1090354 Signed-off-by: Tim Deegan <tim@xxxxxxx> --- xen/arch/x86/mm/shadow/multi.c | 30 ++++-------------------------- xen/include/asm-x86/shadow.h | 4 ---- 2 files changed, 4 insertions(+), 30 deletions(-) diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c index 3d35537..5c7a7ac 100644 --- a/xen/arch/x86/mm/shadow/multi.c +++ b/xen/arch/x86/mm/shadow/multi.c @@ -692,21 +692,7 @@ _sh_propagate(struct vcpu *v, && (ft == ft_demand_write)) #endif /* OOS */ ) ) - { - if ( shadow_mode_trap_reads(d) ) - { - // if we are trapping both reads & writes, then mark this page - // as not present... - // - sflags &= ~_PAGE_PRESENT; - } - else - { - // otherwise, just prevent any writes... - // - sflags &= ~_PAGE_RW; - } - } + sflags &= ~_PAGE_RW; // PV guests in 64-bit mode use two different page tables for user vs // supervisor permissions, making the guest's _PAGE_USER bit irrelevant. @@ -3181,18 +3167,10 @@ static int sh_page_fault(struct vcpu *v, && !(mfn_is_out_of_sync(gmfn) && !(regs->error_code & PFEC_user_mode)) #endif - ) + && (ft == ft_demand_write) ) { - if ( ft == ft_demand_write ) - { - perfc_incr(shadow_fault_emulate_write); - goto emulate; - } - else if ( shadow_mode_trap_reads(d) && ft == ft_demand_read ) - { - perfc_incr(shadow_fault_emulate_read); - goto emulate; - } + perfc_incr(shadow_fault_emulate_write); + goto emulate; } /* Need to hand off device-model MMIO to the device model */ diff --git a/xen/include/asm-x86/shadow.h b/xen/include/asm-x86/shadow.h index 348915e..f40cab4 100644 --- a/xen/include/asm-x86/shadow.h +++ b/xen/include/asm-x86/shadow.h @@ -44,10 +44,6 @@ #define shadow_mode_external(_d) (paging_mode_shadow(_d) && \ paging_mode_external(_d)) -/* Xen traps & emulates all reads of all page table pages: - * not yet supported */ -#define shadow_mode_trap_reads(_d) ({ (void)(_d); 0; }) - /***************************************************************************** * Entry points into the shadow code */ -- 1.8.5.2 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |