1897cd717SDoug Rabson /*- 271e3c308SPedro F. Giffuni * SPDX-License-Identifier: BSD-2-Clause-FreeBSD 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 * 28c3aac50fSPeter Wemm * $FreeBSD$ 29897cd717SDoug Rabson */ 30897cd717SDoug Rabson 31897cd717SDoug Rabson #ifndef _MACHINE_MD_VAR_H_ 32897cd717SDoug Rabson #define _MACHINE_MD_VAR_H_ 33897cd717SDoug Rabson 34897cd717SDoug Rabson /* 35897cd717SDoug Rabson * Miscellaneous machine-dependent declarations. 36897cd717SDoug Rabson */ 37897cd717SDoug Rabson 38c3e289e1SNathan Whitehorn extern char sigcode32[]; 39c3e289e1SNathan Whitehorn extern int szsigcode32; 40c3e289e1SNathan Whitehorn 41c3e289e1SNathan Whitehorn #ifdef __powerpc64__ 42fd6820bbSNathan Whitehorn extern char sigcode64[], sigcode64_elfv2[]; 43fd6820bbSNathan Whitehorn extern int szsigcode64, szsigcode64_elfv2; 44c3e289e1SNathan Whitehorn #endif 45c3e289e1SNathan Whitehorn 46447b3772SPeter Wemm extern long Maxmem; 4749c0f52eSAndrew Gallatin extern int busdma_swi_pending; 48897cd717SDoug Rabson 495244eac9SBenno Rice extern vm_offset_t kstack0; 505244eac9SBenno Rice extern vm_offset_t kstack0_phys; 515244eac9SBenno Rice 528a109fa3SMarcel Moolenaar extern int powerpc_pow_enabled; 534c01c0b9SNathan Whitehorn extern int cacheline_size; 541c96bdd1SNathan Whitehorn extern int hw_direct_map; 5501bd17ccSMarcel Moolenaar 5601bd17ccSMarcel Moolenaar void __syncicache(void *, int); 5701bd17ccSMarcel Moolenaar 58812344bcSAlfred Perlstein void busdma_swi(void); 59812344bcSAlfred Perlstein int is_physical_memory(vm_offset_t addr); 60949313b7SMarcel Moolenaar int mem_valid(vm_offset_t addr, int len); 61897cd717SDoug Rabson 628bc7bc1eSBenno Rice void decr_init(void); 637ad9c533SRafal Jaworowski void decr_ap_init(void); 6420588444SPeter Grehan void decr_tc_init(void); 658bc7bc1eSBenno Rice 66*55a12bbdSJustin Hibbits void cpu_feature_setup(void); 67fb954d9dSBenno Rice void cpu_setup(u_int); 68fb954d9dSBenno Rice 6977d40ffdSMarcel Moolenaar struct trapframe; 7077d40ffdSMarcel Moolenaar void powerpc_interrupt(struct trapframe *); 7177d40ffdSMarcel Moolenaar 72897cd717SDoug Rabson #endif /* !_MACHINE_MD_VAR_H_ */ 73