7111 | (fmt1_ins->destination << 16)
7112 | (fmt1_ins->ret << 24)
7113 | (fmt1_ins->opcode << 25);
7114 }
7115 }
7116
7117 instr.integer = ahc_htole32(instr.integer);
7118 ahc_outsb(ahc, SEQRAM, instr.bytes, 4);
7119 break;
7120 default:
7121 panic("Unknown opcode encountered in seq program");
7122 break;
7123 }
7124}
7125
7126int
7127ahc_print_register(const ahc_reg_parse_entry_t *table, u_int num_entries,
7128 const char *name, u_int address, u_int value,
7129 u_int *cur_column, u_int wrap_point)
7130{
7131 int printed;
7132 u_int printed_mask;
7133
7134 if (cur_column != NULL && *cur_column >= wrap_point) {
7135 printf("\n");
7136 *cur_column = 0;
7137 }
7138 printed = printf("%s[0x%x]", name, value);
7139 if (table == NULL) {
7140 printed += printf(" ");
7141 *cur_column += printed;
7142 return (printed);
7143 }
7144 printed_mask = 0;
7145 while (printed_mask != 0xFF) {
7146 int entry;
7147
7148 for (entry = 0; entry < num_entries; entry++) {
7149 if (((value & table[entry].mask)
7150 != table[entry].value)
7151 || ((printed_mask & table[entry].mask)