ia64/xen-unstable

view xen/include/xen/elfcore.h @ 19800:78962f85c562

IOMMU: Add two generic functions to vendor neutral interface

Add 2 generic functions into the vendor neutral iommu interface, The
reason is that from changeset 19732, there is only one global flag
"iommu_enabled" that controls iommu enablement for both vtd and amd
systems, so we need different code paths for vtd and amd iommu systems
if this flag has been turned on. Also, the early checking of
"iommu_enabled" in iommu_setup() is removed to prevent iommu
functionalities from been disabled on amd systems.

Signed-off-by: Wei Wang <wei.wang2@amd.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Jun 19 08:41:50 2009 +0100 (2009-06-19)
parents 439a3e9459f2
children
line source
1 /******************************************************************************
2 * elfcore.h
3 *
4 * Based heavily on include/linux/elfcore.h from Linux 2.6.16
5 * Naming scheeme based on include/xen/elf.h (not include/linux/elfcore.h)
6 *
7 */
9 #ifndef __ELFCOREC_H__
10 #define __ELFCOREC_H__
12 #include <xen/types.h>
13 #include <xen/elf.h>
14 #include <asm/elf.h>
15 #include <public/xen.h>
17 #define NT_PRSTATUS 1
19 typedef struct
20 {
21 int signo; /* signal number */
22 int code; /* extra code */
23 int errno; /* errno */
24 } ELF_Signifo;
26 /* These seem to be the same length on all architectures on Linux */
27 typedef int ELF_Pid;
28 typedef struct {
29 long tv_sec;
30 long tv_usec;
31 } ELF_Timeval;
33 /*
34 * Definitions to generate Intel SVR4-like core files.
35 * These mostly have the same names as the SVR4 types with "elf_"
36 * tacked on the front to prevent clashes with linux definitions,
37 * and the typedef forms have been avoided. This is mostly like
38 * the SVR4 structure, but more Linuxy, with things that Linux does
39 * not support and which gdb doesn't really use excluded.
40 */
41 typedef struct
42 {
43 ELF_Signifo pr_info; /* Info associated with signal */
44 short pr_cursig; /* Current signal */
45 unsigned long pr_sigpend; /* Set of pending signals */
46 unsigned long pr_sighold; /* Set of held signals */
47 ELF_Pid pr_pid;
48 ELF_Pid pr_ppid;
49 ELF_Pid pr_pgrp;
50 ELF_Pid pr_sid;
51 ELF_Timeval pr_utime; /* User time */
52 ELF_Timeval pr_stime; /* System time */
53 ELF_Timeval pr_cutime; /* Cumulative user time */
54 ELF_Timeval pr_cstime; /* Cumulative system time */
55 ELF_Gregset pr_reg; /* GP registers - from asm header file */
56 int pr_fpvalid; /* True if math co-processor being used. */
57 } ELF_Prstatus;
59 typedef struct {
60 unsigned long xen_major_version;
61 unsigned long xen_minor_version;
62 unsigned long xen_extra_version;
63 unsigned long xen_changeset;
64 unsigned long xen_compiler;
65 unsigned long xen_compile_date;
66 unsigned long xen_compile_time;
67 unsigned long tainted;
68 #if defined(__i386__) || defined(__x86_64__)
69 unsigned long xen_phys_start;
70 unsigned long dom0_pfn_to_mfn_frame_list_list;
71 #endif
72 #if defined(__ia64__)
73 unsigned long dom0_mm_pgd_mfn;
74 #endif
75 } crash_xen_info_t;
77 #endif /* __ELFCOREC_H__ */
79 /*
80 * Local variables:
81 * mode: C
82 * c-set-style: "BSD"
83 * c-basic-offset: 4
84 * tab-width: 4
85 * indent-tabs-mode: nil
86 * End:
87 */