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