本文整理汇总了C++中print_regs函数的典型用法代码示例。如果您正苦于以下问题:C++ print_regs函数的具体用法?C++ print_regs怎么用?C++ print_regs使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了print_regs函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: read_regs
void read_regs(char *name) {
int i, j;
char fn[32], txt[128], c, *cp;
FILE *nf = NULL;
struct regdesc *reg;
if (regs) return;
bzero((void *) fn, 32);
for (i=0; i<31; i++) {
if (i<strlen(name)) fn[i]=toupper(name[i]);
else break;
}
strcat(fn,".regs");
nf = fopen(GetFile(fn),"r");
if (nf == NULL) {
printf("%s:not available\n",fn);
return;
}
while (1) {
if (fgets(txt,128,nf) == NULL) break;
cp = "NAME";
if (strncmp(cp, txt, strlen(cp)) == 0) {
cp = &txt[strlen(cp)];
bzero((void *) dev_name, 32);
for (i=0, j=0; i<31; i++) {
c = *cp++;
if ((c == '\n') || (c == 0)) break;
if (isspace(c)) continue;
dev_name[j++] = c;
}
}
if (strncmp("$", txt, 1) == 0) {
reg = new_reg();
sscanf(txt,"$ %s %s 0x%X %d %d %d",
reg->name,
reg->flags,
®->offset,
®->size,
®->window,
®->depth);
reg_cnt++;
}
}
print_regs(1);
print_regs(2);
printf("Device:%s %d:reg descriptions read\n",dev_name, reg_cnt);
}
开发者ID:dcobas,项目名称:coht,代码行数:51,代码来源:VmeioCmds.c
示例2: print_exception_info
static void print_exception_info(struct exc_state *state, uint64_t idx)
{
if (idx < NUM_EXC_VIDS)
printk(BIOS_DEBUG, "exception %s\n", exception_names[idx]);
print_regs(state);
}
开发者ID:RafaelRMachado,项目名称:Coreboot,代码行数:7,代码来源:exception.c
示例3: print_trapframe
void
print_trapframe(struct trapframe *tf) {
cprintf("trapframe at %p\n", tf);
print_regs(&tf->tf_regs);
cprintf(" ds 0x----%04x\n", tf->tf_ds);
cprintf(" es 0x----%04x\n", tf->tf_es);
cprintf(" fs 0x----%04x\n", tf->tf_fs);
cprintf(" gs 0x----%04x\n", tf->tf_gs);
cprintf(" trap 0x%08x %s\n", tf->tf_trapno, trapname(tf->tf_trapno));
cprintf(" err 0x%08x\n", tf->tf_err);
cprintf(" eip 0x%08x\n", tf->tf_eip);
cprintf(" cs 0x----%04x\n", tf->tf_cs);
cprintf(" flag 0x%08x ", tf->tf_eflags);
int i, j;
for (i = 0, j = 1; i < sizeof(IA32flags) / sizeof(IA32flags[0]); i ++, j <<= 1) {
if ((tf->tf_eflags & j) && IA32flags[i] != NULL) {
cprintf("%s,", IA32flags[i]);
}
}
cprintf("IOPL=%d\n", (tf->tf_eflags & FL_IOPL_MASK) >> 12);
if (!trap_in_kernel(tf)) {
cprintf(" esp 0x%08x\n", tf->tf_esp);
cprintf(" ss 0x----%04x\n", tf->tf_ss);
}
}
开发者ID:dwt136,项目名称:ucore_lab,代码行数:27,代码来源:pmm.c
示例4: __faultE
static void __faultE(uint32 number,
regs r, uint32 error,
uint32 eip, uint32 cs, uint32 eflags)
{
uint32 _cr2, _cr3;
kprintf("");
kprintf("*** Exception 0x%X* (%s)",number,etable[number]);
#ifdef __SMP__
if (smp_configured)
kprintf (" on cpu#%d", smp_my_cpu ());
#endif
print_regs(&r, eip, cs, eflags);
asm("mov %%cr2, %0":"=r" (_cr2));
asm("mov %%cr3, %0":"=r" (_cr3));
kprintf(" cr2 = %x cr3 = %x error = %x",_cr2,_cr3,error);
kprintf("");
kprintf("Task %d (%s) crashed.",current->rsrc.id,current->rsrc.name);
if((cs & 0xFFF8) == SEL_UCODE) user_debug(&r, &eip, &eflags);
#ifdef DEBUG_ON_FAULT
current->flags = tDEAD;
k_debugger(&r, eip, cs, eflags);
#endif
#ifdef HALT_ON_FAULT
asm("hlt");
#endif
terminate();
}
开发者ID:danilaslau,项目名称:frotznet,代码行数:33,代码来源:fault.c
示例5: print_frame
void print_frame(struct frame *tf)
{
STATIC_INIT_SPIN_LOCK(pflock);
spin_lock(&pflock);
printk("TRAP frame at %p from CPU %d\n", tf, get_cpuid());
print_regs(&tf->tf_regs);
printk(" es 0x----%04x\n", tf->tf_es);
printk(" ds 0x----%04x\n", tf->tf_ds);
printk(" trap 0x%08x %s\n", tf->tf_trapno, trapname(tf->tf_trapno));
// If this trap was a page fault that just happened
// (so %cr2 is meaningful), print the faulting linear address.
if (tf->tf_trapno == T_PGFLT)
printk(" cr2 0x%08x\n", rcr2());
printk(" err 0x%08x", tf->tf_err);
// For page faults, print decoded fault error code:
// U/K=fault occurred in user/kernel mode
// W/R=a write/read caused the fault
// PR=a protection violation caused the fault (NP=page not present).
if (tf->tf_trapno == T_PGFLT)
printk(" [%s, %s, %s]\n",
tf->tf_err & 4 ? "user" : "kernel",
tf->tf_err & 2 ? "write" : "read",
tf->tf_err & 1 ? "protection" : "not-present");
else
printk("\n");
printk(" eip 0x%08x\n", tf->tf_eip);
printk(" cs 0x----%04x\n", tf->tf_cs);
printk(" flag 0x%08x\n", tf->tf_eflags);
if ((tf->tf_cs & 3) != 0) {
printk(" esp 0x%08x\n", tf->tf_esp);
printk(" ss 0x----%04x\n", tf->tf_ss);
}
spin_unlock(&pflock);
}
开发者ID:Zhang626,项目名称:miniOS,代码行数:34,代码来源:interrupt.c
示例6: k_debugger
void k_debugger(regs *r,uint32 eip, uint32 cs, uint32 eflags)
{
char *line;
uint32 n;
kprintf("OpenBLT Kernel Debugger");
for(;;){
krefresh();
line = kgetline(linebuf,80);
if(!strncmp(line,"pgroup ",7)) { dumppgroup(readnum(line+7)); continue; }
if(!strncmp(line,"resource ", 9)) { dumponersrc(line+9); continue; }
if(!strcmp(line,"resources")) { dumprsrc(&resource_list); continue; }
if(!strncmp(line,"queue ",6)) { dumpqueue(readnum(line+6)); continue; }
if(!strcmp(line,"tasks")) { dumptasks(); continue; }
if(!strcmp(line,"ports")) { dumpports(); continue; }
if(!strcmp(line,"memory")) { memory_status(); continue; }
if(!strcmp(line,"trace")) { trace(r->ebp,eip); continue; }
if(!strcmp(line,"regs")) { print_regs(r,eip,cs,eflags); continue; }
if(!strncmp(line,"dump ",5)) { dump(readnum(line+5),16); continue; }
if(!strncmp(line,"aspace ",7)) { dumpaddr(readnum(line+7)); continue; }
if(!strcmp(line,"reboot")) { reboot(); }
if(!strncmp(line,"checksum ",9)) { checksum(line+9); continue; }
if(!strncmp(line,"team ",5)) { dumpteam(readnum(line+5)); continue; }
if(!strncmp(line,"find ",5)) { findpage(readnum(line+5)); continue; }
if(!strcmp(line,"teams")) { dumpteams(); continue; }
if(!strcmp(line,"exit")) break;
if(!strcmp(line,"x")) break;
if(!strcmp(line,"c")) break;
}
}
开发者ID:danilaslau,项目名称:frotznet,代码行数:33,代码来源:debug.c
示例7: update_regs
/// Update processor context
void update_regs()
{
gotoxy(REGS_X, REGS_Y);
print_regs(&p);
dissassemble(&p);
printf("%s \n", asm_m);
}
开发者ID:VahidHeidari,项目名称:NES_DEV,代码行数:8,代码来源:main.c
示例8: print_trapframe
void
print_trapframe(struct Trapframe *tf)
{
cprintf("TRAP frame at %p\n", tf);
print_regs(&tf->tf_regs);
cprintf(" es 0x----%04x\n", tf->tf_es);
cprintf(" ds 0x----%04x\n", tf->tf_ds);
cprintf(" trap 0x%08x %s\n", tf->tf_trapno, trapname(tf->tf_trapno));
// If this trap was a page fault that just happened
// (so %cr2 is meaningful), print the faulting linear address.
if (tf == last_tf && tf->tf_trapno == T_PGFLT)
cprintf(" cr2 0x%08x\n", rcr2());
cprintf(" err 0x%08x", tf->tf_err);
// For page faults, print decoded fault error code:
// U/K=fault occurred in user/kernel mode
// W/R=a write/read caused the fault
// PR=a protection violation caused the fault (NP=page not present).
if (tf->tf_trapno == T_PGFLT)
cprintf(" [%s, %s, %s]\n",
tf->tf_err & 4 ? "user" : "kernel",
tf->tf_err & 2 ? "write" : "read",
tf->tf_err & 1 ? "protection" : "not-present");
else
cprintf("\n");
cprintf(" eip 0x%08x\n", tf->tf_eip);
cprintf(" cs 0x----%04x\n", tf->tf_cs);
cprintf(" flag 0x%08x\n", tf->tf_eflags);
if ((tf->tf_cs & 3) != 0) {
cprintf(" esp 0x%08x\n", tf->tf_esp);
cprintf(" ss 0x----%04x\n", tf->tf_ss);
}
}
开发者ID:Xmagicer,项目名称:6.828mit,代码行数:32,代码来源:trap.c
示例9: __fault
static void __fault(uint32 number,
regs r,
uint32 eip, uint32 cs, uint32 eflags)
{
kprintf("");
kprintf("*** Exception 0x%X (%s)",number,etable[number]);
print_regs(&r, eip, cs, eflags);
kprintf("");
kprintf("Task %d (%s) crashed.",current->rsrc.id,current->rsrc.name);
if((cs & 0xFFF8) == SEL_UCODE) user_debug(&r, &eip, &eflags);
#ifdef DEBUG_ON_FAULT
if(number != 2){
current->flags = tDEAD;
}
k_debugger(&r, eip, cs, eflags);
#endif
#ifdef HALT_ON_FAULT
asm("hlt");
#endif
if(number != 2){
terminate();
}
}
开发者ID:danilaslau,项目名称:frotznet,代码行数:27,代码来源:fault.c
示例10: print_exception_info
static void print_exception_info(struct exc_state *state, uint64_t idx)
{
if (idx < NUM_EXC_VIDS)
printk(BIOS_DEBUG, "exception %s\n", exception_names[idx]);
print_regs(state);
/* Few words below SP in case we need state from a returned function. */
dump_stack(state->regs.sp - 32, 512);
}
开发者ID:AdriDlu,项目名称:coreboot,代码行数:9,代码来源:exception.c
示例11: vce_abort
static int vce_abort(void *device_id, mm_job_post_t *job)
{
struct vce_device_t *id = (struct vce_device_t *)device_id;
pr_info("vce_abort:\n");
print_regs(id);
vce_reset(id);
return 0;
}
开发者ID:TheNikiz,项目名称:android_kernel_samsung_hawaii,代码行数:10,代码来源:vce.c
示例12: dbg_ricoh_show
static int dbg_ricoh_show(struct seq_file *s, void *unused)
{
struct ricoh618 *ricoh = s->private;
struct i2c_client *client = ricoh->client;
seq_printf(s, "RICOH618 Registers\n");
seq_printf(s, "------------------\n");
print_regs("System Regs", s, client, 0x0, 0x05);
print_regs("Power Control Regs", s, client, 0x07, 0x2B);
print_regs("DCDC Regs", s, client, 0x2C, 0x43);
print_regs("LDO Regs", s, client, 0x44, 0x5C);
print_regs("ADC Regs", s, client, 0x64, 0x8F);
print_regs("GPIO Regs", s, client, 0x90, 0x9B);
print_regs("INTC Regs", s, client, 0x9C, 0x9E);
print_regs("OPT Regs", s, client, 0xB0, 0xB1);
print_regs("CHG Regs", s, client, 0xB2, 0xDF);
print_regs("FUEL Regs", s, client, 0xE0, 0xFC);
return 0;
}
开发者ID:xuanhoa9985,项目名称:KERNEL-NPM801,代码行数:20,代码来源:ricoh618.c
示例13: print_trapframe
void print_trapframe(struct trapframe *tf)
{
kprintf("trapframe at %p\n", tf);
print_regs(&tf->tf_regs);
kprintf(" usr_lr 0x%08x\n", tf->__tf_user_lr);
kprintf(" sp 0x%08x\n", tf->tf_esp);
kprintf(" lr 0x%08x\n", tf->tf_epc);
kprintf(" spsr 0x%08x %s\n", tf->tf_sr, modenames[tf->tf_sr & 0xF]);
kprintf(" trap 0x%08x %s\n", tf->tf_trapno, trapname(tf->tf_trapno));
kprintf(" err 0x%08x\n", tf->tf_err);
}
开发者ID:XinYao1994,项目名称:TinyComputer,代码行数:11,代码来源:trap.c
示例14: print_trapframe
void
print_trapframe(struct trapframe *tf) {
cprintf("trapframe at %p\n", tf);
print_regs(&tf->tf_regs);
cprintf(" LO 0x----%08x\n", tf->tf_LO);
cprintf(" HI 0x----%08x\n", tf->tf_HI);
cprintf(" Status 0x----%08x\n", tf->tf_Status);
cprintf(" Cause 0x----%08x\n", tf->tf_Cause);
cprintf(" EPC 0x----%08x\n", tf->tf_EPC);
cprintf(" BadVAddr 0x----%08x\n", tf->tf_BadVAddr);
cprintf(" Exception %s\n", trapname((tf->tf_Cause & 0x0000007c) >> 2));
}
开发者ID:tjs12,项目名称:ComputerSystem2015,代码行数:13,代码来源:trap.c
示例15: print_trapframe
void
print_trapframe(struct Trapframe *tf)
{
cprintf("TRAP frame at %p\n", tf);
print_regs(&tf->tf_regs);
cprintf(" es 0x----%04x\n", tf->tf_es);
cprintf(" ds 0x----%04x\n", tf->tf_ds);
cprintf(" trap 0x%08x %s\n", tf->tf_trapno, trapname(tf->tf_trapno));
cprintf(" err 0x%08x\n", tf->tf_err);
cprintf(" eip 0x%08x\n", tf->tf_eip);
cprintf(" cs 0x----%04x\n", tf->tf_cs);
cprintf(" flag 0x%08x\n", tf->tf_eflags);
cprintf(" esp 0x%08x\n", tf->tf_esp);
cprintf(" ss 0x----%04x\n", tf->tf_ss);
}
开发者ID:Hzwcode,项目名称:MIT-JOS,代码行数:15,代码来源:trap.c
示例16: ipu_run_test
static void ipu_run_test(struct ipu *ipu, bool swap)
{
printf("Enabling clock...\n");
ipu_enable_clock(ipu);
printf("Clock enabled. Reseting IPU...\n");
ipu_reset(ipu, IPU_NEAREST_NEIGHBOR, 320, 144, 320, 240, swap);
printf("IPU reseted. Running IPU...\n");
ipu_run(ipu);
printf("IPU should be running now. Waiting for EOF status bit...\n");
ipu_wait_completion(ipu);
printf("Sequence completed! IPU exited with status code %x.\n\n",
read_reg(ipu, REG_STATUS) & 0x7);
print_regs(ipu);
printf("\nStopping clock...\n");
ipu_disable_clock(ipu);
}
开发者ID:Nebuleon,项目名称:gcw-tests,代码行数:16,代码来源:ipu.c
示例17: dump_regs
void dump_regs(int fd, as3935_t *buf) {
uint8_t regs[9] = {0};
int res;
res = write(fd, regs, 1);
assert(res == 1);
res = read(fd, regs, sizeof(regs));
assert(res == sizeof(regs));
hexdump(regs,sizeof(regs));
print_regs((as3935_t*)regs);
if(buf)
memcpy(buf, regs, sizeof(as3935_t));
}
开发者ID:znuh,项目名称:unsorted,代码行数:16,代码来源:main.c
示例18: read_regs
static int read_regs(struct file *filp)
{
int ret;
bcm_phone_pcm_regs_t regs;
memset(&(regs), 0, sizeof(regs));
ret = bcm_drv_unlocked_ioctl(filp, BCMPH_IOCTL_READ_PCM_REGS, (unsigned long)(&(regs)));
if (!ret) {
print_regs(&(regs));
}
else {
fprintf(stderr, "Error reading PCM registers.\n");
}
return (ret);
}
开发者ID:12019,项目名称:bcm63xx-phone,代码行数:17,代码来源:user.c
示例19: main
int main(int argc, char **argv) {
if(argc != 2){
printf("[-]args's length(%d) is not right", argc);
return -1;
}
pid_t target_pid = atoi(argv[1]);
printf("[+] target_pid | %d\n", target_pid);
ptrace_attach(target_pid);
struct pt_regs regs;
ptrace_getregs(target_pid, ®s);
print_regs(®s);
ptrace_detach(target_pid);
}
开发者ID:tomagoyaky,项目名称:apkUtils_android,代码行数:17,代码来源:ptraceAttach.cpp
示例20: print_trapframe
void print_trapframe(struct trapframe *tf)
{
PRINT_HEX("trapframe at ", tf);
print_regs(&tf->tf_regs);
PRINT_HEX(" $ra\t: ", tf->tf_ra);
PRINT_HEX(" BadVA\t: ", tf->tf_vaddr);
PRINT_HEX(" Status\t: ", tf->tf_status);
PRINT_HEX(" Cause\t: ", tf->tf_cause);
PRINT_HEX(" EPC\t: ", tf->tf_epc);
if (!trap_in_kernel(tf)) {
kprintf("Trap in usermode: ");
} else {
kprintf("Trap in kernel: ");
}
kprintf(trapname(GET_CAUSE_EXCODE(tf->tf_cause)));
kputchar('\n');
}
开发者ID:tansinan,项目名称:ucore_plus,代码行数:17,代码来源:trap.c
注:本文中的print_regs函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论