/[gxemul]/trunk/src/cpus/memory_fast_v2h.c
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/src/cpus/memory_fast_v2h.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 19 by dpavlin, Mon Oct 8 16:18:51 2007 UTC revision 20 by dpavlin, Mon Oct 8 16:19:23 2007 UTC
# Line 25  Line 25 
25   *  SUCH DAMAGE.   *  SUCH DAMAGE.
26   *   *
27   *   *
28   *  $Id: memory_fast_v2h.c,v 1.1 2005/08/29 14:36:42 debug Exp $   *  $Id: memory_fast_v2h.c,v 1.2 2005/11/13 00:14:07 debug Exp $
29   *   *
30   *  Fast virtual memory to host address, used by binary translated code.   *  Fast virtual memory to host address, used by binary translated code.
31   */   */
# Line 143  if ((vaddr & 0xc0000000ULL) >= 0xc000000 Line 143  if ((vaddr & 0xc0000000ULL) >= 0xc000000
143                  if (paddr >= (cpu->mem->dev_baseaddr[i] & ~0xfff) &&                  if (paddr >= (cpu->mem->dev_baseaddr[i] & ~0xfff) &&
144                      paddr <= ((cpu->mem->dev_baseaddr[i] +                      paddr <= ((cpu->mem->dev_baseaddr[i] +
145                      cpu->mem->dev_length[i] - 1) | 0xfff)) {                      cpu->mem->dev_length[i] - 1) | 0xfff)) {
146                          if (cpu->mem->dev_flags[i] & MEM_DYNTRANS_OK) {                          if (cpu->mem->dev_flags[i] & DM_DYNTRANS_OK) {
147                                  paddr -= cpu->mem->dev_baseaddr[i];                                  paddr -= cpu->mem->dev_baseaddr[i];
148    
149                                  /*  Within a device _page_ but not within the                                  /*  Within a device _page_ but not within the
# Line 156  if ((vaddr & 0xc0000000ULL) >= 0xc000000 Line 156  if ((vaddr & 0xc0000000ULL) >= 0xc000000
156                                          uint64_t low_paddr = paddr & ~0xfff;                                          uint64_t low_paddr = paddr & ~0xfff;
157                                          uint64_t high_paddr = paddr | 0xfff;                                          uint64_t high_paddr = paddr | 0xfff;
158                                          if (!(cpu->mem->dev_flags[i] &                                          if (!(cpu->mem->dev_flags[i] &
159                                              MEM_DYNTRANS_WRITE_OK))                                              DM_DYNTRANS_WRITE_OK))
160                                                  return NULL;                                                  return NULL;
161    
162                                          if (low_paddr < cpu->mem->                                          if (low_paddr < cpu->mem->

Legend:
Removed from v.19  
changed lines
  Added in v.20

  ViewVC Help
Powered by ViewVC 1.1.26