From 39fdcbf9f0e117629cea42ce335529a7061fada6 Mon Sep 17 00:00:00 2001 From: Li-Ta Lo Date: Tue, 7 Sep 2004 21:31:06 +0000 Subject: [PATCH] seperate code generation git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1646 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- util/getpir/code_gen.c | 11 +++++++++-- util/getpir/getpir.c | 9 +-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/util/getpir/code_gen.c b/util/getpir/code_gen.c index 32528633a0..150d083d86 100644 --- a/util/getpir/code_gen.c +++ b/util/getpir/code_gen.c @@ -13,16 +13,21 @@ static char *preamble[] = { 0 }; -void code_gen(FILE * fpir, struct irq_routing_table *rt) +void code_gen(char *filename, struct irq_routing_table *rt) { char **code = preamble; struct irq_info *se_arr = (struct irq_info *) ((char *) rt + 32); int i, ts = (rt->size - 32) / 16; + FILE *fpir; + + if ((fpir = fopen(filename, "w")) == NULL) { + printf("Failed creating file!\n"); + exit(2); + } while (*code) fprintf(fpir, "%s", *code++); - fprintf(fpir, "\t32+16*%d, /* there can be total %d devices on the bus */\n", ts, ts); fprintf(fpir, "\t0x%02x, /* Where the interrupt router lies (bus) */\n", @@ -52,4 +57,6 @@ void code_gen(FILE * fpir, struct irq_routing_table *rt) } fprintf(fpir, "\t}\n"); fprintf(fpir, "};\n"); + + fclose(fpir); } diff --git a/util/getpir/getpir.c b/util/getpir/getpir.c index 5bcdd452a3..7f08af6f6a 100644 --- a/util/getpir/getpir.c +++ b/util/getpir/getpir.c @@ -33,7 +33,6 @@ static struct irq_routing_table *probe_table(int fd_mem) main() { int fd_mem; - FILE *fpir; struct irq_routing_table *rt; if (getuid()) { @@ -50,13 +49,7 @@ main() printf("Checksum is ok!\n"); printf("Creating irq_tables.c .....\n"); - fpir = fopen("irq_tables.c", "w"); - if (!fpir) { - printf("Failed creating file!\n"); - exit(2); - } - code_gen(fpir, rt); - fclose(fpir); + code_gen("irq_tables.c", rt); close(fd_mem);