Date: Sat, 01 Dec 2012 18:08:31 +0100 From: =?UTF-8?Q?cmcguirelovrconstance?= <cmcguirelovrconstance@o2.pl> To: dd@freebsd.org, stable@freebsd.org, freebsd-ia64@freebsd.org, gambit@profi.ru Subject: =?UTF-8?Q?---?= Message-ID: <38a47a2f.263534a8.50ba398f.5ee1b@o2.pl>
next in thread | raw e-mail | index | archive | help
http://sgabrielalovhreilly.cu.cc/?ELOISEThank=20god=20pets=20can't=20talk= ,=20they=20know=20so=20much From owner-freebsd-stable@FreeBSD.ORG Sat Dec 1 18:30:32 2012 Return-Path: <owner-freebsd-stable@FreeBSD.ORG> Delivered-To: freebsd-stable@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 88DEA6BF; Sat, 1 Dec 2012 18:30:32 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 9FC2E8FC12; Sat, 1 Dec 2012 18:30:31 +0000 (UTC) Received: from porto.starpoint.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id UAA00482; Sat, 01 Dec 2012 20:30:29 +0200 (EET) (envelope-from avg@FreeBSD.org) Received: from localhost ([127.0.0.1]) by porto.starpoint.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1Terpc-0005ZK-R3; Sat, 01 Dec 2012 20:30:28 +0200 Message-ID: <50BA4CC2.1010908@FreeBSD.org> Date: Sat, 01 Dec 2012 20:30:26 +0200 From: Andriy Gapon <avg@FreeBSD.org> User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Andreas Longwitz <longwitz@incore.de> Subject: Re: page fault on verbose boot References: <50ABE8BC.1010904@incore.de> <50B8CD59.1050308@FreeBSD.org> <50B8DD1C.4010308@incore.de> <50B8ED1B.8080009@FreeBSD.org> <50B9463C.3090005@incore.de> In-Reply-To: <50B9463C.3090005@incore.de> X-Enigmail-Version: 1.4.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-stable@FreeBSD.org, John Baldwin <jhb@FreeBSD.org> X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Production branch of FreeBSD source code <freebsd-stable.freebsd.org> List-Unsubscribe: <http://lists.freebsd.org/mailman/options/freebsd-stable>, <mailto:freebsd-stable-request@freebsd.org?subject=unsubscribe> List-Archive: <http://lists.freebsd.org/pipermail/freebsd-stable> List-Post: <mailto:freebsd-stable@freebsd.org> List-Help: <mailto:freebsd-stable-request@freebsd.org?subject=help> List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-stable>, <mailto:freebsd-stable-request@freebsd.org?subject=subscribe> X-List-Received-Date: Sat, 01 Dec 2012 18:30:32 -0000 on 01/12/2012 01:50 Andreas Longwitz said the following: [> "Andriy Gapon wrote" should have been present somewhere around here] >> Looking at the code in ioapic_program_intpin() this seems to be possible indeed: >> >> /* Write the values to the APIC. */ >> intpin->io_lowreg = low; >> ioapic_write(io->io_addr, IOAPIC_REDTBL_LO(intpin->io_intpin), low); >> >> The line above reprograms vector number AND _unmasks_ the pin (which was >> specifically masked before reprogramming in ioapic_assign_cpu). >> The lines below reprogram the destination LAPIC/CPU: >> >> value = ioapic_read(io->io_addr, IOAPIC_REDTBL_HI(intpin->io_intpin)); >> value &= ~IOART_DEST; >> value |= high; >> ioapic_write(io->io_addr, IOAPIC_REDTBL_HI(intpin->io_intpin), value); >> >> So a pending interrupt would be happily delivered to a wrong destination (new >> vector + old lapic). > >> I am not sure if just swapping these two blocks of lines would fix the issue, but >> I hope that it would. Could you please try that? > > Yes I did and the first bootverbose run with your block switching patch > was ok. I will do some more expansive tests next week. Thank you very much. I've committed this change to head. -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?38a47a2f.263534a8.50ba398f.5ee1b>