habanalabs: add gaudi security module
Add the code to initialize the security module of GAUDI. Similar to Goya, we have two dedicated mechanisms for security: Range Registers and Protection bits. Those mechanisms protect sensitive memory and configuration areas inside the device. In addition, in Gaudi we moved to a 3-level security scheme, where the F/W runs with the highest security level (Privileged), the driver runs with a less secured level (Secured) and the user is neither privileged nor secured. The security module in the driver configures the Secured parts so the user won't be able to access them. The Privileged parts are configured by the F/W. Signed-off-by: Omer Shpigelman <oshpigelman@habana.ai> Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
This commit is contained in:
parent
bcaf415204
commit
3a3a5bf196
|
@ -1,4 +1,4 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
subdir-ccflags-y += -I$(src)
|
||||
|
||||
HL_GAUDI_FILES := gaudi/gaudi.o gaudi/gaudi_hwmgr.o
|
||||
HL_GAUDI_FILES := gaudi/gaudi.o gaudi/gaudi_hwmgr.o gaudi/gaudi_security.o
|
|
@ -3245,6 +3245,8 @@ static int gaudi_hw_init(struct hl_device *hdev)
|
|||
if (rc)
|
||||
return rc;
|
||||
|
||||
gaudi_init_security(hdev);
|
||||
|
||||
gaudi_init_mme_qmans(hdev);
|
||||
|
||||
gaudi_init_tpc_qmans(hdev);
|
||||
|
|
|
@ -248,6 +248,7 @@ struct gaudi_device {
|
|||
u8 ext_queue_idx;
|
||||
};
|
||||
|
||||
void gaudi_init_security(struct hl_device *hdev);
|
||||
void gaudi_add_device_attr(struct hl_device *hdev,
|
||||
struct attribute_group *dev_attr_grp);
|
||||
void gaudi_set_pll_profile(struct hl_device *hdev, enum hl_pll_frequency freq);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue