From 82b5bbd5824b3bfce75868f988011887b012b44f Mon Sep 17 00:00:00 2001 From: Chris Smart Date: Sun, 2 Oct 2016 09:17:21 +1100 Subject: mambo: Advertise available RADIX page sizes This adds a device tree entry which advertises additional support for 2M and 1G pages in a PAPR compliant manner. Without this, the kernel will default to only 4K and 64K page sizes. With this patch, 1G (0x40000000) pages for linear mapping will be used. This can be seen by when checking the output of "Mapping range" in the kernel log: # dmesg |grep "Mapping range" Mapping range 0x0 - 0x100000000 with 0x40000000 Without this patch, the kernel will use 64K (0x10000) instead: # dmesg |grep "Mapping range" Mapping range 0x0 - 0x100000000 with 0x10000 Signed-off-by: Chris Smart Acked-by: Michael Neuling Signed-off-by: Stewart Smith --- external/mambo/skiboot.tcl | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'external/mambo') diff --git a/external/mambo/skiboot.tcl b/external/mambo/skiboot.tcl index 70f0df0..02a5ba9 100644 --- a/external/mambo/skiboot.tcl +++ b/external/mambo/skiboot.tcl @@ -205,8 +205,20 @@ for { set c 0 } { $c < $mconf(cpus) } { incr c } { lappend reg 0x22 0x120 1 0x22 0x0003 ;# 16G seg 16G pages mysim of addprop $cpu_node array "ibm,segment-page-sizes" reg - set reg {} if { $default_config == "P9" } { + # Set actual page size encodings + set reg {} + # 4K pages + lappend reg 0x0000000c + # 64K pages + lappend reg 0xa0000010 + # 2M pages + lappend reg 0x20000015 + # 1G pages + lappend reg 0x4000001e + mysim of addprop $cpu_node array "ibm,processor-radix-AP-encodings" reg + + set reg {} # POWER9 PAPR defines upto bytes 62-63 # header + bytes 0-5 lappend reg 0x4000f63fc70080c0 @@ -226,10 +238,12 @@ for { set c 0 } { $c < $mconf(cpus) } { incr c } { lappend reg 0x8000800080008000 # bytes 62-69 lappend reg 0x8000000000000000 + mysim of addprop $cpu_node array64 "ibm,pa-features" reg } else { + set reg {} lappend reg 0x6000f63fc70080c0 + mysim of addprop $cpu_node array64 "ibm,pa-features" reg } - mysim of addprop $cpu_node array64 "ibm,pa-features" reg set irqreg [list] for { set t 0 } { $t < $mconf(threads) } { incr t } { -- cgit v1.1