1281494Sandrew/*-
2281494Sandrew * Copyright (c) 2013 Andrew Turner <andrew@freebsd.org>
3281494Sandrew * All rights reserved.
4281494Sandrew *
5281494Sandrew * Redistribution and use in source and binary forms, with or without
6281494Sandrew * modification, are permitted provided that the following conditions
7281494Sandrew * are met:
8281494Sandrew * 1. Redistributions of source code must retain the above copyright
9281494Sandrew *    notice, this list of conditions and the following disclaimer.
10281494Sandrew * 2. Redistributions in binary form must reproduce the above copyright
11281494Sandrew *    notice, this list of conditions and the following disclaimer in the
12281494Sandrew *    documentation and/or other materials provided with the distribution.
13281494Sandrew *
14281494Sandrew * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15281494Sandrew * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16281494Sandrew * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17281494Sandrew * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18281494Sandrew * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19281494Sandrew * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20281494Sandrew * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21281494Sandrew * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22281494Sandrew * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23281494Sandrew * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24281494Sandrew * SUCH DAMAGE.
25281494Sandrew *
26281494Sandrew * $FreeBSD: stable/11/sys/arm64/include/machdep.h 322761 2017-08-21 17:35:04Z jhb $
27281494Sandrew */
28281494Sandrew
29281494Sandrew#ifndef _MACHINE_MACHDEP_H_
30281494Sandrew#define	_MACHINE_MACHDEP_H_
31281494Sandrew
32281494Sandrewstruct arm64_bootparams {
33281494Sandrew	vm_offset_t	modulep;
34281494Sandrew	vm_offset_t	kern_l1pt;	/* L1 page table for the kernel */
35281494Sandrew	uint64_t	kern_delta;
36281494Sandrew	vm_offset_t	kern_stack;
37297446Sandrew	vm_offset_t	kern_l0pt;	/* L1 page table for the kernel */
38281494Sandrew};
39281494Sandrew
40281494Sandrewextern vm_paddr_t physmap[];
41281494Sandrewextern u_int physmap_idx;
42281494Sandrew
43322761Sjhbvoid dbg_init(void);
44281494Sandrewvoid initarm(struct arm64_bootparams *);
45297538Swmaextern void (*pagezero)(void *);
46281494Sandrew
47281494Sandrew#endif /* _MACHINE_MACHDEP_H_ */
48