void do_console(void) { char line[256]; unsigned long len; wrkgp(); wrent(entInt, 0); set_console_alarm(); swpipl(0); if (have_vga) { unsigned short *vga, attr; vga = pci_mem_base + SEG_CTEXT *16; attr = 0x2000; vga[0] = 'H' + attr; vga[1] = 'e' + attr; vga[2] = 'l' + attr; vga[3] = 'l' + attr; vga[4] = 'o' + attr; } while (1) { crb_puts(0, ">>> ", 4); len = getline(line, sizeof(line)); crb_puts(0, "got: ", 5); crb_puts(0, line, len); output_crnl(); } }
static long tsunami_probe_read(volatile unsigned long *vaddr) { long dont_care, probe_result; int cpu = smp_processor_id(); int s = swpipl(6); /* Block everything but machine checks. */ TSUNAMI_mcheck_taken[cpu] = 0; TSUNAMI_mcheck_expected[cpu] = 1; dont_care = *vaddr; draina(); TSUNAMI_mcheck_expected[cpu] = 0; probe_result = !TSUNAMI_mcheck_taken[cpu]; TSUNAMI_mcheck_taken[cpu] = 0; setipl(s); printk("dont_care == 0x%lx\n", dont_care); return probe_result; }