[SLOF] [PATCH slof] rtas: Move FWNMI log space reservation to QEMU
Greg Kurz
groug at kaod.org
Tue Mar 17 03:04:43 AEDT 2020
On Mon, 16 Mar 2020 13:29:02 +1100
Alexey Kardashevskiy <aik at ozlabs.ru> wrote:
> This reverts commit 674d0d0cf66d4 ("rtas: Reserve space for FWNMI log")
> which expanded the RTAS blob size to match the QEMU expectation about
> the RTAS area available for FWNMI logs.
>
> Instead, it relies on QEMU passing the "rtas-size" property and passes it
> through untouched. This adds a check that QEMU allocated enough for
> RTAS blob. This adds a fallback to the default 20 bytes "rtas-size" if
> none specified by QEMU.
>
> Signed-off-by: Alexey Kardashevskiy <aik at ozlabs.ru>
> ---
LGTM
Reviewed-by: Greg Kurz <groug at kaod.org>
> board-qemu/slof/rtas.fs | 9 ++++++++-
> lib/libhvcall/hvcall.S | 9 ---------
> 2 files changed, 8 insertions(+), 10 deletions(-)
>
> diff --git a/board-qemu/slof/rtas.fs b/board-qemu/slof/rtas.fs
> index 90efe602f5d7..6d8090fe6f9f 100644
> --- a/board-qemu/slof/rtas.fs
> +++ b/board-qemu/slof/rtas.fs
> @@ -153,7 +153,14 @@ rtas-node set-node
> ;
>
> hv-rtas-get
> -dup encode-int s" rtas-size" s" /rtas" find-node set-property
> +s" rtas-size" rtas-node get-property
> +IF
> + dup encode-int s" rtas-size" rtas-node set-property
> +ELSE
> + decode-int nip nip
> + over 2dup < IF ." No enough space for RTAS: " . . cr abort THEN
> + 2drop
> +THEN
> to rtas-size
> to rtas-base
>
> diff --git a/lib/libhvcall/hvcall.S b/lib/libhvcall/hvcall.S
> index 9f23624d3add..b19f6dbeff2c 100644
> --- a/lib/libhvcall/hvcall.S
> +++ b/lib/libhvcall/hvcall.S
> @@ -134,13 +134,6 @@ ENTRY(hv_rtas)
> ori r3,r3,KVMPPC_H_RTAS at l
> HVCALL
> blr
> - /*
> - * A space reserved for a RTAS log from Firmware Assisted
> - * Non-Maskable Interrupts Option (FWNMI) feature.
> - *
> - * The QEMU implementation uses 0x30..0x800 for the log.
> - */
> - .space 2048 - (. - hv_rtas)
> .globl hv_rtas_size
> hv_rtas_size:
> .long . - hv_rtas;
> @@ -151,8 +144,6 @@ ENTRY(hv_rtas_broken_sc1)
> ori r3,r3,KVMPPC_H_RTAS at l
> .long 0x7c000268
> blr
> - /* See the FWNMI note above */
> - .space 2048 - (. - hv_rtas_broken_sc1)
> .globl hv_rtas_broken_sc1_size
> hv_rtas_broken_sc1_size:
> .long . - hv_rtas_broken_sc1;
More information about the SLOF
mailing list