diff options
author | Sebastian Macke | 2013-10-03 10:04:46 +0200 |
---|---|---|
committer | Jia Liu | 2013-10-03 10:24:24 +0200 |
commit | bf961b52785061e1802214c9e03a1c65b261f7c1 (patch) | |
tree | 0ed12ff58f420a4741bd5e807a3f214abe33ab4b /target-openrisc | |
parent | Merge remote-tracking branch 'kraxel/seabios-1.7.3.2' into staging (diff) | |
download | qemu-bf961b52785061e1802214c9e03a1c65b261f7c1.tar.gz qemu-bf961b52785061e1802214c9e03a1c65b261f7c1.tar.xz qemu-bf961b52785061e1802214c9e03a1c65b261f7c1.zip |
target-openrisc: Correct handling of page faults.
The result of (rw & 0) is always zero and therefore a logic false.
The whole comparison will therefore never be executed, it is a obvious bug,
we should use !(rw & 1) here.
Signed-off-by: Sebastian Macke <sebastian@macke.de>
Reviewed-by: Jia Liu <proljc@gmail.com>
Diffstat (limited to 'target-openrisc')
-rw-r--r-- | target-openrisc/mmu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/target-openrisc/mmu.c b/target-openrisc/mmu.c index 57f5616e9c..323a173a82 100644 --- a/target-openrisc/mmu.c +++ b/target-openrisc/mmu.c @@ -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; } if ((rw & 1) && ((right & PAGE_WRITE) == 0)) { |