1*ae8c9cc8Sdlg /* $OpenBSD: build.c,v 1.2 2007/04/19 04:08:51 dlg Exp $ */
25b38ddd2Sdlg
35b38ddd2Sdlg /*
45b38ddd2Sdlg * Copyright (c) 2007 David Gwynne <dlg@openbsd.org>
55b38ddd2Sdlg *
65b38ddd2Sdlg * Permission to use, copy, modify, and distribute this software for any
75b38ddd2Sdlg * purpose with or without fee is hereby granted, provided that the above
85b38ddd2Sdlg * copyright notice and this permission notice appear in all copies.
95b38ddd2Sdlg *
105b38ddd2Sdlg * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
115b38ddd2Sdlg * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
125b38ddd2Sdlg * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
135b38ddd2Sdlg * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
145b38ddd2Sdlg * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
155b38ddd2Sdlg * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
165b38ddd2Sdlg * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
175b38ddd2Sdlg */
185b38ddd2Sdlg
195b38ddd2Sdlg #include <sys/types.h>
205b38ddd2Sdlg
215b38ddd2Sdlg #include <err.h>
225b38ddd2Sdlg #include <fcntl.h>
235b38ddd2Sdlg #include <stdio.h>
245b38ddd2Sdlg #include <unistd.h>
255b38ddd2Sdlg
265b38ddd2Sdlg #include "microcode.h"
275b38ddd2Sdlg
285b38ddd2Sdlg #define THT_FW_NAME "tht"
295b38ddd2Sdlg
305b38ddd2Sdlg int
main(int argc,char * argv[])315b38ddd2Sdlg main(int argc, char *argv[])
325b38ddd2Sdlg {
335b38ddd2Sdlg ssize_t len;
345b38ddd2Sdlg int fd;
35*ae8c9cc8Sdlg int i;
365b38ddd2Sdlg
375b38ddd2Sdlg fd = open(THT_FW_NAME, O_WRONLY | O_CREAT | O_TRUNC, 0644);
385b38ddd2Sdlg if (fd == -1)
395b38ddd2Sdlg err(1, "%s", THT_FW_NAME);
405b38ddd2Sdlg
41*ae8c9cc8Sdlg for (i = 0; i < (sizeof(tht_fw) / sizeof(tht_fw[0])); i++)
42*ae8c9cc8Sdlg tht_fw[i] = htole32(tht_fw[i]);
43*ae8c9cc8Sdlg
445b38ddd2Sdlg len = write(fd, tht_fw, sizeof(tht_fw));
455b38ddd2Sdlg if (len == -1)
465b38ddd2Sdlg err(1, "%s write", THT_FW_NAME);
475b38ddd2Sdlg if (len != sizeof(tht_fw))
485b38ddd2Sdlg errx(1, "%s: short write", THT_FW_NAME);
495b38ddd2Sdlg
505b38ddd2Sdlg close(fd);
515b38ddd2Sdlg
525b38ddd2Sdlg return (0);
535b38ddd2Sdlg }
54