From owner-freebsd-arm@FreeBSD.ORG Thu Apr 30 10:05:03 2015 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0A9AF7E1 for ; Thu, 30 Apr 2015 10:05:03 +0000 (UTC) Received: from phabric-backend.isc.freebsd.org (phabric-backend.isc.freebsd.org [IPv6:2001:4f8:3:ffe0:406a:0:50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C65101DE7 for ; Thu, 30 Apr 2015 10:05:02 +0000 (UTC) Received: from phabric-backend.isc.freebsd.org (phabric-backend.isc.freebsd.org [127.0.1.5]) by phabric-backend.isc.freebsd.org (8.14.9/8.14.9) with ESMTP id t3UA52EY026811 for ; Thu, 30 Apr 2015 10:05:02 GMT (envelope-from daemon-user@phabric-backend.isc.freebsd.org) Received: (from daemon-user@localhost) by phabric-backend.isc.freebsd.org (8.14.9/8.14.9/Submit) id t3UA52eg026810; Thu, 30 Apr 2015 10:05:02 GMT (envelope-from daemon-user) Date: Thu, 30 Apr 2015 10:05:02 +0000 To: freebsd-arm@freebsd.org From: "andrew (Andrew Turner)" Subject: [Differential] [Commented On] D2377: Introduce ARM GICv3 support Message-ID: <43b0dd9a8a4242a753792fa581b54e90@localhost.localdomain> X-Priority: 3 Thread-Topic: D2377: Introduce ARM GICv3 support X-Herald-Rules: <28>, <31>, <32>, <34>, <8> X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: In-Reply-To: References: Thread-Index: MjA1ZGZkZWI5MTE4ZDk2Nzk0YzAyZGRiMWRiIFVB/k4= Precedence: bulk X-Phabricator-Sent-This-Message: Yes X-Mail-Transport-Agent: MetaMTA X-Auto-Response-Suppress: All X-Phabricator-Mail-Tags: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Apr 2015 10:05:03 -0000 andrew added inline comments. INLINE COMMENTS sys/arm64/arm64/gic_v3.c:255 Why not do this something like: #define GICD_ICENABLER(irq) (0x0180 + (((irq) >> 5) * 4)) #define GICD_INTR_MASK(irq) (1u << ((irq) % 32)) gic_r_write(sc, 4, GICD_ICENABLER(irq), GICD_INTR_MASK(irq)); sys/arm64/arm64/gic_v3.c:259 There should be a macro for PAGE_SIZE_64K sys/arm64/arm64/gic_v3.c:300 1 second seems a long time to wait for a register to change. sys/arm64/arm64/gic_v3.c:302 This is only needed in one case below. sys/arm64/arm64/gic_v3.c:305 (Why the parentheses?) sys/arm64/arm64/gic_v3.c:379 This could be if (err) return (err); sys/arm64/arm64/gic_v3.c:388 To make this return (0); sys/arm64/arm64/gic_v3.c:504 What is special about `PAGE_SIZE_64K * 2`? sys/arm64/arm64/gic_v3.c:509 This would normally be } while ((typer & GICR_TYPER_LAST) == 0); sys/arm64/arm64/gic_v3_reg.h:108 But the comment is `/* EL2 */`, I know el2 is not the name of a register sys/arm64/arm64/gic_v3_var.h:45 It looks like there is extra whitespace here REPOSITORY rS FreeBSD src repository REVISION DETAIL https://reviews.freebsd.org/D2377 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: zbb, emaste, ian, imp, andrew, brueffer, joel, wblock Cc: kostikbel, emaste, andrew, imp, freebsd-arm