Aurelien Jarno wrote: > Hi all, > > That's not something new, but I never seen the problem mentioned here. > FreeBSD does not work on KVM, approximately since the lapic merge. > > However, that does not seem related to lapic, as using -no-kvm-irqchip > does not help. With -no-kvm I get a page fault in kernel mode, while the > normal QEMU (0.9.0 or CVS) does not have this problem. > > This can be easily reproduced with the latest installation CD: > ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.2/6.2-RELEASE-i386-bootonly.iso > > Cheers, > Aurelien >
Digging in the FreeBSD sources I found the origin of the problem:
I added some ACPI traces:
rsirq-0234 [13] RsIrqResource : Invalid interrupt polarity/trigger in
resource list, 10
Which is in /sys/contrib/dev/acpica/rsirq.c :
/*
* Check for HE, LL interrupts
*/
switch (Temp8 & 0x09)
{
case 0x01: /* HE */
OutputStruct->Data.Irq.EdgeLevel = ACPI_EDGE_SENSITIVE;
OutputStruct->Data.Irq.ActiveHighLow = ACPI_ACTIVE_HIGH;
break;
case 0x08: /* LL */
OutputStruct->Data.Irq.EdgeLevel = ACPI_LEVEL_SENSITIVE;
OutputStruct->Data.Irq.ActiveHighLow = ACPI_ACTIVE_LOW;
break;
default:
/*
* Only _LL and _HE polarity/trigger interrupts
* are allowed (ACPI spec, section "IRQ Format")
* so 0x00 and 0x09 are illegal.
*/
ACPI_DEBUG_PRINT ((ACPI_DB_ERROR,
"Invalid interrupt polarity/trigger in resource list, %X\n", Tem
p8));
return_ACPI_STATUS (AE_BAD_DATA);
}
Conclusion, in kvm-userspace/bios/acpi-dsdt.dsl, if you have "ActiveHigh", you
must have "Edge" instead of "Level":
- IRQ (Level, ActiveHigh, Shared)
+ IRQ (Edge, ActiveHigh, Shared)
But I found nothing in ACPI specification explaining the freeBSD behavior.
Avi, if you think this anlysis is correct I can provide the patch changing
"Level" to "Edge"...
Laurent
--
---------------- [EMAIL PROTECTED] -----------------
"Given enough eyeballs, all bugs are shallow" E. S. Raymond
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________ kvm-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/kvm-devel
