diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2004-11-16 23:26:44 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2004-11-16 23:26:44 +0000 |
commit | df0d0f1fde36627a8683d1bb10e47006feaaf339 (patch) | |
tree | 474863ddbd4baf216c8c1c734a092f5c252837d5 /sys | |
parent | c63f71dcfabdad2096fcbb4dda16459c3f5a8dc6 (diff) |
flat firmware file creation and installation
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/microcode/Makefile | 5 | ||||
-rw-r--r-- | sys/dev/microcode/atmel/Makefile | 19 | ||||
-rw-r--r-- | sys/dev/microcode/atmel/build.c | 47 |
3 files changed, 71 insertions, 0 deletions
diff --git a/sys/dev/microcode/Makefile b/sys/dev/microcode/Makefile new file mode 100644 index 00000000000..57fca45c970 --- /dev/null +++ b/sys/dev/microcode/Makefile @@ -0,0 +1,5 @@ +# $OpenBSD: Makefile,v 1.1 2004/11/16 23:26:43 deraadt Exp $ + +SUBDIR= atmel + +.include <bsd.subdir.mk> diff --git a/sys/dev/microcode/atmel/Makefile b/sys/dev/microcode/atmel/Makefile new file mode 100644 index 00000000000..b0bb024561b --- /dev/null +++ b/sys/dev/microcode/atmel/Makefile @@ -0,0 +1,19 @@ +# $OpenBSD: Makefile,v 1.1 2004/11/16 23:26:43 deraadt Exp $ + +FIRM= atu-intersil-int atu-rfmd-int atu-rfmd2958-int \ + atu-intersil-ext atu-rfmd-ext atu-rfmd2958-ext +CLEANFILES+= ${FIRM} build + +all: build + ${.OBJDIR}/build + +NOPROG= +NOMAN= + +.include <bsd.prog.mk> + +afterinstall: + ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 \ + ${FIRM} ${DESTDIR}/etc/firmware + + diff --git a/sys/dev/microcode/atmel/build.c b/sys/dev/microcode/atmel/build.c new file mode 100644 index 00000000000..f5a33fd054e --- /dev/null +++ b/sys/dev/microcode/atmel/build.c @@ -0,0 +1,47 @@ +#include <sys/types.h> +#include <fcntl.h> + +#include "atuwi_intersil_fw.h" +#include "atuwi_rfmd2958-smc_fw.h" +#include "atuwi_rfmd2958_fw.h" +#include "atuwi_rfmd_fw.h" + +void +output(const char *name, char *buf, int buflen) +{ + int i; + int fd; + + printf("creating %s length %d\n", name, buflen); + fd = open(name, O_WRONLY|O_CREAT|O_TRUNC, 0644); + if (fd == -1) + err(1, "%s", name); + + write(fd, buf, buflen); + close(fd); +} + + +main(int argc, char *argv[]) +{ + output("atu-intersil-int", atuwi_fw_intersil_int, + sizeof atuwi_fw_intersil_int); + output("atu-intersil-ext", atuwi_fw_intersil_ext, + sizeof atuwi_fw_intersil_ext); + + output("atu-rfmd2958-int", atuwi_fw_rfmd2958_smc_int, + sizeof atuwi_fw_rfmd2958_smc_int); + output("atu-rfmd2958-ext", atuwi_fw_rfmd2958_smc_ext, + sizeof atuwi_fw_rfmd2958_smc_ext); + + output("atu-rfmd2958-int", atuwi_fw_rfmd2958_int, + sizeof atuwi_fw_rfmd2958_int); + output("atu-rfmd2958-ext", atuwi_fw_rfmd2958_ext, + sizeof atuwi_fw_rfmd2958_ext); + + output("atu-rfmd-int", atuwi_fw_rfmd_int, + sizeof atuwi_fw_rfmd_int); + output("atu-rfmd-ext", atuwi_fw_rfmd_ext, + sizeof atuwi_fw_rfmd_ext); + +} |