aboutsummaryrefslogtreecommitdiff
path: root/external/mambo
diff options
context:
space:
mode:
authorChris Smart <chris@distroguy.com>2016-10-02 09:17:21 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-10-17 10:34:00 +1100
commit82b5bbd5824b3bfce75868f988011887b012b44f (patch)
tree055a4b1d3f981289d7ce6eccefa78b0d26003110 /external/mambo
parent50ba5801a97fccd38d0248a95aa34dea05aa783a (diff)
downloadskiboot-82b5bbd5824b3bfce75868f988011887b012b44f.zip
skiboot-82b5bbd5824b3bfce75868f988011887b012b44f.tar.gz
skiboot-82b5bbd5824b3bfce75868f988011887b012b44f.tar.bz2
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 <chris@distroguy.com> Acked-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'external/mambo')
-rw-r--r--external/mambo/skiboot.tcl18
1 files changed, 16 insertions, 2 deletions
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 } {