[Nouveau] [PATCH v3 00/11] nouveau: add secure boot support for dGPU and Tegra
Alexandre Courbot
acourbot at nvidia.com
Wed Feb 24 05:42:13 UTC 2016
New version of the secure boot code that works with the blobs just merged into
linux-firmware. Since the required Mesa patches are also merged, this set is
the last piece of the puzzle to get out-of-the-box accelerated Maxwell 2.
The basic code remains the same, with a few improvements with respect to how
secure falcons are started. Hopefully the patchset is better split too.
I have a work-in-progress to further split the secboot subdev and handle other
format differences that future chips are likely to introduce, but this current
code should be good for Maxwell 2 chips.
I hope to get this merged in time for 4.6, so please let me know quickly of
any required changes!
Changes since v2:
- Works with final firmware in linux-firmware
- Use func structure in secboot to abstract differences between dGPU and Tegra
- Better management of firmware loading in GR
- Abstract the way secure falcons are started
- Add MODULE_FIRMWARE statements
- ... plenty of small fixes
Alexandre Courbot (11):
core: add gpuobj memcpy helper functions
gr/gk20a: move firmware bundle release to gf100
gr/gf100: load firmware in outer function
gr/gk20a: simplify external bundle loading functions
gr/gk20a: share external bundles loading functions
gr/gm200: load external firmware and bundles
core: add support for secure boot
gr/gf100: add support for securely-managed falcons
gr/gm200: do not load firmware for secure falcons
secboot/gm200: add secure-boot support
secboot/gm20b: add secure boot support
drm/nouveau/include/nvkm/core/device.h | 3 +
drm/nouveau/include/nvkm/core/gpuobj.h | 4 +
drm/nouveau/include/nvkm/subdev/secboot.h | 59 ++
drm/nouveau/nvkm/core/gpuobj.c | 20 +
drm/nouveau/nvkm/core/subdev.c | 1 +
drm/nouveau/nvkm/engine/device/base.c | 5 +
drm/nouveau/nvkm/engine/device/priv.h | 1 +
drm/nouveau/nvkm/engine/gr/gf100.c | 65 +-
drm/nouveau/nvkm/engine/gr/gf100.h | 16 +-
drm/nouveau/nvkm/engine/gr/gk20a.c | 181 ++--
drm/nouveau/nvkm/engine/gr/gm200.c | 49 +-
drm/nouveau/nvkm/engine/gr/gm206.c | 2 +-
drm/nouveau/nvkm/engine/gr/gm20b.c | 12 +-
drm/nouveau/nvkm/subdev/Kbuild | 1 +
drm/nouveau/nvkm/subdev/secboot/Kbuild | 3 +
drm/nouveau/nvkm/subdev/secboot/base.c | 296 ++++++
drm/nouveau/nvkm/subdev/secboot/gm200.c | 1485 +++++++++++++++++++++++++++++
drm/nouveau/nvkm/subdev/secboot/gm20b.c | 233 +++++
drm/nouveau/nvkm/subdev/secboot/priv.h | 226 +++++
19 files changed, 2544 insertions(+), 118 deletions(-)
create mode 100644 drm/nouveau/include/nvkm/subdev/secboot.h
create mode 100644 drm/nouveau/nvkm/subdev/secboot/Kbuild
create mode 100644 drm/nouveau/nvkm/subdev/secboot/base.c
create mode 100644 drm/nouveau/nvkm/subdev/secboot/gm200.c
create mode 100644 drm/nouveau/nvkm/subdev/secboot/gm20b.c
create mode 100644 drm/nouveau/nvkm/subdev/secboot/priv.h
--
2.7.1
More information about the Nouveau
mailing list