1*4c9c6baaSmiod /* $OpenBSD: loadfile_machdep.h,v 1.2 2015/07/17 20:44:38 miod Exp $ */ 20cfa65d9Smiod /* $NetBSD: loadfile_machdep.h,v 1.2 2001/10/31 17:20:49 thorpej Exp $ */ 30cfa65d9Smiod 40cfa65d9Smiod /*- 50cfa65d9Smiod * Copyright (c) 1999 The NetBSD Foundation, Inc. 60cfa65d9Smiod * All rights reserved. 70cfa65d9Smiod * 80cfa65d9Smiod * This code is derived from software contributed to The NetBSD Foundation 90cfa65d9Smiod * by Christos Zoulas. 100cfa65d9Smiod * 110cfa65d9Smiod * Redistribution and use in source and binary forms, with or without 120cfa65d9Smiod * modification, are permitted provided that the following conditions 130cfa65d9Smiod * are met: 140cfa65d9Smiod * 1. Redistributions of source code must retain the above copyright 150cfa65d9Smiod * notice, this list of conditions and the following disclaimer. 160cfa65d9Smiod * 2. Redistributions in binary form must reproduce the above copyright 170cfa65d9Smiod * notice, this list of conditions and the following disclaimer in the 180cfa65d9Smiod * documentation and/or other materials provided with the distribution. 190cfa65d9Smiod * 200cfa65d9Smiod * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 210cfa65d9Smiod * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 220cfa65d9Smiod * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 230cfa65d9Smiod * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 240cfa65d9Smiod * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 250cfa65d9Smiod * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 260cfa65d9Smiod * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 270cfa65d9Smiod * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 280cfa65d9Smiod * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 290cfa65d9Smiod * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 300cfa65d9Smiod * POSSIBILITY OF SUCH DAMAGE. 310cfa65d9Smiod */ 320cfa65d9Smiod 330cfa65d9Smiod #define BOOT_ELF 340cfa65d9Smiod #define ELFSIZE 64 350cfa65d9Smiod 36*4c9c6baaSmiod #define LOAD_KERNEL LOAD_ALL 37*4c9c6baaSmiod #define COUNT_KERNEL COUNT_ALL 380cfa65d9Smiod 390cfa65d9Smiod #define LOADADDR(a) (((u_long)(a)) + offset) 400cfa65d9Smiod #define READ(f, b, c) read((f), (void *)LOADADDR(b), (c)) 410cfa65d9Smiod #define BCOPY(s, d, c) bcopy((void *)s, (void *)LOADADDR(d), (c)) 420cfa65d9Smiod #define BZERO(d, c) bzero((void *)LOADADDR(d), (c)) 430cfa65d9Smiod #define WARN(a) (void)(printf a, \ 440cfa65d9Smiod printf((errno ? ": %s\n" : "\n"), \ 450cfa65d9Smiod strerror(errno))) 460cfa65d9Smiod #define PROGRESS(a) (void) printf a 470cfa65d9Smiod #define ALLOC(a) alloc(a) 480cfa65d9Smiod #define FREE(a, b) free(a, b) 490cfa65d9Smiod 500cfa65d9Smiod extern int check_phdr(void *); 510cfa65d9Smiod #define CHECK_PHDR(sz,phdr) check_phdr(phdr) 52