gpu: nvgpu: nvgpu_memcpy changes to sim code

MISRA Rule 21.15 prohibits use of memcpy() with incompatible ptrs
to qualified/unqualified types.

To circumvent this issue we've introduced a new MISRA-compliant
nvgpu_memcpy() function.

While sim code does not need to be MISRA-compliant this
change switches over all memcpy() uses to nvgpu_memcpy()
with appropriate casts applied to maintain consistency within
the nvgpu source base.

JIRA NVGPU-849

Change-Id: Ie0313e2902fffe2acfca714a2ced034406258a75
Signed-off-by: Scott Long <scottl@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1946264
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Scott Long
2018-11-08 20:17:11 -08:00
committed by mobile promotions
parent 0babd46eb4
commit 0b81ed7530
2 changed files with 5 additions and 2 deletions

View File

@@ -30,6 +30,7 @@
#include <nvgpu/utils.h>
#include <nvgpu/bug.h>
#include <nvgpu/gk20a.h>
#include <nvgpu/string.h>
int nvgpu_alloc_sim_buffer(struct gk20a *g, struct nvgpu_mem *mem)
{
@@ -233,7 +234,7 @@ static void nvgpu_sim_esc_readl(struct gk20a *g,
err = issue_rpc_and_wait(g);
if (err == 0) {
(void) memcpy(data, sim_msg_param(g, data_offset),
nvgpu_memcpy((u8 *)data, (u8 *)sim_msg_param(g, data_offset),
sizeof(u32));
} else {
*data = 0xffffffff;

View File

@@ -29,6 +29,7 @@
#include <nvgpu/utils.h>
#include <nvgpu/bug.h>
#include <nvgpu/gk20a.h>
#include <nvgpu/string.h>
static inline u32 sim_msg_header_size(void)
{
@@ -201,7 +202,8 @@ static void nvgpu_sim_esc_readl(struct gk20a *g,
err = issue_rpc_and_wait(g);
if (err == 0) {
(void) memcpy(data, sim_msg_param(g, data_offset + 0xc),
nvgpu_memcpy((u8 *)data,
(u8 *)sim_msg_param(g, data_offset + 0xc),
sizeof(u32));
} else {
*data = 0xffffffff;