xemu/target-ppc
David Gibson 57d0a39d98 mmu-hash64: Factor SLB N bit into permissions bits
BEHAVIOUR CHANGE

Currently, for 64-bit hash mmu, the execute protection bit placed into the
qemu tlb is based only on the N (No execute) bit from the PTE.  However,
No Execute can also be set at the segment level.  We do check this on
execute faults, but this still means we could incorrectly allow execution
of code from a No Execute segment, if a prior read or write fault caused
the page to be loaded into the qemu tlb with PROT_EXEC set.

To correct this, we (re-)check the segment level no execute permission when
generating the protection bits for the qemu tlb.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-03-22 15:28:52 +01:00
..
cpu-models.c target-ppc: Remove vestigial PowerPC 620 support 2013-03-22 15:28:46 +01:00
cpu-models.h target-ppc: Move CPU aliases out of translate_init.c 2013-03-08 21:04:53 +01:00
cpu-qom.h cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
cpu.h mmu-hash*: Add header file for definitions 2013-03-22 15:28:48 +01:00
excp_helper.c cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
fpu_helper.c PPC/GDB: handle read and write of fpscr 2013-03-22 15:28:46 +01:00
helper_regs.h cpu: Move halted and interrupt_request fields to CPUState 2013-03-12 10:35:55 +01:00
helper.h target-ppc: Remove vestigial PowerPC 620 support 2013-03-22 15:28:46 +01:00
int_helper.c target-ppc: Split out SO, OV, CA fields from XER 2013-02-23 17:25:30 +00:00
kvm_ppc.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
kvm_ppc.h PPC: KVM: Add support for EPR with KVM 2013-01-18 19:06:57 +01:00
kvm.c mmu-hash*: Add header file for definitions 2013-03-22 15:28:48 +01:00
machine.c target-ppc: Remove vestigial PowerPC 620 support 2013-03-22 15:28:46 +01:00
Makefile.objs target-ppc: Disentangle pte_check() 2013-03-22 15:28:47 +01:00
mem_helper.c PPC: Unify dcbzl code path 2013-02-01 01:52:02 +01:00
mfrom_table_gen.c fix spelling in target sub directory 2011-12-02 10:50:57 +00:00
mfrom_table.c find -type f | xargs sed -i 's/[\t ]$//g' # on most files 2007-09-16 21:08:06 +00:00
misc_helper.c target-ppc: Remove vestigial PowerPC 620 support 2013-03-22 15:28:46 +01:00
mmu_helper.c target-ppc: mmu_ctx_t should not be a global type 2013-03-22 15:28:48 +01:00
mmu-hash32.c mmu-hash*: Clean up permission checking 2013-03-22 15:28:52 +01:00
mmu-hash32.h mmu-hash32: Clean up BAT matching logic 2013-03-22 15:28:51 +01:00
mmu-hash64.c mmu-hash64: Factor SLB N bit into permissions bits 2013-03-22 15:28:52 +01:00
mmu-hash64.h mmu-hash*: Separate PTEG searching from permissions checking 2013-03-22 15:28:50 +01:00
STATUS Fix typos in comments (chek -> check) 2011-05-22 22:31:45 +01:00
timebase_helper.c ppc: Avoid AREG0 for timebase helpers 2012-06-24 01:04:43 +02:00
translate_init.c target-ppc: Remove vestigial PowerPC 620 support 2013-03-22 15:28:46 +01:00
translate.c target-ppc: Remove vestigial PowerPC 620 support 2013-03-22 15:28:46 +01:00