1 | /* $NetBSD: machdep.h,v 1.8 2016/07/16 17:02:34 maxv Exp $ */ |
2 | /* |
3 | * Copyright (c) 2000, 2007 The NetBSD Foundation, Inc. |
4 | * All rights reserved. |
5 | * |
6 | * Redistribution and use in source and binary forms, with or without |
7 | * modification, are permitted provided that the following conditions |
8 | * are met: |
9 | * 1. Redistributions of source code must retain the above copyright |
10 | * notice, this list of conditions and the following disclaimer. |
11 | * 2. Redistributions in binary form must reproduce the above copyright |
12 | * notice, this list of conditions and the following disclaimer in the |
13 | * documentation and/or other materials provided with the distribution. |
14 | * |
15 | * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS |
16 | * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED |
17 | * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
18 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS |
19 | * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
20 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
21 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
22 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
23 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
24 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
25 | * POSSIBILITY OF SUCH DAMAGE. |
26 | */ |
27 | |
28 | #ifndef _X86_MACHDEP_H_ |
29 | #define _X86_MACHDEP_H_ |
30 | |
31 | #include <sys/kcore.h> |
32 | |
33 | extern phys_ram_seg_t mem_clusters[]; |
34 | extern int mem_cluster_cnt; |
35 | |
36 | struct btinfo_memmap; |
37 | struct extent; |
38 | struct sysctllog; |
39 | |
40 | void x86_cpu_idle_init(void); |
41 | void x86_cpu_idle_get(void (**)(void), char *, size_t); |
42 | void x86_cpu_idle_set(void (*)(void), const char *, bool); |
43 | |
44 | int x86_select_freelist(uint64_t); |
45 | |
46 | void init_x86_clusters(void); |
47 | int init_x86_vm(paddr_t); |
48 | |
49 | void x86_startup(void); |
50 | void x86_sysctl_machdep_setup(struct sysctllog **); |
51 | |
52 | #endif /* _X86_MACHDEP_H_ */ |
53 | |