Merge remote-tracking branch 'jliu/or32' into staging
# By Sebastian Macke # Via Jia Liu * jliu/or32: target-openrisc: Removes a non-conforming behavior for the first page of the memory target-openrisc: Correct handling of page faults. Message-id: 1380789702-18935-1-git-send-email-proljc@gmail.com Signed-off-by: Anthony Liguori <aliguori@amazon.com>
This commit is contained in:
commit
ded77da3cd
@ -102,7 +102,7 @@ int cpu_openrisc_get_phys_data(OpenRISCCPU *cpu,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((rw & 0) && ((right & PAGE_READ) == 0)) {
|
if (!(rw & 1) && ((right & PAGE_READ) == 0)) {
|
||||||
return TLBRET_BADADDR;
|
return TLBRET_BADADDR;
|
||||||
}
|
}
|
||||||
if ((rw & 1) && ((right & PAGE_WRITE) == 0)) {
|
if ((rw & 1) && ((right & PAGE_WRITE) == 0)) {
|
||||||
@ -122,13 +122,6 @@ static int cpu_openrisc_get_phys_addr(OpenRISCCPU *cpu,
|
|||||||
{
|
{
|
||||||
int ret = TLBRET_MATCH;
|
int ret = TLBRET_MATCH;
|
||||||
|
|
||||||
/* [0x0000--0x2000]: unmapped */
|
|
||||||
if (address < 0x2000 && (cpu->env.sr & SR_SM)) {
|
|
||||||
*physical = address;
|
|
||||||
*prot = PAGE_READ | PAGE_WRITE;
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (rw == 2) { /* ITLB */
|
if (rw == 2) { /* ITLB */
|
||||||
*physical = 0;
|
*physical = 0;
|
||||||
ret = cpu->env.tlb->cpu_openrisc_map_address_code(cpu, physical,
|
ret = cpu->env.tlb->cpu_openrisc_map_address_code(cpu, physical,
|
||||||
|
Loading…
Reference in New Issue
Block a user