Ed Swierk wrote: > On 2/1/07, Carl-Daniel Hailfinger <[EMAIL PROTECTED]> wrote: >> The code says something different. >> >> static void delayx(uint8_t value) { >> int i; >> for(i=0;i<0x8000;i++) { >> outb(value, 0x80); >> } >> } >> >> The value is the POST code and has nothing to do with the delay. >> So your patch changed the POST code from E8 (1000 mod 256) to 64 (100) >> and called the delay function ten times. > > So delayx() actually sets the POST code by writing some value 32768 > times, has nothing to do with delay, and the comments about delay are > completely irrelevant? My brain just exploded.
Prepare for more explosions. The POST code is written 32768 times and a side effect of writing to an I/O port on x86 is that it takes ~3 usec depending on whom you ask. Why writing the POST code, you ask? Simple. Port 0x80 is probably the one I/O port with the least side effects. Regards, Carl-Daniel -- http://www.hailfinger.org/ -- linuxbios mailing list linuxbios@linuxbios.org http://www.openbios.org/mailman/listinfo/linuxbios