1. 14 3月, 2016 3 次提交
    • A
      drm/nouveau/secboot/gm20b: add secure boot support · 923f1bd2
      Alexandre Courbot 提交于
      Add secure boot support for the GM20B chip found in Tegra X1. Secure
      boot on Tegra works slightly differently from desktop, notably in the
      way the WPR region is set up.
      
      In addition, the firmware bootloaders use a slightly different header
      format.
      Signed-off-by: NAlexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      923f1bd2
    • A
      drm/nouveau/secboot/gm200: add secure-boot support · 9cc45521
      Alexandre Courbot 提交于
      Add secure-boot for the dGPU set of GM20X chips, using the PMU as the
      high-secure falcon.
      
      This work is based on Deepak Goyal's initial port of Secure Boot to
      Nouveau.
      
      v2. use proper memory target function
      Signed-off-by: NAlexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      9cc45521
    • A
      drm/nouveau/core: add support for secure boot · 7d12388a
      Alexandre Courbot 提交于
      On GM200 and later GPUs, firmware for some essential falcons (notably
      GR ones) must be authenticated by a NVIDIA-produced signature and
      loaded by a high-secure falcon in order to be able to access privileged
      registers, in a process known as Secure Boot.
      
      Secure Boot requires building a binary blob containing the firmwares
      and signatures of the falcons to be loaded. This blob is then given to
      a high-secure falcon running a signed loader firmware that copies the
      blob into a write-protected region, checks that the signatures are
      valid, and finally loads the verified firmware into the managed falcons
      and switches them to privileged mode.
      
      This patch adds infrastructure code to support this process on chips
      that require it.
      
      v2:
      - The IRQ mask of the PMU falcon was left - replace it with the proper
        irq_mask variable.
      - The falcon reset procedure expecting a falcon in an initialized state,
        which was accidentally provided by the PMU subdev. Make sure that
        secboot can manage the falcon on its own.
      Signed-off-by: NAlexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      7d12388a