projects
/
b43-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
disassembler: Add new call/ret
[b43-tools.git]
/
assembler
/
initvals.c
diff --git
a/assembler/initvals.c
b/assembler/initvals.c
index eb39d73fd11ecb39cc983ccaeb7ffd5b32efd601..5db74d149d7cb58246c8a13212ab67d60b9216cc 100644
(file)
--- a/
assembler/initvals.c
+++ b/
assembler/initvals.c
@@
-189,6
+189,15
@@
static void assemble_write_shm(struct ivals_context *ctx,
}
}
}
}
+/* Template RAM write */
+static void assemble_write_tram(struct ivals_context *ctx,
+ unsigned int offset,
+ unsigned int value)
+{
+ assemble_write_mmio(ctx, 0x130, SIZE_32BIT, offset);
+ assemble_write_mmio(ctx, 0x134, SIZE_32BIT, value);
+}
+
static void assemble_ival_section(struct ivals_context *ctx,
const struct initvals_sect *sect)
{
static void assemble_ival_section(struct ivals_context *ctx,
const struct initvals_sect *sect)
{
@@
-231,6
+240,10
@@
static void assemble_ival_section(struct ivals_context *ctx,
op->args[0],
SIZE_32BIT);
break;
op->args[0],
SIZE_32BIT);
break;
+ case IVAL_W_TRAM:
+ assemble_write_tram(ctx, op->args[1],
+ op->args[0]);
+ break;
}
}
}
}
}
}
@@
-283,9
+296,9
@@
static void emit_ival_section(struct ivals_context *ctx)
hdr.ver = FW_HDR_VER;
hdr.size = cpu_to_be32(ctx->ivals_count);
hdr.ver = FW_HDR_VER;
hdr.size = cpu_to_be32(ctx->ivals_count);
- fn_len = strlen(
outfile_name) + 512
;
+ fn_len = strlen(
ctx->sect->name) + strlen(initvals_fn_extension ? : "") + 1
;
fn = xmalloc(fn_len);
fn = xmalloc(fn_len);
- snprintf(fn, fn_len, "%s
.%s.initvals", outfile_name, ctx->sect->name
);
+ snprintf(fn, fn_len, "%s
%s", ctx->sect->name, initvals_fn_extension ? : ""
);
fd = fopen(fn, "w+");
if (!fd) {
fprintf(stderr, "Could not open initval output file \"%s\"\n", fn);
fd = fopen(fn, "w+");
if (!fd) {
fprintf(stderr, "Could not open initval output file \"%s\"\n", fn);