Revision 5c16736a target-sh4/helper.c
b/target-sh4/helper.c | ||
---|---|---|
439 | 439 |
if (address >= 0x80000000 && address < 0xc0000000) { |
440 | 440 |
/* Mask upper 3 bits for P1 and P2 areas */ |
441 | 441 |
*physical = address & 0x1fffffff; |
442 |
} else if (address >= 0xfd000000 && address < 0xfe000000) { |
|
443 |
/* PCI memory space */ |
|
444 |
*physical = address; |
|
445 |
} else if (address >= 0xfc000000) { |
|
446 |
/* |
|
447 |
* Mask upper 3 bits for control registers in P4 area, |
|
448 |
* to unify access to control registers via P0-P3 area. |
|
449 |
* The addresses for cache store queue, TLB address array |
|
450 |
* are not masked. |
|
451 |
*/ |
|
452 |
*physical = address & 0x1fffffff; |
|
453 | 442 |
} else { |
454 |
/* access to cache store queue, or TLB address array. */ |
|
455 | 443 |
*physical = address; |
456 | 444 |
} |
457 | 445 |
*prot = PAGE_READ | PAGE_WRITE; |
Also available in: Unified diff