mirror of
https://github.com/ipxe/ipxe
synced 2025-12-19 19:49:45 +03:00
Kill off poll_interruptions(); it is lethal when we're acting as a PXE
stack or INT 13 emulator etc.
This commit is contained in:
@@ -72,20 +72,6 @@ int32_t random(void)
|
||||
return seed;
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
POLL INTERRUPTIONS
|
||||
**************************************************************************/
|
||||
void poll_interruptions(void)
|
||||
{
|
||||
int ch;
|
||||
if ( ! as_main_program ) return;
|
||||
/* If an interruption has occured restart etherboot */
|
||||
if (iskey() && (ch = getchar(), (ch == K_ESC) || (ch == K_EOF) || (ch == K_INTR))) {
|
||||
int state = (ch != K_INTR)? -1 : -3;
|
||||
longjmp(restart_etherboot, state);
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
SLEEP
|
||||
**************************************************************************/
|
||||
@@ -94,7 +80,6 @@ void sleep(int secs)
|
||||
unsigned long tmo;
|
||||
|
||||
for (tmo = currticks()+secs*TICKS_PER_SEC; currticks() < tmo; ) {
|
||||
poll_interruptions();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -883,11 +883,6 @@ int await_reply(reply_t reply, int ival, void *ptr, long timeout)
|
||||
if (result == 0) {
|
||||
/* We don't have anything */
|
||||
|
||||
/* Check for abort key only if the Rx queue is empty -
|
||||
* as long as we have something to process, don't
|
||||
* assume that something failed. It is unlikely that
|
||||
* we have no processing time left between packets. */
|
||||
poll_interruptions();
|
||||
/* Do the timeout after at least a full queue walk. */
|
||||
if ((timeout == 0) || (currticks() > time)) {
|
||||
break;
|
||||
|
||||
@@ -48,7 +48,6 @@ struct driver_interact_t driver[] = {
|
||||
void sleepticks(int numticks ) {
|
||||
u_int tmo;
|
||||
for (tmo = currticks()+numticks; currticks() < tmo; ) {
|
||||
poll_interruptions();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@ void mdelay(unsigned int msecs)
|
||||
unsigned int i;
|
||||
for(i = 0; i < msecs; i++) {
|
||||
udelay(1000);
|
||||
poll_interruptions();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +24,5 @@ void waiton_timer2(unsigned int ticks)
|
||||
{
|
||||
load_timer2(ticks);
|
||||
while(timer2_running()) {
|
||||
poll_interruptions();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user