diff options
Diffstat (limited to 'generic/pack.cc')
-rw-r--r-- | generic/pack.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/generic/pack.cc b/generic/pack.cc index 32dae553..291a528d 100644 --- a/generic/pack.cc +++ b/generic/pack.cc @@ -276,12 +276,16 @@ bool Arch::pack() Context *ctx = getCtx(); try { log_break(); - pack_constants(ctx); - pack_io(ctx); - pack_lut_lutffs(ctx); - pack_nonlut_ffs(ctx); - ctx->settings[ctx->id("pack")] = 1; + if (uarch) { + uarch->pack(); + } else { + pack_constants(ctx); + pack_io(ctx); + pack_lut_lutffs(ctx); + pack_nonlut_ffs(ctx); + } ctx->assignArchInfo(); + ctx->settings[ctx->id("pack")] = 1; log_info("Checksum: 0x%08x\n", ctx->checksum()); return true; } catch (log_execution_error_exception) { |