Line 63... |
Line 63... |
|
|
/* It returns physical address. */
|
/* It returns physical address. */
|
inline unsigned long translate_vrt_to_phy_add(unsigned long virtaddr, int write_access)
|
inline unsigned long translate_vrt_to_phy_add(unsigned long virtaddr, int write_access)
|
{
|
{
|
if (config.ic.tagtype == CT_NONE)
|
if (config.ic.tagtype == CT_NONE)
|
return virtaddr;
|
return immu_translate(virtaddr, write_access);
|
else
|
else
|
if (config.ic.tagtype == CT_VIRTUAL) {
|
if (config.ic.tagtype == CT_VIRTUAL) {
|
return immu_translate(virtaddr, write_access);
|
return immu_translate(virtaddr, write_access);
|
}
|
}
|
else if (config.dc.tagtype == CT_PHYSICAL) {
|
else if (config.dc.tagtype == CT_PHYSICAL) {
|
Line 107... |
Line 107... |
for physically indexed data cache. It returns physical address. */
|
for physically indexed data cache. It returns physical address. */
|
|
|
unsigned long simulate_dc_mmu_load(unsigned long virtaddr)
|
unsigned long simulate_dc_mmu_load(unsigned long virtaddr)
|
{
|
{
|
if (config.dc.tagtype == CT_NONE)
|
if (config.dc.tagtype == CT_NONE)
|
return virtaddr;
|
return dmmu_translate(virtaddr, 0);
|
else
|
else
|
if (config.dc.tagtype == CT_VIRTUAL) {
|
if (config.dc.tagtype == CT_VIRTUAL) {
|
dc_simulate_read(virtaddr);
|
dc_simulate_read(virtaddr);
|
return dmmu_translate(virtaddr, 0);
|
return dmmu_translate(virtaddr, 0);
|
}
|
}
|
Line 133... |
Line 133... |
for physically indexed data cache. It returns physical address. */
|
for physically indexed data cache. It returns physical address. */
|
|
|
unsigned long simulate_dc_mmu_store(unsigned long virtaddr)
|
unsigned long simulate_dc_mmu_store(unsigned long virtaddr)
|
{
|
{
|
if (config.dc.tagtype == CT_NONE)
|
if (config.dc.tagtype == CT_NONE)
|
return virtaddr;
|
return dmmu_translate(virtaddr, 0);
|
else
|
else
|
if (config.dc.tagtype == CT_VIRTUAL) {
|
if (config.dc.tagtype == CT_VIRTUAL) {
|
dc_simulate_write(virtaddr);
|
dc_simulate_write(virtaddr);
|
return dmmu_translate(virtaddr, 1);
|
return dmmu_translate(virtaddr, 1);
|
}
|
}
|