/*-1* Copyright (c) 2014 EMC Corp.2* Author: Conrad Meyer <[email protected]>3* All rights reserved.4*5* Redistribution and use in source and binary forms, with or without6* modification, are permitted provided that the following conditions7* are met:8* 1. Redistributions of source code must retain the above copyright9* notice, this list of conditions and the following disclaimer.10* 2. Redistributions in binary form must reproduce the above copyright11* notice, this list of conditions and the following disclaimer in the12* documentation and/or other materials provided with the distribution.13*14* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND15* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE16* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE17* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE18* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL19* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS20* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)21* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT22* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY23* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF24* SUCH DAMAGE.25*/2627#ifndef _MACHINE_DUMP_H_28#define _MACHINE_DUMP_H_2930#define KERNELDUMP_ARCH_VERSION KERNELDUMP_POWERPC_VERSION31#define EM_VALUE ELF_ARCH /* Defined in powerpc/include/elf.h */32#define DUMPSYS_MD_PA_NPAIRS (PHYS_AVAIL_SZ + 1)33#define DUMPSYS_NUM_AUX_HDRS 03435/* How often to check the dump progress bar? */36#define DUMPSYS_PB_CHECK_BITS 20 /* Every 1MB */3738void dumpsys_pa_init(void);39void dumpsys_unmap_chunk(vm_paddr_t, size_t, void *);40size_t dumpsys_scan_pmap(struct bitset *);41void *dumpsys_dump_pmap_init(unsigned blkpgs);42void *dumpsys_dump_pmap(void *ctx, void *buf, u_long *nbytes);4344static inline struct dump_pa *45dumpsys_pa_next(struct dump_pa *p)46{4748return (dumpsys_gen_pa_next(p));49}5051static inline void52dumpsys_wbinv_all(void)53{5455dumpsys_gen_wbinv_all();56}5758static inline int59dumpsys_write_aux_headers(struct dumperinfo *di)60{6162return (dumpsys_gen_write_aux_headers(di));63}6465static inline int66dumpsys(struct dumperinfo *di)67{6869return (dumpsys_generic(di));70}7172#endif /* !_MACHINE_DUMP_H_ */737475