예제 #1
0
static void print_regs(struct exc_state *exc_state)
{
	int i;
	struct elx_state *elx = &exc_state->elx;
	struct regs *regs = &exc_state->regs;

	uint64_t elx_esr = raw_read_esr_current();
	uint64_t elx_far = raw_read_far_current();

	printk(BIOS_DEBUG, "ELR = 0x%016llx\n", elx->elr);
	printk(BIOS_DEBUG, "ESR = 0x%016llx\n", elx_esr);
	printk(BIOS_DEBUG, "SPSR = 0x%08llx\n", elx->spsr);
	printk(BIOS_DEBUG, "FAR = 0x%016llx\n", elx_far);
	for (i = X0_INDEX; i < XMAX_INDEX; i++)
		printk(BIOS_DEBUG, "X%02d = 0x%016llx\n", i, regs->x[i]);
}
예제 #2
0
static void print_regs(struct exc_state *exc_state)
{
	int i;
	struct elx_state *elx = &exc_state->elx;
	struct regs *regs = &exc_state->regs;

	printk(BIOS_DEBUG, "ELR = 0x%016llx         ESR = 0x%08x\n",
	       elx->elr, raw_read_esr_current());
	printk(BIOS_DEBUG, "FAR = 0x%016llx        SPSR = 0x%08x\n",
	       raw_read_far_current(), raw_read_spsr_current());
	for (i = 0; i < 30; i += 2) {
		printk(BIOS_DEBUG,
		       "X%02d = 0x%016llx         X%02d = 0x%016llx\n",
		       i, regs->x[i], i + 1, regs->x[i + 1]);
	}
	printk(BIOS_DEBUG, "X30 = 0x%016llx          SP = 0x%016llx\n",
	       regs->x[30], regs->sp);
}