1*8d7e7a98SRuslan Bukin /*- 2*8d7e7a98SRuslan Bukin * Copyright (c) 2014 EMC Corp. 3*8d7e7a98SRuslan Bukin * Author: Conrad Meyer <conrad.meyer@isilon.com> 4*8d7e7a98SRuslan Bukin * All rights reserved. 5*8d7e7a98SRuslan Bukin * 6*8d7e7a98SRuslan Bukin * Redistribution and use in source and binary forms, with or without 7*8d7e7a98SRuslan Bukin * modification, are permitted provided that the following conditions 8*8d7e7a98SRuslan Bukin * are met: 9*8d7e7a98SRuslan Bukin * 1. Redistributions of source code must retain the above copyright 10*8d7e7a98SRuslan Bukin * notice, this list of conditions and the following disclaimer. 11*8d7e7a98SRuslan Bukin * 2. Redistributions in binary form must reproduce the above copyright 12*8d7e7a98SRuslan Bukin * notice, this list of conditions and the following disclaimer in the 13*8d7e7a98SRuslan Bukin * documentation and/or other materials provided with the distribution. 14*8d7e7a98SRuslan Bukin * 15*8d7e7a98SRuslan Bukin * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16*8d7e7a98SRuslan Bukin * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17*8d7e7a98SRuslan Bukin * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18*8d7e7a98SRuslan Bukin * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19*8d7e7a98SRuslan Bukin * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20*8d7e7a98SRuslan Bukin * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21*8d7e7a98SRuslan Bukin * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22*8d7e7a98SRuslan Bukin * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23*8d7e7a98SRuslan Bukin * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24*8d7e7a98SRuslan Bukin * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25*8d7e7a98SRuslan Bukin * SUCH DAMAGE. 26*8d7e7a98SRuslan Bukin * 27*8d7e7a98SRuslan Bukin * $FreeBSD$ 28*8d7e7a98SRuslan Bukin */ 29*8d7e7a98SRuslan Bukin 30*8d7e7a98SRuslan Bukin #ifndef _MACHINE_DUMP_H_ 31*8d7e7a98SRuslan Bukin #define _MACHINE_DUMP_H_ 32*8d7e7a98SRuslan Bukin 33*8d7e7a98SRuslan Bukin #define KERNELDUMP_ARCH_VERSION KERNELDUMP_RISCV_VERSION 34*8d7e7a98SRuslan Bukin #define EM_VALUE EM_RISCV 35*8d7e7a98SRuslan Bukin 36*8d7e7a98SRuslan Bukin /* 20 phys_avail entry pairs correspond to 10 pa's */ 37*8d7e7a98SRuslan Bukin #define DUMPSYS_MD_PA_NPAIRS 10 38*8d7e7a98SRuslan Bukin #define DUMPSYS_NUM_AUX_HDRS 0 39*8d7e7a98SRuslan Bukin 40*8d7e7a98SRuslan Bukin static inline void 41*8d7e7a98SRuslan Bukin dumpsys_pa_init(void) 42*8d7e7a98SRuslan Bukin { 43*8d7e7a98SRuslan Bukin 44*8d7e7a98SRuslan Bukin dumpsys_gen_pa_init(); 45*8d7e7a98SRuslan Bukin } 46*8d7e7a98SRuslan Bukin 47*8d7e7a98SRuslan Bukin static inline struct dump_pa * 48*8d7e7a98SRuslan Bukin dumpsys_pa_next(struct dump_pa *p) 49*8d7e7a98SRuslan Bukin { 50*8d7e7a98SRuslan Bukin 51*8d7e7a98SRuslan Bukin return (dumpsys_gen_pa_next(p)); 52*8d7e7a98SRuslan Bukin } 53*8d7e7a98SRuslan Bukin 54*8d7e7a98SRuslan Bukin static inline void 55*8d7e7a98SRuslan Bukin dumpsys_wbinv_all(void) 56*8d7e7a98SRuslan Bukin { 57*8d7e7a98SRuslan Bukin 58*8d7e7a98SRuslan Bukin dumpsys_gen_wbinv_all(); 59*8d7e7a98SRuslan Bukin } 60*8d7e7a98SRuslan Bukin 61*8d7e7a98SRuslan Bukin static inline void 62*8d7e7a98SRuslan Bukin dumpsys_unmap_chunk(vm_paddr_t pa, size_t s, void *va) 63*8d7e7a98SRuslan Bukin { 64*8d7e7a98SRuslan Bukin 65*8d7e7a98SRuslan Bukin dumpsys_gen_unmap_chunk(pa, s, va); 66*8d7e7a98SRuslan Bukin } 67*8d7e7a98SRuslan Bukin 68*8d7e7a98SRuslan Bukin static inline int 69*8d7e7a98SRuslan Bukin dumpsys_write_aux_headers(struct dumperinfo *di) 70*8d7e7a98SRuslan Bukin { 71*8d7e7a98SRuslan Bukin 72*8d7e7a98SRuslan Bukin return (dumpsys_gen_write_aux_headers(di)); 73*8d7e7a98SRuslan Bukin } 74*8d7e7a98SRuslan Bukin 75*8d7e7a98SRuslan Bukin static inline int 76*8d7e7a98SRuslan Bukin dumpsys(struct dumperinfo *di) 77*8d7e7a98SRuslan Bukin { 78*8d7e7a98SRuslan Bukin 79*8d7e7a98SRuslan Bukin return (dumpsys_generic(di)); 80*8d7e7a98SRuslan Bukin } 81*8d7e7a98SRuslan Bukin 82*8d7e7a98SRuslan Bukin #endif /* !_MACHINE_DUMP_H_ */ 83