Skip to content

Commit

Permalink
powerpc/pseries: lift RTAS limit for hash
Browse files Browse the repository at this point in the history
With the previous patch to switch to 64-bit mode after returning from
RTAS and before doing any memory accesses, the RMA limit need not be
clamped to 1GB to avoid RTAS bugs.

Keep the 1GB limit for older firmware (although this is more of a kernel
concern than RTAS), and remove it starting with POWER9.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
  • Loading branch information
Nicholas Piggin authored and Michael Ellerman committed Jan 17, 2018
1 parent 5eae82c commit c610d65
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions arch/powerpc/mm/hash_utils_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -1853,11 +1853,13 @@ void hash__setup_initial_memory_limit(phys_addr_t first_memblock_base,
* non-virtualized 64-bit hash MMU systems don't have a limitation
* on real mode access.
*
* We also clamp it to 1G to avoid some funky things
* such as RTAS bugs etc...
* For guests on platforms before POWER9, we clamp the it limit to 1G
* to avoid some funky things such as RTAS bugs etc...
*/
if (!early_cpu_has_feature(CPU_FTR_HVMODE)) {
ppc64_rma_size = min_t(u64, first_memblock_size, 0x40000000);
ppc64_rma_size = first_memblock_size;
if (!early_cpu_has_feature(CPU_FTR_ARCH_300))
ppc64_rma_size = min_t(u64, ppc64_rma_size, 0x40000000);

/* Finally limit subsequent allocations */
memblock_set_current_limit(ppc64_rma_size);
Expand Down

0 comments on commit c610d65

Please sign in to comment.