From owner-freebsd-stable@FreeBSD.ORG Sat Dec 1 17:08:33 2012 Return-Path: Delivered-To: stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 713197F5; Sat, 1 Dec 2012 17:08:33 +0000 (UTC) (envelope-from cmcguirelovrconstance@o2.pl) Received: from moh1-ve3.go2.pl (moh1-ve3.go2.pl [193.17.41.134]) by mx1.freebsd.org (Postfix) with ESMTP id 296A78FC14; Sat, 1 Dec 2012 17:08:33 +0000 (UTC) Received: from moh1-ve3.go2.pl (unknown [10.0.0.134]) by moh1-ve3.go2.pl (Postfix) with ESMTP id 65FAB665B71; Sat, 1 Dec 2012 18:08:32 +0100 (CET) Received: from o2.pl (unknown [10.0.0.144]) by moh1-ve3.go2.pl (Postfix) with SMTP; Sat, 1 Dec 2012 18:08:31 +0100 (CET) Subject: =?UTF-8?Q?---?= From: =?UTF-8?Q?cmcguirelovrconstance?= To: dd@freebsd.org, stable@freebsd.org, freebsd-ia64@freebsd.org, gambit@profi.ru Mime-Version: 1.0 Message-ID: <38a47a2f.263534a8.50ba398f.5ee1b@o2.pl> Date: Sat, 01 Dec 2012 18:08:31 +0100 X-Originator: 204.124.83.130 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.14 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Dec 2012 17:08:33 -0000 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: 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 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Andreas Longwitz 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 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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