ppc/pnv: Add initial P9/10 SBE model
commit0bf4d77e5922128506a3495d72ee9f432726c085
authorNicholas Piggin <npiggin@gmail.com>
Thu, 11 Aug 2022 09:37:26 +0000 (11 19:37 +1000)
committerDaniel Henrique Barboza <danielhb413@gmail.com>
Wed, 31 Aug 2022 17:08:05 +0000 (31 14:08 -0300)
tree6a4a33badb3da1dd1d46a17242bd91d84a744587
parent21d3a78ed9cf470f87180db62f7aa1296b7b0ee5
ppc/pnv: Add initial P9/10 SBE model

The SBE (Self Boot Engine) are on-chip microcontrollers that perform
early boot steps, as well as provide some runtime facilities (e.g.,
timer, secure register access, MPIPL). The latter facilities are
accessed mostly via a message system called SBEFIFO.

This driver provides initial emulation for the SBE runtime registers
and a very basic SBEFIFO implementation that provides the timer
command. This covers the basic SBE behaviour expected by skiboot when
booting.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Message-Id: <20220811093726.1442343-1-npiggin@gmail.com>
[danielhb: fixed SBE_HOST_RESPONSE_MASK long line]
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
hw/ppc/meson.build
hw/ppc/pnv.c
hw/ppc/pnv_sbe.c [new file with mode: 0644]
hw/ppc/pnv_xscom.c
hw/ppc/trace-events
include/hw/ppc/pnv.h
include/hw/ppc/pnv_sbe.h [new file with mode: 0644]
include/hw/ppc/pnv_xscom.h