From: Aurelien J. <aur...@au...> - 2007-10-02 11:42:01
|
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 -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' au...@de... | aur...@au... `- people.debian.org/~aurel32 | www.aurel32.net |
From: Laurent V. <Lau...@bu...> - 2007-10-02 11:54:46
Attachments:
signature.asc
|
Hi Aur=E9lien, did you try kvm-45 ? Laurent Aurelien Jarno wrote: > Hi all, >=20 > That's not something new, but I never seen the problem mentioned here. > FreeBSD does not work on KVM, approximately since the lapic merge. >=20 > 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 th= e > normal QEMU (0.9.0 or CVS) does not have this problem. >=20 > 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 >=20 > Cheers, > Aurelien >=20 --=20 ------------- Lau...@bu... -------------- "Software is hard" - Donald Knuth |
From: Aurelien J. <aur...@au...> - 2007-10-02 12:18:52
|
Laurent Vivier a écrit : > Hi Aurélien, > > did you try kvm-45 ? > Yes the test is done with kvm-45. -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' au...@de... | aur...@au... `- people.debian.org/~aurel32 | www.aurel32.net |
From: Avi K. <av...@qu...> - 2007-10-02 12:10:08
|
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 > > It complains about the RSDT checksum. Running with -no-acpi works around the problem (it gets to some country selection screen). So it looks like the ACPI tables are messed up. Igor? Any hint? -- error compiling committee.c: too many arguments to function |
From: Aurelien J. <aur...@au...> - 2007-10-02 12:21:57
|
Avi Kivity a écrit : > 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 >> >> > > It complains about the RSDT checksum. Running with -no-acpi works > around the problem (it gets to some country selection screen). So it > looks like the ACPI tables are messed up. The RSDT checksum problem is not new, but it was harmless on previous versions (like kvm-37). Using -no-acpi, I am able to boot the machine with -no-kvm, but the guest still hang with -no-acpi and with -no-kvm-irqchip or lapic enabled. At least on AMD64, I haven't tested yet on an Intel machine. -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' au...@de... | aur...@au... `- people.debian.org/~aurel32 | www.aurel32.net |
From: Avi K. <av...@qu...> - 2007-10-02 16:27:36
|
Aurelien Jarno wrote: > Avi Kivity a écrit : > >> 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 >>> >>> >>> >> It complains about the RSDT checksum. Running with -no-acpi works >> around the problem (it gets to some country selection screen). So it >> looks like the ACPI tables are messed up. >> > > The RSDT checksum problem is not new, but it was harmless on previous > versions (like kvm-37). > > Using -no-acpi, I am able to boot the machine with -no-kvm, but the > guest still hang with -no-acpi and with -no-kvm-irqchip or lapic > enabled. At least on AMD64, I haven't tested yet on an Intel machine. > > Looks like there is a compiler problem that's interfering here. A bios compiled on one machine will boot fine on Intel, but on other machines (unfortunately my work machines) will not. There is a separate issue with -no-acpi on AMD. Is there some version where -no-acpi worked on AMD? -- error compiling committee.c: too many arguments to function |
From: Aurelien J. <aur...@au...> - 2007-10-02 16:53:02
|
Avi Kivity a écrit : > Aurelien Jarno wrote: >> Avi Kivity a écrit : >> >>> 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 >>>> >>>> >>>> >>> It complains about the RSDT checksum. Running with -no-acpi works >>> around the problem (it gets to some country selection screen). So it >>> looks like the ACPI tables are messed up. >>> >> The RSDT checksum problem is not new, but it was harmless on previous >> versions (like kvm-37). >> >> Using -no-acpi, I am able to boot the machine with -no-kvm, but the >> guest still hang with -no-acpi and with -no-kvm-irqchip or lapic >> enabled. At least on AMD64, I haven't tested yet on an Intel machine. >> >> > > Looks like there is a compiler problem that's interfering here. A bios > compiled on one machine will boot fine on Intel, but on other machines > (unfortunately my work machines) will not. > > There is a separate issue with -no-acpi on AMD. Is there some version > where -no-acpi worked on AMD? It was working correctly before, up to kvm version 37. I also confirm that using -no-acpi fixes the problem. However, I have seen strange data corruption, even on Intel. Basically, booting a recently installed FreeBSD leads to the following message from the bootloader: "No kernel found". And the next time, I get from the *BIOS*: "Boot from Hard Disk failed: not a bootable disk". Looking at the disk image, the partition table (and maybe more?) has disappeared. This is with a raw image disk. If I pass either -no-kvm or -no-kvm-irqchip, the problem disappear. -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' au...@de... | aur...@au... `- people.debian.org/~aurel32 | www.aurel32.net |
From: Aurelien J. <aur...@au...> - 2007-10-02 17:04:05
|
Aurelien Jarno a écrit : > Avi Kivity a écrit : >> Aurelien Jarno wrote: >>> Avi Kivity a écrit : >>> >>>> 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 >>>>> >>>>> >>>>> >>>> It complains about the RSDT checksum. Running with -no-acpi works >>>> around the problem (it gets to some country selection screen). So it >>>> looks like the ACPI tables are messed up. >>>> >>> The RSDT checksum problem is not new, but it was harmless on previous >>> versions (like kvm-37). >>> >>> Using -no-acpi, I am able to boot the machine with -no-kvm, but the >>> guest still hang with -no-acpi and with -no-kvm-irqchip or lapic >>> enabled. At least on AMD64, I haven't tested yet on an Intel machine. >>> >>> >> Looks like there is a compiler problem that's interfering here. A bios >> compiled on one machine will boot fine on Intel, but on other machines >> (unfortunately my work machines) will not. >> >> There is a separate issue with -no-acpi on AMD. Is there some version >> where -no-acpi worked on AMD? > > It was working correctly before, up to kvm version 37. > > I also confirm that using -no-acpi fixes the problem. However, I have > seen strange data corruption, even on Intel. > > Basically, booting a recently installed FreeBSD leads to the following > message from the bootloader: "No kernel found". And the next time, I get > from the *BIOS*: "Boot from Hard Disk failed: not a bootable disk". > > Looking at the disk image, the partition table (and maybe more?) has > disappeared. This is with a raw image disk. > > If I pass either -no-kvm or -no-kvm-irqchip, the problem disappear. I have just got the problem with -no-kvm-irqchip, though it seems to happen less often. -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' au...@de... | aur...@au... `- people.debian.org/~aurel32 | www.aurel32.net |
From: Aurelien J. <aur...@au...> - 2007-10-02 17:26:00
|
Aurelien Jarno a écrit : > Aurelien Jarno a écrit : >> Avi Kivity a écrit : >>> Aurelien Jarno wrote: >>>> Avi Kivity a écrit : >>>> >>>>> 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 >>>>>> >>>>>> >>>>>> >>>>> It complains about the RSDT checksum. Running with -no-acpi works >>>>> around the problem (it gets to some country selection screen). So it >>>>> looks like the ACPI tables are messed up. >>>>> >>>> The RSDT checksum problem is not new, but it was harmless on previous >>>> versions (like kvm-37). >>>> >>>> Using -no-acpi, I am able to boot the machine with -no-kvm, but the >>>> guest still hang with -no-acpi and with -no-kvm-irqchip or lapic >>>> enabled. At least on AMD64, I haven't tested yet on an Intel machine. >>>> >>>> >>> Looks like there is a compiler problem that's interfering here. A bios >>> compiled on one machine will boot fine on Intel, but on other machines >>> (unfortunately my work machines) will not. >>> >>> There is a separate issue with -no-acpi on AMD. Is there some version >>> where -no-acpi worked on AMD? >> It was working correctly before, up to kvm version 37. >> >> I also confirm that using -no-acpi fixes the problem. However, I have >> seen strange data corruption, even on Intel. >> >> Basically, booting a recently installed FreeBSD leads to the following >> message from the bootloader: "No kernel found". And the next time, I get >> from the *BIOS*: "Boot from Hard Disk failed: not a bootable disk". >> >> Looking at the disk image, the partition table (and maybe more?) has >> disappeared. This is with a raw image disk. >> >> If I pass either -no-kvm or -no-kvm-irqchip, the problem disappear. > > I have just got the problem with -no-kvm-irqchip, though it seems to > happen less often. The data corruption seems to come from the userspace part, as I am not able to reproduce it with the kvm-45 module, and the kvm-44 userspace. -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' au...@de... | aur...@au... `- people.debian.org/~aurel32 | www.aurel32.net |
From: Avi K. <av...@qu...> - 2007-10-10 11:18:21
|
Aurelien Jarno wrote: >>> I also confirm that using -no-acpi fixes the problem. However, I have >>> seen strange data corruption, even on Intel. >>> >>> Basically, booting a recently installed FreeBSD leads to the following >>> message from the bootloader: "No kernel found". And the next time, I get >>> from the *BIOS*: "Boot from Hard Disk failed: not a bootable disk". >>> >>> Looking at the disk image, the partition table (and maybe more?) has >>> disappeared. This is with a raw image disk. >>> >>> If I pass either -no-kvm or -no-kvm-irqchip, the problem disappear. >>> >> I have just got the problem with -no-kvm-irqchip, though it seems to >> happen less often. >> > > The data corruption seems to come from the userspace part, as I am not > able to reproduce it with the kvm-45 module, and the kvm-44 userspace. > > Does it occur with -no-kvm? -- error compiling committee.c: too many arguments to function |
From: Aurelien J. <aur...@au...> - 2007-10-10 11:27:18
|
Avi Kivity a écrit : > Aurelien Jarno wrote: >>>> I also confirm that using -no-acpi fixes the problem. However, I have >>>> seen strange data corruption, even on Intel. >>>> >>>> Basically, booting a recently installed FreeBSD leads to the following >>>> message from the bootloader: "No kernel found". And the next time, I get >>>> from the *BIOS*: "Boot from Hard Disk failed: not a bootable disk". >>>> >>>> Looking at the disk image, the partition table (and maybe more?) has >>>> disappeared. This is with a raw image disk. >>>> >>>> If I pass either -no-kvm or -no-kvm-irqchip, the problem disappear. >>>> >>> I have just got the problem with -no-kvm-irqchip, though it seems to >>> happen less often. >>> >> The data corruption seems to come from the userspace part, as I am not >> able to reproduce it with the kvm-45 module, and the kvm-44 userspace. >> >> > > Does it occur with -no-kvm? > With kvm 45 it does not occurs with -no-kvm. With kvm 46 the problem is still there, but I haven't tried with -no-kvm yet. I am currently building a small test image, otherwise I spend all my time copying a 15GB image. -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' au...@de... | aur...@au... `- people.debian.org/~aurel32 | www.aurel32.net |
From: Avi K. <av...@qu...> - 2007-10-10 11:30:07
|
Aurelien Jarno wrote: > Avi Kivity a écrit : > >> Aurelien Jarno wrote: >> >>>>> I also confirm that using -no-acpi fixes the problem. However, I have >>>>> seen strange data corruption, even on Intel. >>>>> >>>>> Basically, booting a recently installed FreeBSD leads to the following >>>>> message from the bootloader: "No kernel found". And the next time, I get >>>>> from the *BIOS*: "Boot from Hard Disk failed: not a bootable disk". >>>>> >>>>> Looking at the disk image, the partition table (and maybe more?) has >>>>> disappeared. This is with a raw image disk. >>>>> >>>>> If I pass either -no-kvm or -no-kvm-irqchip, the problem disappear. >>>>> >>>>> >>>> I have just got the problem with -no-kvm-irqchip, though it seems to >>>> happen less often. >>>> >>>> >>> The data corruption seems to come from the userspace part, as I am not >>> able to reproduce it with the kvm-45 module, and the kvm-44 userspace. >>> >>> >>> >> Does it occur with -no-kvm? >> >> > > With kvm 45 it does not occurs with -no-kvm. > > With kvm 46 the problem is still there, but I haven't tried with -no-kvm > yet. I am currently building a small test image, otherwise I spend all > my time copying a 15GB image. > > Maybe snapshots can help here... -- error compiling committee.c: too many arguments to function |
From: Aurelien J. <aur...@au...> - 2007-10-10 13:22:08
|
Avi Kivity a écrit : > Aurelien Jarno wrote: >>>> I also confirm that using -no-acpi fixes the problem. However, I have >>>> seen strange data corruption, even on Intel. >>>> >>>> Basically, booting a recently installed FreeBSD leads to the following >>>> message from the bootloader: "No kernel found". And the next time, I get >>>> from the *BIOS*: "Boot from Hard Disk failed: not a bootable disk". >>>> >>>> Looking at the disk image, the partition table (and maybe more?) has >>>> disappeared. This is with a raw image disk. >>>> >>>> If I pass either -no-kvm or -no-kvm-irqchip, the problem disappear. >>>> >>> I have just got the problem with -no-kvm-irqchip, though it seems to >>> happen less often. >>> >> The data corruption seems to come from the userspace part, as I am not >> able to reproduce it with the kvm-45 module, and the kvm-44 userspace. >> >> > > Does it occur with -no-kvm? > After a few more tests, I have been able to reproduce it with the current CVS version of QEMU. I conclude this is a QEMU or a BIOS problem, and not a KVM one. Sorry for the noise. -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' au...@de... | aur...@au... `- people.debian.org/~aurel32 | www.aurel32.net |
From: Avi K. <av...@qu...> - 2007-10-10 13:23:25
|
Aurelien Jarno wrote: > Avi Kivity a écrit : > >> Aurelien Jarno wrote: >> >>>>> I also confirm that using -no-acpi fixes the problem. However, I have >>>>> seen strange data corruption, even on Intel. >>>>> >>>>> Basically, booting a recently installed FreeBSD leads to the following >>>>> message from the bootloader: "No kernel found". And the next time, I get >>>>> from the *BIOS*: "Boot from Hard Disk failed: not a bootable disk". >>>>> >>>>> Looking at the disk image, the partition table (and maybe more?) has >>>>> disappeared. This is with a raw image disk. >>>>> >>>>> If I pass either -no-kvm or -no-kvm-irqchip, the problem disappear. >>>>> >>>>> >>>> I have just got the problem with -no-kvm-irqchip, though it seems to >>>> happen less often. >>>> >>>> >>> The data corruption seems to come from the userspace part, as I am not >>> able to reproduce it with the kvm-45 module, and the kvm-44 userspace. >>> >>> >>> >> Does it occur with -no-kvm? >> >> > > After a few more tests, I have been able to reproduce it with the > current CVS version of QEMU. I conclude this is a QEMU or a BIOS > problem, and not a KVM one. > > Sorry for the noise. > Well, it still needs to be fixed. I think there's a git import of qemu available somewhere, that can be used for bisecting. -- error compiling committee.c: too many arguments to function |
From: Aurelien J. <aur...@au...> - 2007-10-10 13:47:19
|
Avi Kivity a écrit : > Aurelien Jarno wrote: >> Avi Kivity a écrit : >> >>> Aurelien Jarno wrote: >>> >>>>>> I also confirm that using -no-acpi fixes the problem. However, I have >>>>>> seen strange data corruption, even on Intel. >>>>>> >>>>>> Basically, booting a recently installed FreeBSD leads to the following >>>>>> message from the bootloader: "No kernel found". And the next time, I get >>>>>> from the *BIOS*: "Boot from Hard Disk failed: not a bootable disk". >>>>>> >>>>>> Looking at the disk image, the partition table (and maybe more?) has >>>>>> disappeared. This is with a raw image disk. >>>>>> [snip] >> After a few more tests, I have been able to reproduce it with the >> current CVS version of QEMU. I conclude this is a QEMU or a BIOS >> problem, and not a KVM one. >> >> Sorry for the noise. >> > > Well, it still needs to be fixed. I think there's a git import of qemu > available somewhere, that can be used for bisecting. > Well the IDE code hasn't changed a lot recently, so I checked the CVS history and easily (first test) found the commit that causes the problem: Last AIO patch, by Vladimir N. Oleynik. http://cvs.savannah.nongnu.org/viewvc/qemu/hw/ide.c?root=qemu&r1=1.64&r2=1.65 -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' au...@de... | aur...@au... `- people.debian.org/~aurel32 | www.aurel32.net |
From: Avi K. <av...@qu...> - 2007-11-08 06:45:13
|
Aurelien Jarno wrote: > Well the IDE code hasn't changed a lot recently, so I checked the CVS > history and easily (first test) found the commit that causes the problem: > > Last AIO patch, by Vladimir N. Oleynik. > > http://cvs.savannah.nongnu.org/viewvc/qemu/hw/ide.c?root=qemu&r1=1.64&r2=1.65 > > Have we learned something about this issue? Should I revert the patch from kvm? Should qemu? -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. |
From: Aurelien J. <aur...@au...> - 2007-11-08 09:44:16
|
Avi Kivity a écrit : > Aurelien Jarno wrote: >> Well the IDE code hasn't changed a lot recently, so I checked the CVS >> history and easily (first test) found the commit that causes the problem: >> >> Last AIO patch, by Vladimir N. Oleynik. >> >> http://cvs.savannah.nongnu.org/viewvc/qemu/hw/ide.c?root=qemu&r1=1.64&r2=1.65 >> >> > > Have we learned something about this issue? Should I revert the patch > from kvm? Should qemu? > >From my side, I haven't found time to debug the problem. Instead I am reverting this patch locally each time I install qemu or kvm. -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' au...@de... | aur...@au... `- people.debian.org/~aurel32 | www.aurel32.net |
From: Laurent V. <Lau...@bu...> - 2007-10-03 12:28:21
Attachments:
signature.asc
|
Avi Kivity wrote: > Aurelien Jarno wrote: >> Avi Kivity a =E9crit : >> =20 >>> Aurelien Jarno wrote: >>> =20 >>>> Hi all, >>>> >>>> That's not something new, but I never seen the problem mentioned her= e. >>>> FreeBSD does not work on KVM, approximately since the lapic merge. >>>> >>>> However, that does not seem related to lapic, as using -no-kvm-irqch= ip >>>> 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-i3= 86-bootonly.iso >>>> >>>> =20 >>>> =20 >>> It complains about the RSDT checksum. Running with -no-acpi works=20 >>> around the problem (it gets to some country selection screen). So it= =20 >>> looks like the ACPI tables are messed up. >>> =20 >> The RSDT checksum problem is not new, but it was harmless on previous >> versions (like kvm-37). >> >> Using -no-acpi, I am able to boot the machine with -no-kvm, but the >> guest still hang with -no-acpi and with -no-kvm-irqchip or lapic >> enabled. At least on AMD64, I haven't tested yet on an Intel machine. >> >> =20 >=20 > Looks like there is a compiler problem that's interfering here. A bios= =20 > compiled on one machine will boot fine on Intel, but on other machines = > (unfortunately my work machines) will not. >=20 > There is a separate issue with -no-acpi on AMD. Is there some version = > where -no-acpi worked on AMD? >=20 I've found the first bios that is not working on my machine (intel) is at= : commit 41675d73b654bd926670d69551a0903b8a9f7fd5 Author: Avi Kivity <av...@qu...> Date: Thu Sep 20 18:45:24 2007 +0200 kvm: bios: advertise pci irqs as active high now that kvm emulates the ioapic polarity correctly, we must describe= the polarity correctly in the acpi tables. otherwise pci interrupts = won't be delivered correctly. Signed-off-by: Avi Kivity <av...@qu...> Reverting this commit from master allows to boot again freebsd. It works fine with and without "-no-kvm-irqchip". But it doesn't allow to make working debian-31r0a-amd64 install CD. Laurent --=20 ------------- Lau...@bu... -------------- "Software is hard" - Donald Knuth |
From: Laurent V. <Lau...@bu...> - 2007-10-02 12:27:41
Attachments:
signature.asc
|
Avi Kivity wrote: > 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 t= he >> 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 >> >> =20 >=20 > It complains about the RSDT checksum. Running with -no-acpi works=20 > around the problem (it gets to some country selection screen). So it=20 > looks like the ACPI tables are messed up. I should have the same kind of problem with debian-31r0a-amd64-netinst.is= o which hangs on: " Loading module 'ide-disk' for 'Linux ATA DISK'..." and "-no-acpi" resolves this too. Laurent --=20 ------------- Lau...@bu... -------------- "Software is hard" - Donald Knuth |
From: Aurelien J. <aur...@au...> - 2007-10-02 12:59:47
|
Laurent Vivier a écrit : > Avi Kivity wrote: >> 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 >>> >>> >> It complains about the RSDT checksum. Running with -no-acpi works >> around the problem (it gets to some country selection screen). So it >> looks like the ACPI tables are messed up. > > I should have the same kind of problem with debian-31r0a-amd64-netinst.iso which > hangs on: " Loading module 'ide-disk' for 'Linux ATA DISK'..." > > and "-no-acpi" resolves this too. > This is most probably the same problem on FreeBSD, as it has destroyed my disk image. I don't know yet if I can repair it or not. -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' au...@de... | aur...@au... `- people.debian.org/~aurel32 | www.aurel32.net |
From: Avi K. <av...@qu...> - 2007-10-02 12:38:45
|
Aurelien Jarno wrote: > Avi Kivity a écrit : > >> 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 >>> >>> >>> >> It complains about the RSDT checksum. Running with -no-acpi works >> around the problem (it gets to some country selection screen). So it >> looks like the ACPI tables are messed up. >> > > The RSDT checksum problem is not new, but it was harmless on previous > versions (like kvm-37). > > Using -no-acpi, I am able to boot the machine with -no-kvm, but the > guest still hang with -no-acpi and with -no-kvm-irqchip or lapic > enabled. At least on AMD64, I haven't tested yet on an Intel machine. > > Hangs on AMD here as well; works on intel (with -no-acpi). -- error compiling committee.c: too many arguments to function |
From: Aurelien J. <aur...@au...> - 2007-10-10 20:42:35
|
On Tue, Oct 02, 2007 at 02:38:19PM +0200, Avi Kivity wrote: > Aurelien Jarno wrote: > > Avi Kivity a écrit : > > > >> 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 > >>> > >>> > >>> > >> It complains about the RSDT checksum. Running with -no-acpi works > >> around the problem (it gets to some country selection screen). So it > >> looks like the ACPI tables are messed up. > >> > > > > The RSDT checksum problem is not new, but it was harmless on previous > > versions (like kvm-37). > > > > Using -no-acpi, I am able to boot the machine with -no-kvm, but the > > guest still hang with -no-acpi and with -no-kvm-irqchip or lapic > > enabled. At least on AMD64, I haven't tested yet on an Intel machine. > > > > > > Hangs on AMD here as well; works on intel (with -no-acpi). I have finally found time to bisect the problem. The commit that has broken FreeBSD on AMD is already a bit old: commit aa38840d3d2e0a804e628077df8d8879b496d741 Author: Rusty Russell <ru...@ru...> Date: Sun Sep 9 14:12:54 2007 +0300 KVM: Clean up unloved invlpg emulation invlpg shouldn't fetch the "src" address, since it may not be valid, however SVM's "solution" which neuters emulation of all group 7 instruction is horrible and breaks kvm-lite. The simplest fix is to put a special check in for invlpg. Signed-off-by: Rusty Russell <ru...@ru...> Signed-off-by: Avi Kivity <av...@qu...> -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' au...@de... | aur...@au... `- people.debian.org/~aurel32 | www.aurel32.net |
From: Laurent V. <Lau...@bu...> - 2007-10-05 13:26:07
Attachments:
signature.asc
|
Aurelien Jarno wrote: > Hi all, >=20 > That's not something new, but I never seen the problem mentioned here. > FreeBSD does not work on KVM, approximately since the lapic merge. >=20 > 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 th= e > normal QEMU (0.9.0 or CVS) does not have this problem. >=20 > 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 >=20 > Cheers, > Aurelien >=20 Digging in the FreeBSD sources I found the origin of the problem: I added some ACPI traces: rsirq-0234 [13] RsIrqResource : Invalid interrupt polarity/tri= gger 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 =3D ACPI_EDGE_SENSITIVE; OutputStruct->Data.Irq.ActiveHighLow =3D ACPI_ACTIVE_HIGH; break; case 0x08: /* LL */ OutputStruct->Data.Irq.EdgeLevel =3D ACPI_LEVEL_SENSITIVE; OutputStruct->Data.Irq.ActiveHighLow =3D 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= =2E Avi, if you think this anlysis is correct I can provide the patch changin= g "Level" to "Edge"... Laurent --=20 ---------------- Lau...@bu... ----------------- "Given enough eyeballs, all bugs are shallow" E. S. Raymond |
From: Aurelien J. <aur...@au...> - 2007-10-05 13:51:30
|
On Fri, Oct 05, 2007 at 03:25:05PM +0200, Laurent Vivier wrote: > 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); > } > Good catch! > 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. > It's actually described page 200 of the specifications (page 216 in ACPIspec30.pdf): Note: This descriptor is meant for describing interrupts that are connected to PIC-compatible interrupt controllers, which can only be programmed for Active-High-Edge-Triggered or Active- Low-Level-Triggered interrupts. Any other combination is illegal. The Extended Interrupt Descriptor can be used to describe other combinations. > Avi, if you think this anlysis is correct I can provide the patch changing > "Level" to "Edge"... > It looks like the solution is either to describe the IRQ with an "Extended Interrupt Descriptor" or to change this value to one of the two allowed values. In the later case we have to make sure it is consistent with the way the PIC works. -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' au...@de... | aur...@au... `- people.debian.org/~aurel32 | www.aurel32.net |
From: Laurent V. <Lau...@bu...> - 2007-10-05 16:06:50
Attachments:
signature.asc
|
Aurelien Jarno wrote: > On Fri, Oct 05, 2007 at 03:25:05PM +0200, Laurent Vivier wrote: [snip] > It looks like the solution is either to describe the IRQ with an=20 > "Extended Interrupt Descriptor" or to change this value to one of the=20 > two allowed values. In the later case we have to make sure it is > consistent with the way the PIC works. >=20 A third solution should be to restore active level to "ActiveLow" but I t= ested it and it doesn't work. Moreover, according qemu/hw/i8259.c I think i8259 works like ACPI spec ex= pects. But there should be more bugs in ACPI as my Debian Serge amd64 install CD= (linux 2.6.8) is only able to boot with "-no-acpi". Laurent --=20 ---------------- Lau...@bu... ----------------- "Given enough eyeballs, all bugs are shallow" E. S. Raymond |