From decad308655edf61094d5d552ab93f9fb2a6d535 Mon Sep 17 00:00:00 2001 From: Anton Fedotov Date: Wed, 14 Apr 2010 07:36:08 +0200 Subject: cortex-a8: more MMU support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + virt2phys() can now convert virtual address to real + read_memory() and write_memory() are renamed to read_phys_memory() and write_phys_memory() + new read_memory() and write_memory() try to resolve real address if mmu is enambled than perform real address reading/writing + if address is bellow 0xc000000 than TTB0 is used for page table dereference, if above - than TTB1. Linux style of user/kernel address separation + if above fails (i.e address is unspecified) than mode is checked whether it is Supervisor (than TTB1) or User (than TTB0) - Software breakpoints doesn't work. You should invoke "gdb_breakpoint_override hard" before you start debugging + cortex_a8_mmu(), cortex_a8_enable_mmu_caches(), cortex_a8_disable_mmu_caches() are implemented Signed-off-by: Øyvind Harboe --- src/target/cortex_a8.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/target/cortex_a8.h') diff --git a/src/target/cortex_a8.h b/src/target/cortex_a8.h index cc2e0090..7e116e49 100644 --- a/src/target/cortex_a8.h +++ b/src/target/cortex_a8.h @@ -72,6 +72,9 @@ struct cortex_a8_common /* Use cortex_a8_read_regs_through_mem for fast register reads */ int fast_reg_read; + /* Flag that helps to resolve what ttb to use: user or kernel */ + int current_address_mode; + struct armv7a_common armv7a_common; }; -- cgit v1.2.3