[Skiboot] [PATCH] v3 mambo: Advertise available RADIX page sizes

Chris Smart chris at distroguy.com
Sun Oct 2 09:07:28 AEDT 2016


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 <chris at distroguy.com>
---

Changes since v2:
 - add signed off by

 external/mambo/skiboot.tcl | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/external/mambo/skiboot.tcl b/external/mambo/skiboot.tcl
index e9aea028edcc..a92bf336de9d 100644
--- a/external/mambo/skiboot.tcl
+++ b/external/mambo/skiboot.tcl
@@ -205,8 +205,16 @@ 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 {}
+        lappend reg 0x0000000c # 4K pages
+        lappend reg 0xa0000010 # 64K pages
+        lappend reg 0x20000015 # 2M pages
+        lappend reg 0x4000001e # 1G pages
+        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 +234,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 } {
-- 
2.9.3



More information about the Skiboot mailing list