Changeset 18662 in vbox for trunk/src/recompiler_new/exec.c
- Timestamp:
- Apr 2, 2009 6:35:32 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 45589
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/recompiler_new/exec.c
r18611 r18662 493 493 pd[i].phys_offset = IO_MEM_UNASSIGNED; 494 494 } 495 #if defined(VBOX) && !defined(VBOX_WITH_NEW_PHYS_CODE)496 pd = ((PhysPageDesc *)pd) + (index & (L2_SIZE - 1));497 if (RT_UNLIKELY((pd->phys_offset & ~TARGET_PAGE_MASK) == IO_MEM_RAM_MISSING))498 remR3GrowDynRange(pd->phys_offset & TARGET_PAGE_MASK);499 return pd;500 #else501 495 return ((PhysPageDesc *)pd) + (index & (L2_SIZE - 1)); 502 #endif503 496 } 504 497 … … 2121 2114 start1 = start + (unsigned long)phys_ram_base; 2122 2115 #else 2123 start1 = (unsigned long)remR3TlbGCPhys2Ptr(first_cpu, start, 1 /*fWritable*/); /** @todo this can be harmful with VBOX_WITH_NEW_PHYS_CODE, fix interface/whatever. */2116 start1 = (unsigned long)remR3TlbGCPhys2Ptr(first_cpu, start, 1 /*fWritable*/); /** @todo page replacing (sharing or read only) may cause trouble, fix interface/whatever. */ 2124 2117 #endif 2125 2118 for(env = first_cpu; env != NULL; env = env->next_cpu) { … … 2709 2702 } else { 2710 2703 p->phys_offset = phys_offset; 2711 #if !defined(VBOX) || defined(VBOX_WITH_NEW_PHYS_CODE)2712 2704 if ((phys_offset & ~TARGET_PAGE_MASK) <= IO_MEM_ROM || 2713 2705 (phys_offset & IO_MEM_ROMD)) 2714 #else2715 if ( (phys_offset & ~TARGET_PAGE_MASK) <= IO_MEM_ROM2716 || (phys_offset & IO_MEM_ROMD)2717 || (phys_offset & ~TARGET_PAGE_MASK) == IO_MEM_RAM_MISSING)2718 #endif2719 2706 phys_offset += TARGET_PAGE_SIZE; 2720 2707 } … … 2722 2709 p = phys_page_find_alloc(addr >> TARGET_PAGE_BITS, 1); 2723 2710 p->phys_offset = phys_offset; 2724 #if !defined(VBOX) || defined(VBOX_WITH_NEW_PHYS_CODE)2725 2711 if ((phys_offset & ~TARGET_PAGE_MASK) <= IO_MEM_ROM || 2726 2712 (phys_offset & IO_MEM_ROMD)) 2727 #else2728 if ( (phys_offset & ~TARGET_PAGE_MASK) <= IO_MEM_ROM2729 || (phys_offset & IO_MEM_ROMD)2730 || (phys_offset & ~TARGET_PAGE_MASK) == IO_MEM_RAM_MISSING)2731 #endif2732 2713 phys_offset += TARGET_PAGE_SIZE; 2733 2714 else { … … 3237 3218 cpu_register_io_memory(IO_MEM_UNASSIGNED >> IO_MEM_SHIFT, unassigned_mem_read, unassigned_mem_write, NULL); 3238 3219 cpu_register_io_memory(IO_MEM_NOTDIRTY >> IO_MEM_SHIFT, error_mem_read, notdirty_mem_write, NULL); 3239 #if defined(VBOX) && !defined(VBOX_WITH_NEW_PHYS_CODE)3240 cpu_register_io_memory(IO_MEM_RAM_MISSING >> IO_MEM_SHIFT, unassigned_mem_read, unassigned_mem_write, NULL);3241 io_mem_nb = 6;3242 #else3243 3220 io_mem_nb = 5; 3244 #endif3245 3221 3246 3222 io_mem_watch = cpu_register_io_memory(0, watch_mem_read,
Note:
See TracChangeset
for help on using the changeset viewer.