1/* 2 * Copyright (c) 2004 Marcel Moolenaar 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * --- 9 unchanged lines hidden (view full) --- 18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * |
26 * $FreeBSD: head/gnu/usr.bin/gdb/kgdb/kgdb.h 142151 2005-02-20 22:55:07Z kan $ |
27 */ 28 29#ifndef _KGDB_H_ 30#define _KGDB_H_ 31 |
32struct thread_info; 33 |
34extern kvm_t *kvm; 35extern int verbose; 36 37struct kthr { 38 struct kthr *next; |
39 uintptr_t paddr; |
40 uintptr_t kaddr; 41 uintptr_t kstack; 42 uintptr_t pcb; 43 int tid; |
44 int pid; |
45}; 46 47extern struct kthr *curkthr; 48 49void kgdb_target(void); 50void kgdb_trgt_fetch_registers(int); 51void kgdb_trgt_store_registers(int); 52 53struct kthr *kgdb_thr_first(void); 54struct kthr *kgdb_thr_init(void); |
55struct kthr *kgdb_thr_lookup_tid(int); 56struct kthr *kgdb_thr_lookup_pid(int); 57struct kthr *kgdb_thr_lookup_paddr(uintptr_t); 58struct kthr *kgdb_thr_lookup_taddr(uintptr_t); |
59struct kthr *kgdb_thr_next(struct kthr *); 60struct kthr *kgdb_thr_select(struct kthr *); |
61char *kgdb_thr_extra_thread_info(int); |
62 63#endif /* _KGDB_H_ */ |