Messages in this thread |  | | | From | Bodo Eggert <> | | Subject | Re: [PATCH] x86: provide a DMI based port 0x80 I/O delay override | | Date | Sun, 30 Dec 2007 18:50:45 +0100 |
| |
Ingo Molnar <mingo@elte.hu> wrote:
> do you have any memories about the outb_p() use of misc_32.c: > > pos = (x + cols * y) * 2; /* Update cursor position */ > outb_p(14, vidport); > outb_p(0xff & (pos >> 9), vidport+1); > outb_p(15, vidport); > outb_p(0xff & (pos >> 1), vidport+1); > > was this ever needed? This is so early in the bootup that can we cannot > do any sensible delay. Perhaps we could try a natural delay sequence via > inb from 0x3cc: > > outb(14, vidport); > inb(0x3cc); /* delay */ > outb(0xff & (pos >> 9), vidport+1);
I've never seen code which would do that, and it was not suggested by any tutorial I ever saw. I'd expect any machine to break on all kinds of software if it required this. The only thing I remember being warned about is writing the index and the data register at the same time using outw, because that would write both registers at the same time on 16-bit-cards.
BTW: The error function in linux-2.6.23/arch/i386/boot/compressed/misc.c uses while(1) without cpu_relax() in order to halt the machine. Is this fixed? Should it be fixed?
|  |