Skip to content

Commit

Permalink
cuda: fixed a minor issue in cudump
Browse files Browse the repository at this point in the history
  • Loading branch information
Shinpei Kato committed Nov 19, 2011
1 parent f3bee21 commit 5f31504
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 4 deletions.
3 changes: 3 additions & 0 deletions cuda/driver_api/Makefile
Expand Up @@ -20,6 +20,8 @@ all: $(OBJS)
$(CC) -fPIC -c $^ -o $@ $(CFLAGS)

install:
@if test ! -d $(GDEVDIR)/bin ; then mkdir $(GDEVDIR)/bin ; fi ;
cp -f ./$(CUDUMP) $(GDEVDIR)/bin/
cp -f ./$(TARGET).so.1.0.0 $(GDEVDIR)/lib64/
ln -sf $(GDEVDIR)/lib64/$(TARGET).so.1.0.0 $(GDEVDIR)/lib64/$(TARGET).so.1
ln -sf $(GDEVDIR)/lib64/$(TARGET).so.1 $(GDEVDIR)/lib64/$(TARGET).so
Expand All @@ -28,6 +30,7 @@ install:
uninstall:
rm -f $(GDEVDIR)/lib64/$(TARGET).*
rm -f $(GDEVDIR)/include/{$(HEADERS)}
rm -f $(GDEVDIR)/bin/$(CUDUMP)

clean:
rm -f $(TARGET).so.* $(CUDUMP) $(OBJS) $(CUDUMP_OBJS) $(ZOMBIE)
Expand Down
17 changes: 13 additions & 4 deletions cuda/driver_api/cudump.c
Expand Up @@ -78,7 +78,7 @@ int main(int argc, char *argv[])
for (i = 0; i < GDEV_NVIDIA_CONST_SEGMENT_MAX_COUNT; i++) {
if (mod.cmem[i].buf) {
printf("uint32_t c%d[] = {\n", i);
for (j = 0; j < mod.cmem[i].size / 4; j++) {
for (j = 0; j < mod.cmem[i].raw_size / 4; j++) {
printf("\t0x%08x,\n", ((uint32_t*)mod.cmem[i].buf)[j]);
}
printf("};\n");
Expand All @@ -87,21 +87,30 @@ int main(int argc, char *argv[])
}

/* type dump. */
printf("struct gdev_cuda_func {\n");
printf("struct gdev_cudump {\n");
printf("\tchar *name;\n");
printf("\tvoid *code_buf;\n");
printf("\tuint32_t code_size;\n");
printf("\tstruct {\n");
printf("\t\tvoid *buf;\n");
printf("\t\tuint32_t size;\n");
printf("\t} cmem[%d];\n", GDEV_NVIDIA_CONST_SEGMENT_MAX_COUNT);
printf("\tuint32_t param_base;\n");
printf("\tuint32_t param_size;\n");
printf("\tuint32_t *param_buf;\n");
printf("\tuint32_t local_size;\n");
printf("\tuint32_t local_size_neg;\n");
printf("\tuint32_t shared_size;\n");
printf("\tuint32_t stack_depth;\n");
printf("\tuint32_t reg_count;\n");
printf("\tuint32_t bar_count;\n");
printf("};\n");
printf("\n");

/* struct cuda_func dump. */
/* struct gdev_cudump dump. */
gdev_list_for_each(func, &mod.func_list) {
f = &func->raw_func;
printf("struct cuda_func %s = {\n", f->name);
printf("struct gdev_cudump %s = {\n", f->name);

printf("\t.name = \"%s\",\n", f->name);
printf("\t.code_buf = code_%s,\n", f->name);
Expand Down

0 comments on commit 5f31504

Please sign in to comment.