Skip to content
Snippets Groups Projects
  1. Jul 04, 2016
  2. Jul 03, 2016
  3. Jul 01, 2016
  4. Jun 30, 2016
    • Benjamin Herrenschmidt's avatar
      ppc: Fix 64K pages support in full emulation · 4322e8ce
      Benjamin Herrenschmidt authored
      
      We were always advertising only 4K & 16M. Additionally the code wasn't
      properly matching the page size with the PTE content, which meant we
      could potentially hit an incorrect PTE if the guest used multiple sizes.
      
      Finally, honor the CPU capabilities when decoding the size from the SLB
      so we don't try to use 64K pages on 970.
      
      This still doesn't add support for MPSS (Multiple Page Sizes per Segment)
      
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      [clg: fixed checkpatch.pl errors
            commits 61a36c9b and 1114e712 reworked the hpte code
            doing insertion/removal in hw/ppc/spapr_hcall.c. The hunks
            modifying these areas were removed. ]
      Signed-off-by: default avatarCédric Le Goater <clg@kaod.org>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      4322e8ce
    • Aaron Larson's avatar
      target-ppc: Eliminate redundant and incorrect function booke206_page_size_to_tlb · a36848ff
      Aaron Larson authored
      Eliminate redundant and incorrect booke206_page_size_to_tlb function
      from ppce500_spin.c in preference to previously existing but newly
      exported definition from e500.c
      
      Defect analysis:
      
      The booke206_page_size_to_tlb function in e500.c was updated in commit
      2bd9543c "ppc: booke206: use MAV=2.0 TSIZE definition, fix 4G pages" to
      reflect a change in the definition of MAS1_TSIZE_SHIFT from 8
      (corresponding to a min TLB page size of 4kb) to a value of 7 (TLB
      page size 2k).  The booke206_page_size_to_tlb() function defined in
      ppce500_spin.c was never updated to reflect the change in
      MAS1_TSIZE_SHIFT.
      
      In http://lists.nongnu.org/archive/html/qemu-ppc/2016-06/msg00533.html
      
      ,
      Scott Wood suggested this "root cause" explanation:
      
      SW> The patch that changed MAS1_TSIZE_SHIFT from 8 to 7 was around the
      SW> same time as the patch that added this code, which is probably why
      SW> adjusting it got missed.  Commit 2bd9543c did update the
      SW> equivalent code in ppce500_mpc8544ds.c, which now resides in
      SW> hw/ppc/e500.c and has been changed to not assume a power-of-2
      SW> size.  The ppce500_spin version should be eliminated.
      
      Signed-off-by: default avatarAaron Larson <alarson@ddci.com>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      a36848ff
Loading