Revision c2f07f81 exec.c

b/exec.c
1003 1003
#if defined(TARGET_HAS_ICE)
1004 1004
static void breakpoint_invalidate(CPUState *env, target_ulong pc)
1005 1005
{
1006
    target_ulong phys_addr;
1006
    target_ulong addr, pd;
1007
    ram_addr_t ram_addr;
1008
    PhysPageDesc *p;
1007 1009

  
1008
    phys_addr = cpu_get_phys_page_debug(env, pc);
1009
    tb_invalidate_phys_page_range(phys_addr, phys_addr + 1, 0);
1010
    addr = cpu_get_phys_page_debug(env, pc);
1011
    p = phys_page_find(addr >> TARGET_PAGE_BITS);
1012
    if (!p) {
1013
        pd = IO_MEM_UNASSIGNED;
1014
    } else {
1015
        pd = p->phys_offset;
1016
    }
1017
    ram_addr = (pd & TARGET_PAGE_MASK) | (pc & ~TARGET_PAGE_MASK);
1018
    tb_invalidate_ram_page_range(ram_addr, ram_addr + 1, 0);
1010 1019
}
1011 1020
#endif
1012 1021

  

Also available in: Unified diff