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

Michael Neuling mikey at neuling.org
Tue Oct 11 16:50:49 AEDT 2016


On Sun, 2016-10-02 at 09:17 +1100, Chris Smart wrote:
> 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>

Acked-by: Michael Neuling <mikey at neuling.org>

> ---
> 
> Changes since v3:
>  - split inline comments out
> 
>  external/mambo/skiboot.tcl | 18 ++++++++++++++++--
>  1 file changed, 16 insertions(+), 2 deletions(-)
> 
> diff --git a/external/mambo/skiboot.tcl b/external/mambo/skiboot.tcl
> index e9aea028edcc..f9d92f626c9d 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 } {


More information about the Skiboot mailing list