[Top][All Lists]

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

Re: [Qemu-ppc] [PATCH 7/8] PPC: booke206: Check for min/max TLB entry si

From: Alexander Graf
Subject: Re: [Qemu-ppc] [PATCH 7/8] PPC: booke206: Check for min/max TLB entry size
Date: Mon, 23 Jan 2012 18:33:51 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20110221 SUSE/3.1.8 Thunderbird/3.1.8

On 01/23/2012 06:32 PM, Scott Wood wrote:
On 01/20/2012 10:15 PM, Alexander Graf wrote:
@@ -4273,6 +4274,16 @@ void helper_booke206_tlbwe(void)
          tlb->mas1&= ~MAS1_IPROT;

+    /* check that we support the targeted size */
+    size_tlb = (tlb->mas1&  MAS1_TSIZE_MASK)>>  MAS1_TSIZE_SHIFT;
+    size_ps = booke206_tlbnps(env, tlbn);
+    if ((tlb->mas1&  MAS1_VALID)&&  (tlbncfg&  TLBnCFG_AVAIL)&&
+        !(size_ps&  (1<<  size_tlb))) {
+        helper_raise_exception_err(POWERPC_EXCP_PROGRAM,
+                                   POWERPC_EXCP_INVAL |
+                                   POWERPC_EXCP_INVAL_INVAL);
+    }
      if (booke206_tlb_to_page_size(env, tlb) == TARGET_PAGE_SIZE) {
          tlb_flush_page(env, tlb->mas2&  MAS2_EPN_MASK);
      } else {
For tlb0 on e500 and derivatives, tsize is explicitly documented as
ignored.  Software may rely on this.

Yup, that's why there's the check for TLBnCG_AVAIL, which indicates that a TLB has dynamic page size capabilities, which TLB0 does not have.


reply via email to

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