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