Date: Thu, 21 Feb 2019 09:15:45 -0800 From: Conrad Meyer <cem@freebsd.org> To: Oleg Ginzburg <olevole@olevole.ru> Cc: FreeBSD Current <freebsd-current@freebsd.org>, "freebsd-virtualization@freebsd.org" <freebsd-virtualization@freebsd.org>, Jung-uk Kim <jkim@freebsd.org> Subject: Re: r344398 Import ACPICA 20190215: breaks bhyve Message-ID: <CAG6CVpUrUK6fHuVH%2BBATgBNiJvMixfKJPanvZVB5SSDwRhVfzg@mail.gmail.com> In-Reply-To: <CAMsb%2BmaoBZN5xsDnZp-HisQTgqr339ePjvqkCw2R-GTqQEnWUw@mail.gmail.com> References: <CAMsb%2BmaoBZN5xsDnZp-HisQTgqr339ePjvqkCw2R-GTqQEnWUw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Oops, to the list this time. Hi Oleg, Those look like the ACPI lines bhyve attempts to generate and compile in basl_fwrite_madt(): 272 /* Legacy IRQ0 is connected to pin 2 of the IOAPIC */ 273 EFPRINTF(fp, "[0001]\t\tSubtable Type : 02\n"); 274 EFPRINTF(fp, "[0001]\t\tLength : 0A\n"); 275 EFPRINTF(fp, "[0001]\t\tBus : 00\n"); 276 EFPRINTF(fp, "[0001]\t\tSource : 00\n"); 277 EFPRINTF(fp, "[0004]\t\tInterrupt : 00000002\n"); 278 EFPRINTF(fp, "[0002]\t\tFlags (decoded below) : 0005\n"); ^^^ this line ("maximum 1 bit") 279 EFPRINTF(fp, "\t\t\tPolarity : 1\n"); 280 EFPRINTF(fp, "\t\t\tTrigger Mode : 1\n"); 281 EFPRINTF(fp, "\n"); 282 283 EFPRINTF(fp, "[0001]\t\tSubtable Type : 02\n"); 284 EFPRINTF(fp, "[0001]\t\tLength : 0A\n"); 285 EFPRINTF(fp, "[0001]\t\tBus : 00\n"); 286 EFPRINTF(fp, "[0001]\t\tSource : %02X\n", SCI_INT); 287 EFPRINTF(fp, "[0004]\t\tInterrupt : %08X\n", SCI_INT); ^^^ this line ("maximum 2 bit"; SCI_INT=3D=3D9) 288 EFPRINTF(fp, "[0002]\t\tFlags (decoded below) : 0000\n"); 289 EFPRINTF(fp, "\t\t\tPolarity : 3\n"); 290 EFPRINTF(fp, "\t\t\tTrigger Mode : 3\n"); 291 EFPRINTF(fp, "\n"); Would you mind filing a PR to track this investigation? The error message and constraint on Value being in range of BitLength was added to DtCompileFlag() in compiler/dtfield.c way back in r208625 (ACPICA 20100528) =E2=80=94 it's not new. What must be new is the idea tha= t these fields have a smaller bit width that the numbers bhyve has chosen, or bhyve's choice of numbers. We can eliminate bhyve as a suspect, maybe? acpi.c hasn't changed substantially for years. In fact, there is a seemingly related commit r272838 which converted some fields to hexadecimal in order to comply with length limitations. The first of these two tables was introduced in r257933 by tycho@ / neel@. The second was changed from a bare constant by jhb@ in r259998, but previously held the value 9. It dates to the original 2012 "ACPI support for bhyve" commit by grehan@ in r243327. So yeah, probably something changed recently in ACPICA. Best, Conrad On Thu, Feb 21, 2019 at 8:38 AM Oleg Ginzburg <olevole@olevole.ru> wrote: > > Hi, > > most likely r344398[1] commit breaks bhyve with the following errors: > > Subtable Type : 02 > Error 6302 - Flag value is too large ^ (Maximum 1 bit) > 58: [0002] Flags (decoded below) : 0005 > Error 6302 - Flag value is too large ^ (Maximum 2 b= it) > 66: [0004] Interrupt : 00000009 > Error 6302 - Flag value is too large ^ (Maximum 2 bit) > Assertion failed: (error =3D=3D 0), function main, file > /usr/src/usr.sbin/bhyve/bhyverun.c, line 1190. > > Can anyone else confirm this? > > Howto reproduce: > > fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.3/FreeBSD-= 10.3-RELEASE-amd64-bootonly.iso > > sh /usr/share/examples/bhyve/vmrun.sh -c 1 -m 1024M -i -I > FreeBSD-10.3-RELEASE-amd64-bootonly.iso guestname > > > __ > [1] - https://svnweb.freebsd.org/base?view=3Drevision&revision=3Dr344398 > _______________________________________________ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org= "
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG6CVpUrUK6fHuVH%2BBATgBNiJvMixfKJPanvZVB5SSDwRhVfzg>