1897cd717SDoug Rabson /*- 2*4d846d26SWarner Losh * SPDX-License-Identifier: BSD-2-Clause 371e3c308SPedro F. Giffuni * 4897cd717SDoug Rabson * Copyright (c) 1998 Doug Rabson 5897cd717SDoug Rabson * All rights reserved. 6897cd717SDoug Rabson * 7897cd717SDoug Rabson * Redistribution and use in source and binary forms, with or without 8897cd717SDoug Rabson * modification, are permitted provided that the following conditions 9897cd717SDoug Rabson * are met: 10897cd717SDoug Rabson * 1. Redistributions of source code must retain the above copyright 11897cd717SDoug Rabson * notice, this list of conditions and the following disclaimer. 12897cd717SDoug Rabson * 2. Redistributions in binary form must reproduce the above copyright 13897cd717SDoug Rabson * notice, this list of conditions and the following disclaimer in the 14897cd717SDoug Rabson * documentation and/or other materials provided with the distribution. 15897cd717SDoug Rabson * 16897cd717SDoug Rabson * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17897cd717SDoug Rabson * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18897cd717SDoug Rabson * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19897cd717SDoug Rabson * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 20897cd717SDoug Rabson * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21897cd717SDoug Rabson * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22897cd717SDoug Rabson * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23897cd717SDoug Rabson * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24897cd717SDoug Rabson * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25897cd717SDoug Rabson * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26897cd717SDoug Rabson * SUCH DAMAGE. 27897cd717SDoug Rabson */ 28897cd717SDoug Rabson 29897cd717SDoug Rabson #ifndef _MACHINE_MD_VAR_H_ 30897cd717SDoug Rabson #define _MACHINE_MD_VAR_H_ 31897cd717SDoug Rabson 32897cd717SDoug Rabson /* 33897cd717SDoug Rabson * Miscellaneous machine-dependent declarations. 34897cd717SDoug Rabson */ 35897cd717SDoug Rabson 36c3e289e1SNathan Whitehorn extern char sigcode32[]; 37c3e289e1SNathan Whitehorn extern int szsigcode32; 38c3e289e1SNathan Whitehorn 39c3e289e1SNathan Whitehorn #ifdef __powerpc64__ 40fd6820bbSNathan Whitehorn extern char sigcode64[], sigcode64_elfv2[]; 41fd6820bbSNathan Whitehorn extern int szsigcode64, szsigcode64_elfv2; 420ecc478bSLeandro Lupori 430ecc478bSLeandro Lupori struct dumperinfo; 441adebe3cSMitchell Horne struct minidumpstate; 451adebe3cSMitchell Horne int cpu_minidumpsys(struct dumperinfo *, const struct minidumpstate *); 46c3e289e1SNathan Whitehorn #endif 47c3e289e1SNathan Whitehorn 48447b3772SPeter Wemm extern long Maxmem; 49897cd717SDoug Rabson 505244eac9SBenno Rice extern vm_offset_t kstack0; 515244eac9SBenno Rice extern vm_offset_t kstack0_phys; 525244eac9SBenno Rice 538a109fa3SMarcel Moolenaar extern int powerpc_pow_enabled; 544c01c0b9SNathan Whitehorn extern int cacheline_size; 551c96bdd1SNathan Whitehorn extern int hw_direct_map; 5601bd17ccSMarcel Moolenaar 5701bd17ccSMarcel Moolenaar void __syncicache(void *, int); 5801bd17ccSMarcel Moolenaar 59949313b7SMarcel Moolenaar int mem_valid(vm_offset_t addr, int len); 60897cd717SDoug Rabson 618bc7bc1eSBenno Rice void decr_init(void); 627ad9c533SRafal Jaworowski void decr_ap_init(void); 6320588444SPeter Grehan void decr_tc_init(void); 648bc7bc1eSBenno Rice 6555a12bbdSJustin Hibbits void cpu_feature_setup(void); 66fb954d9dSBenno Rice void cpu_setup(u_int); 67fb954d9dSBenno Rice 6877d40ffdSMarcel Moolenaar struct trapframe; 6977d40ffdSMarcel Moolenaar void powerpc_interrupt(struct trapframe *); 7077d40ffdSMarcel Moolenaar 71897cd717SDoug Rabson #endif /* !_MACHINE_MD_VAR_H_ */ 72