Re: FreeBSD image hangs during boot

Laurent Vivier
2007-10-05T13:25:05Z

[-- Attachment #1.1: Type: text/plain, Size: 2306 bytes --]

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

--
---------------- Laurent.Vivier-6ktuUTfB/bM@public.gmane.org -----------------
"Given enough eyeballs, all bugs are shallow" E. S. Raymond

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

[-- Attachment #2: Type: text/plain, Size: 314 bytes --]

-------------------------------------------------------------------------
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/

[-- Attachment #3: Type: text/plain, Size: 186 bytes --]

_______________________________________________
kvm-devel mailing list
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org