1be66ad11SAlex Hornung /*- 2be66ad11SAlex Hornung * Copyright (c) 2006 Peter Wemm 3be66ad11SAlex Hornung * All rights reserved. 4be66ad11SAlex Hornung * 5be66ad11SAlex Hornung * Redistribution and use in source and binary forms, with or without 6be66ad11SAlex Hornung * modification, are permitted provided that the following conditions 7be66ad11SAlex Hornung * are met: 8be66ad11SAlex Hornung * 9be66ad11SAlex Hornung * 1. Redistributions of source code must retain the above copyright 10be66ad11SAlex Hornung * notice, this list of conditions and the following disclaimer. 11be66ad11SAlex Hornung * 2. Redistributions in binary form must reproduce the above copyright 12be66ad11SAlex Hornung * notice, this list of conditions and the following disclaimer in the 13be66ad11SAlex Hornung * documentation and/or other materials provided with the distribution. 14be66ad11SAlex Hornung * 15be66ad11SAlex Hornung * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16be66ad11SAlex Hornung * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17be66ad11SAlex Hornung * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18be66ad11SAlex Hornung * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19be66ad11SAlex Hornung * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20be66ad11SAlex Hornung * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21be66ad11SAlex Hornung * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22be66ad11SAlex Hornung * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23be66ad11SAlex Hornung * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24be66ad11SAlex Hornung * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25be66ad11SAlex Hornung * 26be66ad11SAlex Hornung * $FreeBSD$ 27be66ad11SAlex Hornung */ 28be66ad11SAlex Hornung 29be66ad11SAlex Hornung #ifndef _MACHINE_MINIDUMP_H_ 30be66ad11SAlex Hornung #define _MACHINE_MINIDUMP_H_ 1 31be66ad11SAlex Hornung 32*d30a28ddSMatthew Dillon #define MINIDUMP1_MAGIC "minidump FreeBSD/amd64" 33*d30a28ddSMatthew Dillon #define MINIDUMP1_VERSION 1 34be66ad11SAlex Hornung 35*d30a28ddSMatthew Dillon struct minidumphdr1 { 36be66ad11SAlex Hornung char magic[24]; 37be66ad11SAlex Hornung uint32_t version; 38be66ad11SAlex Hornung uint32_t msgbufsize; 39be66ad11SAlex Hornung uint32_t bitmapsize; 40*d30a28ddSMatthew Dillon uint32_t ptesize; /* 2-level page table */ 41*d30a28ddSMatthew Dillon uint64_t kernbase; 42*d30a28ddSMatthew Dillon uint64_t dmapbase; 43*d30a28ddSMatthew Dillon uint64_t dmapend; 44*d30a28ddSMatthew Dillon }; 45*d30a28ddSMatthew Dillon 46*d30a28ddSMatthew Dillon #define MINIDUMP2_MAGIC "minidump DFlyBSD/x86-64" 47*d30a28ddSMatthew Dillon #define MINIDUMP2_VERSION 2 48*d30a28ddSMatthew Dillon 49*d30a28ddSMatthew Dillon struct minidumphdr2 { 50*d30a28ddSMatthew Dillon char magic[24]; 51*d30a28ddSMatthew Dillon uint32_t version; 52*d30a28ddSMatthew Dillon uint32_t unused01; 53*d30a28ddSMatthew Dillon 54*d30a28ddSMatthew Dillon uint64_t msgbufsize; 55*d30a28ddSMatthew Dillon uint64_t bitmapsize; 56*d30a28ddSMatthew Dillon uint64_t ptesize; /* 4-level page table */ 57be66ad11SAlex Hornung uint64_t kernbase; 58be66ad11SAlex Hornung uint64_t dmapbase; 59be66ad11SAlex Hornung uint64_t dmapend; 60be66ad11SAlex Hornung }; 61be66ad11SAlex Hornung 62be66ad11SAlex Hornung #endif /* _MACHINE_MINIDUMP_H_ */ 63