1276772Smarkj/*- 2276772Smarkj * Copyright (c) 2014 EMC Corp. 3276772Smarkj * Author: Conrad Meyer <conrad.meyer@isilon.com> 4276772Smarkj * All rights reserved. 5276772Smarkj * 6276772Smarkj * Redistribution and use in source and binary forms, with or without 7276772Smarkj * modification, are permitted provided that the following conditions 8276772Smarkj * are met: 9276772Smarkj * 1. Redistributions of source code must retain the above copyright 10276772Smarkj * notice, this list of conditions and the following disclaimer. 11276772Smarkj * 2. Redistributions in binary form must reproduce the above copyright 12276772Smarkj * notice, this list of conditions and the following disclaimer in the 13276772Smarkj * documentation and/or other materials provided with the distribution. 14276772Smarkj * 15276772Smarkj * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16276772Smarkj * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17276772Smarkj * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18276772Smarkj * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19276772Smarkj * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20276772Smarkj * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21276772Smarkj * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22276772Smarkj * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23276772Smarkj * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24276772Smarkj * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25276772Smarkj * SUCH DAMAGE. 26276772Smarkj * 27276772Smarkj * $FreeBSD$ 28276772Smarkj */ 29276772Smarkj 30276772Smarkj#ifndef _MACHINE_DUMP_H_ 31276772Smarkj#define _MACHINE_DUMP_H_ 32276772Smarkj 33276772Smarkj#ifdef __amd64__ 34276772Smarkj#define KERNELDUMP_ARCH_VERSION KERNELDUMP_AMD64_VERSION 35276772Smarkj#define EM_VALUE EM_X86_64 36276772Smarkj#else 37276772Smarkj#define KERNELDUMP_ARCH_VERSION KERNELDUMP_I386_VERSION 38276772Smarkj#define EM_VALUE EM_386 39276772Smarkj#endif 40276772Smarkj 41276772Smarkj/* 20 phys_avail entry pairs correspond to 10 pa's */ 42276772Smarkj#define DUMPSYS_MD_PA_NPAIRS 10 43276772Smarkj#define DUMPSYS_NUM_AUX_HDRS 0 44276772Smarkj 45276772Smarkjstatic inline void 46276772Smarkjdumpsys_pa_init(void) 47276772Smarkj{ 48276772Smarkj 49276772Smarkj dumpsys_gen_pa_init(); 50276772Smarkj} 51276772Smarkj 52276772Smarkjstatic inline struct dump_pa * 53276772Smarkjdumpsys_pa_next(struct dump_pa *p) 54276772Smarkj{ 55276772Smarkj 56276772Smarkj return (dumpsys_gen_pa_next(p)); 57276772Smarkj} 58276772Smarkj 59276772Smarkjstatic inline void 60276772Smarkjdumpsys_wbinv_all(void) 61276772Smarkj{ 62276772Smarkj 63276772Smarkj dumpsys_gen_wbinv_all(); 64276772Smarkj} 65276772Smarkj 66276772Smarkjstatic inline void 67276772Smarkjdumpsys_unmap_chunk(vm_paddr_t pa, size_t s, void *va) 68276772Smarkj{ 69276772Smarkj 70276772Smarkj dumpsys_gen_unmap_chunk(pa, s, va); 71276772Smarkj} 72276772Smarkj 73276772Smarkjstatic inline int 74276772Smarkjdumpsys_write_aux_headers(struct dumperinfo *di) 75276772Smarkj{ 76276772Smarkj 77276772Smarkj return (dumpsys_gen_write_aux_headers(di)); 78276772Smarkj} 79276772Smarkj 80276772Smarkjstatic inline int 81276772Smarkjdumpsys(struct dumperinfo *di) 82276772Smarkj{ 83276772Smarkj 84276772Smarkj return (dumpsys_generic(di)); 85276772Smarkj} 86276772Smarkj 87276772Smarkj#endif /* !_MACHINE_DUMP_H_ */ 88