1. A method comprising: requesting access to a hardware accelerator by a user-privileged thread; granting access to the hardware accelerator to the user-privileged thread by a higher-privileged thread responsive to the requesting; and communicating one or more commands to the hardware accelerator by the user-privileged thread without intervention by higher-privileged threads responsive to the granting, wherein the one or more commands cause the hardware accelerator to perform one or more tasks.