{"push_id":857905391,"size":5,"distinct_size":0,"ref":"refs/heads/staging/secure_boot","head":"ff54c7d74ecd5bc52858bfa21033d930e36512dc","before":"473ec6cae35b80ebb7c8cf4be63c7fc32a481858","commits":[{"sha":"8fffa0842895481bac1bddcfe9c8dc9a4d8a7fb5","author":{"email":"301cd6a3ea50a894b4b51e385c5eb12b9a4ffc0c@nvidia.com","name":"Alexandre Courbot"},"message":"instmem/gk20a: fix race conditions\n\nThe LRU list used for recycling CPU mappings was handling concurrency\nvery poorly. For instance, if an instobj was acquired twice before being\nreleased once, it would end up into the LRU list even though there is\nstill a client accessing it.\n\nThis patch fixes this by properly counting how many clients are\ncurrently using a given instobj.\n\nWhile at it, we also raise errors when inconsistencies are detected, and\nfactorize some code.\n\nSigned-off-by: Alexandre Courbot <acourbot@nvidia.com>","distinct":false,"url":"https://api.github.com/repos/Gnurou/nouveau/commits/8fffa0842895481bac1bddcfe9c8dc9a4d8a7fb5"},{"sha":"cca528f9468bcbf991292456db71ce79ea1ea43b","author":{"email":"301cd6a3ea50a894b4b51e385c5eb12b9a4ffc0c@nvidia.com","name":"Alexandre Courbot"},"message":"fifo/gm20b: kick channel during cleanup\n\nGM20B requires a channel kick to be performed during gpfifo cleanup, or\nthe FIFO will attempt to fetch memory from the previous context as a\nchannel is recycled. A previous commit attempted to do this for all\nKepler GPUs, but due to bug reports that pinned it down it has been\nreverted. The present commit limits its scope to GM20B only.\n\nThe only effective change of this patch is to add a call to\ngk104_fifo_gpfifo_kick() in gpfifo_fini for GM20B, but doing so requires\nto export quite a few extra functions, hence its non-trivial length.\n\nSigned-off-by: Alexandre Courbot <acourbot@nvidia.com>","distinct":false,"url":"https://api.github.com/repos/Gnurou/nouveau/commits/cca528f9468bcbf991292456db71ce79ea1ea43b"},{"sha":"55d7dc237aea76097d4564031be8ad8afe248427","author":{"email":"301cd6a3ea50a894b4b51e385c5eb12b9a4ffc0c@nvidia.com","name":"Alexandre Courbot"},"message":"core: add support for secure boot\n\nOn GM20x and later GPUs, firmware for some essential falcons (notably\nFECS) must be authenticated by a NVIDIA-produced signature and loaded\nby a high-secure falcon in order to access certain registers, in a\nprocess known as Secure Boot.\n\nSecure Boot requires the building of a binary blob containing the\nfirmwares and signatures of the falcons to be loaded. This blob is then\ngiven to a high-secure falcon running a signed loader firmware that\ncopies the blob into a write-protected region, checks that the\nsignatures are valid, and finally loads the verified firmware into the\nmanaged falcons and switches them to a priviledged mode.\n\nThis patch adds code that performs this process using PMU as the\nhigh-secure falcon, and wires it into the device core.\n\nCurrently, only the secure loading of the FECS firmware is handled, but\nsupport for other falcons (notably GPCCS and PMU) is upcoming. The\nreason for limiting to FECS is that GR must initiate the loading of\nFECS at init time, which, being managed by secure boot, will trigger the\nloading of all other managed firmwares. A solution to this needs to be\ndiscussed.\n\nThis code is tested on Tegra/GM20B and some minor work is required for\ndGPU support, but the fundations are here for general support of Secure\nBoot.\n\nThis work is based on Deepak Goyal's initial port of Secure Boot to\nNouveau.\n\nSigned-off-by: Alexandre Courbot <acourbot@nvidia.com>","distinct":false,"url":"https://api.github.com/repos/Gnurou/nouveau/commits/55d7dc237aea76097d4564031be8ad8afe248427"},{"sha":"0a935f99bcbcf4ef5284e690e8872b4f36bcfa1c","author":{"email":"301cd6a3ea50a894b4b51e385c5eb12b9a4ffc0c@nvidia.com","name":"Alexandre Courbot"},"message":"gr: support for securely-booted FECS firmware\n\nTrigger the loading of FECS/GPCCS using secure boot if required, and\nstart managed falcons using the CPUCTL_ALIAS register since CPUCTL is\nprotected in that case.\n\nSigned-off-by: Alexandre Courbot <acourbot@nvidia.com>","distinct":false,"url":"https://api.github.com/repos/Gnurou/nouveau/commits/0a935f99bcbcf4ef5284e690e8872b4f36bcfa1c"},{"sha":"ff54c7d74ecd5bc52858bfa21033d930e36512dc","author":{"email":"301cd6a3ea50a894b4b51e385c5eb12b9a4ffc0c@nvidia.com","name":"Alexandre Courbot"},"message":"gm20b: secure-boot FECS falcon\n\nEnable secure boot of FECS for GM20B.\n\nSigned-off-by: Alexandre Courbot <acourbot@nvidia.com>","distinct":false,"url":"https://api.github.com/repos/Gnurou/nouveau/commits/ff54c7d74ecd5bc52858bfa21033d930e36512dc"}]}