qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 3/9] arm: add missing v7 cp15 registers


From: Mark Langsdorf
Subject: [Qemu-devel] [PATCH 3/9] arm: add missing v7 cp15 registers
Date: Tue, 20 Dec 2011 13:10:45 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20111124 Thunderbird/8.0

From: Rob Herring <address@hidden>

Signed-off-by: Rob Herring <address@hidden>
Signed-off-by: Mark Langsdorf <address@hidden>

Conflicts:

        target-arm/cpu.h
        target-arm/helper.c
---
 target-arm/cpu.h    |    1 +
 target-arm/helper.c |    7 +++++++
 2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/target-arm/cpu.h b/target-arm/cpu.h
index 129edbb..b89c085 100644
--- a/target-arm/cpu.h
+++ b/target-arm/cpu.h
@@ -152,6 +152,7 @@ typedef struct CPUARMState {
         uint32_t c15_i_max; /* Maximum D-cache dirty line index.  */
         uint32_t c15_i_min; /* Minimum D-cache dirty line index.  */
         uint32_t c15_threadid; /* TI debugger thread-ID.  */
+        uint32_t c15_scubase; /* SCU base address.  */
     } cp15;

     struct {
diff --git a/target-arm/helper.c b/target-arm/helper.c
index 816c4c4..37110bc 100644
--- a/target-arm/helper.c
+++ b/target-arm/helper.c
@@ -2197,6 +2197,13 @@ uint32_t HELPER(get_cp15)(CPUState *env, uint32_t insn)
              * 0x200 << ($rn & 0xfff), when MMU is off.  */
             goto bad_reg;
         }
+        if (ARM_CPUID(env) == ARM_CPUID_CORTEXA9) {
+            switch (crm) {
+            case 0:
+                return env->cp15.c15_scubase;
+            }
+            goto bad_reg;
+        }
         return 0;
     }
 bad_reg:
--
1.7.5.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]