Edge triggered interrupts are no longer fatal.
This commit is contained in:
parent
7a0012717c
commit
4cf7769a5d
1 changed files with 9 additions and 14 deletions
|
@ -797,16 +797,11 @@ int devind;
|
||||||
printf("INT%c: %d\n", 'A'+i, irq);
|
printf("INT%c: %d\n", 'A'+i, irq);
|
||||||
if (!(elcr & (1 << irq)))
|
if (!(elcr & (1 << irq)))
|
||||||
{
|
{
|
||||||
if (qemu_pci)
|
if (debug)
|
||||||
{
|
{
|
||||||
printf(
|
printf(
|
||||||
"IRQ is not level triggered (ignored for QEMU)\n");
|
"(warning) IRQ %d is not level triggered\n",
|
||||||
}
|
irq);
|
||||||
else
|
|
||||||
{
|
|
||||||
panic("PCI",
|
|
||||||
"IRQ is not level triggered\n",
|
|
||||||
NO_NUM);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
irq_mode_pci(irq);
|
irq_mode_pci(irq);
|
||||||
|
@ -855,11 +850,11 @@ int devind;
|
||||||
{
|
{
|
||||||
if (debug)
|
if (debug)
|
||||||
printf("INT%c: %d\n", 'A'+i, irq);
|
printf("INT%c: %d\n", 'A'+i, irq);
|
||||||
if (edge)
|
if (edge && debug)
|
||||||
{
|
{
|
||||||
printf("IRQ %d is not level triggered\n",
|
printf(
|
||||||
|
"(warning) IRQ %d is not level triggered\n",
|
||||||
irq);
|
irq);
|
||||||
panic(NULL, NULL, NO_NUM);
|
|
||||||
}
|
}
|
||||||
irq_mode_pci(irq);
|
irq_mode_pci(irq);
|
||||||
}
|
}
|
||||||
|
@ -945,11 +940,11 @@ int devind;
|
||||||
{
|
{
|
||||||
if (debug)
|
if (debug)
|
||||||
printf("INT%c: %d\n", 'A'+i, irq);
|
printf("INT%c: %d\n", 'A'+i, irq);
|
||||||
if (edge)
|
if (edge && debug)
|
||||||
{
|
{
|
||||||
printf("IRQ %d is not level triggered\n",
|
printf(
|
||||||
|
"(warning) IRQ %d is not level triggered\n",
|
||||||
irq);
|
irq);
|
||||||
panic(NULL, NULL, NO_NUM);
|
|
||||||
}
|
}
|
||||||
irq_mode_pci(irq);
|
irq_mode_pci(irq);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue