US 12,353,603 B2
Signed command stream and command execution
Avinash Seetharamaiah, San Diego, CA (US); Murat Balci, San Diego, CA (US); Jonnala Gadda Nagendra Kumar, San Diego, CA (US); Nigel Poole, West Newton, MA (US); and Abhiraj Deshpande, San Diego, CA (US)
Assigned to QUALCOMM Incorporated, San Diego, CA (US)
Filed by QUALCOMM Incorporated, San Diego, CA (US)
Filed on Oct. 14, 2020, as Appl. No. 17/070,734.
Prior Publication US 2022/0114284 A1, Apr. 14, 2022
Int. Cl. G06F 21/64 (2013.01); G06F 21/52 (2013.01); G06F 21/56 (2013.01); G06F 21/71 (2013.01)
CPC G06F 21/64 (2013.01) [G06F 21/52 (2013.01); G06F 21/566 (2013.01); G06F 21/71 (2013.01)] 30 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, by a graphics processing unit (GPU), a first plurality of commands stored in a command buffer;
receiving, by the GPU, a first verification signature stored in a first location within the command buffer between a first command and a second command, the first verification signature comprising a first value for verifying integrity of at least the first plurality of commands, wherein the first value is generated based on the first plurality of commands, and wherein the first location of the first verification signature within the command buffer is calculated as a function of one or more characteristics of the first plurality of commands to obscure the first location from being identified;
generating, by the GPU, a second verification signature associated with the first plurality of commands, the second verification signature comprising a second value generated by the GPU based on the first plurality of commands;
determining, by the GPU, a validity of at least the first plurality of commands based on a comparison of the first value of the first verification signature and the second value of the second verification signature;
executing the first plurality of commands to perform a first plurality of operations based on determining the validity of at least the first plurality of commands;
receiving, by the GPU, a second plurality of commands stored in the command buffer, the second plurality of commands sequentially following the first plurality of commands in the command buffer;
receiving, by the GPU, a third verification signature stored within a second location of the command buffer, the third verification signature comprising a third value for verifying integrity of at least the second plurality of commands, wherein the third value is generated based on the second plurality of commands, and wherein the second location of the third verification signature within the command buffer is calculated as a function of one or more characteristics of the second plurality of commands to obscure the second location from being identified;
generating, by the GPU, a fourth verification signature associated with the second plurality of commands, the second verification signature comprising a fourth value generated by the GPU based on the second plurality of commands;
determining, by the GPU, a validity of at least the second plurality of commands based on a comparison of the third value of the third verification signature and the fourth value of the fourth verification signature; and
executing the second plurality of commands to perform a second plurality of operations based on determining the validity of at least the second plurality of commands.