00001
00002
00003 #ifndef jdb_kern_info_i_h
00004 #define jdb_kern_info_i_h
00005
00006 #include <cstdio>
00007 #include "ctype.h"
00008
00009 #include "cpu.h"
00010 #include "jdb.h"
00011 #include "jdb_module.h"
00012 #include "static_init.h"
00013 #include "kmem_alloc.h"
00014 #include "region.h"
00015
00016 #include <cstdio>
00017 #include <cstring>
00018 #include "simpleio.h"
00019
00020 #include "apic.h"
00021 #include "config.h"
00022 #include "cpu.h"
00023 #include "gdt.h"
00024 #include "idt.h"
00025 #include "io.h"
00026 #include "jdb_symbol.h"
00027 #include "perf_cnt.h"
00028 #include "pic.h"
00029 #include "space.h"
00030 #include "tss.h"
00031
00032 #include <cstdio>
00033 #include <cstring>
00034 #include "simpleio.h"
00035
00036 #include <cstdio>
00037 #include "simpleio.h"
00038
00039 #include "apic.h"
00040 #include "static_init.h"
00041
00042 #include <cstdio>
00043 #include "pci.h"
00044 #include "simpleio.h"
00045 #include "static_init.h"
00046
00047 #include <cstdio>
00048 #include "cpu.h"
00049 #include "div32.h"
00050 #include "gdt.h"
00051 #include "simpleio.h"
00052 #include "static_init.h"
00053 #include "timer.h"
00054 #include <cstdio>
00055 #include "simpleio.h"
00056
00057 #include "jdb_bp.h"
00058 #include "static_init.h"
00059
00060 class Jdb_kern_info_pic_state : public Jdb_kern_info_module
00061 {
00062
00063 public:
00064 Jdb_kern_info_pic_state();
00065
00066 private:
00067 void show();
00068 };
00069
00070
00071 class Jdb_kern_info_misc : public Jdb_kern_info_module
00072 {
00073
00074 public:
00075 Jdb_kern_info_misc();
00076
00077 void show();
00078
00079 private:
00080 inline void show_pdir();
00081 };
00082
00083
00084 class Jdb_kern_info_gdt : public Jdb_kern_info_module
00085 {
00086
00087 public:
00088 Jdb_kern_info_gdt();
00089
00090 void show();
00091 };
00092
00093 class Jdb_kern_info_idt : public Jdb_kern_info_module
00094 {
00095
00096 public:
00097 Jdb_kern_info_idt();
00098
00099 void show();
00100 };
00101
00102 class Jdb_kern_info_cpu : public Jdb_kern_info_module
00103 {
00104
00105 public:
00106 Jdb_kern_info_cpu();
00107
00108 void show();
00109
00110 void show_f_bits(unsigned features, const char *const *table, unsigned first_pos, unsigned &last_pos, unsigned &colon);
00111
00112 void show_features();
00113 };
00114
00115 class Jdb_kern_info_apic : public Jdb_kern_info_module
00116 {
00117
00118 public:
00119 Jdb_kern_info_apic();
00120
00121 void show();
00122 };
00123
00124 class Jdb_kern_info_pci : public Jdb_kern_info_module
00125 {
00126
00127 public:
00128 Jdb_kern_info_pci();
00129
00130 void show();
00131 };
00132
00133 class Jdb_kern_info_bench : public Jdb_kern_info_module
00134 {
00135
00136 public:
00137 Jdb_kern_info_bench();
00138
00139 void show();
00140
00141 private:
00142 static void show_time(Unsigned64 time, Unsigned32 rounds, const char *descr);
00143 };
00144
00145 class Jdb_kern_info_dr : public Jdb_kern_info_module
00146 {
00147
00148 public:
00149 Jdb_kern_info_dr();
00150
00151 void show();
00152 };
00153
00154
00155
00156
00157
00158
00159
00160
00161 inline void
00162 Jdb_kern_info_misc::show_pdir()
00163 {
00164 Space *s = current_space();
00165 printf ("pdir: "L4_PTR_FMT" (taskno=%x, chief=%x)\n",
00166 (Address) s,
00167 unsigned (s->id()),
00168 unsigned (s->chief()));
00169 }
00170
00171 #endif // jdb_kern_info_i_h