From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753371AbbJGJvU (ORCPT ); Wed, 7 Oct 2015 05:51:20 -0400 Received: from eu-smtp-delivery-143.mimecast.com ([207.82.80.143]:21197 "EHLO eu-smtp-delivery-143.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751865AbbJGJvT convert rfc822-to-8bit (ORCPT ); Wed, 7 Oct 2015 05:51:19 -0400 Subject: Re: [PATCH 03/15] arm64: Introduce helpers for page table levels To: Christoffer Dall References: <1442331684-28818-1-git-send-email-suzuki.poulose@arm.com> <1442331684-28818-4-git-send-email-suzuki.poulose@arm.com> <20151007082652.GM9011@cbox> Cc: linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org, ard.biesheuvel@linaro.org, Marc.Zyngier@arm.com, Catalin Marinas , Will Deacon , linux-kernel@vger.kernel.org, kvmarm@lists.cs.columbia.edu From: "Suzuki K. Poulose" Message-ID: <5614EB14.9040107@arm.com> Date: Wed, 7 Oct 2015 10:51:16 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <20151007082652.GM9011@cbox> X-OriginalArrivalTime: 07 Oct 2015 09:51:16.0993 (UTC) FILETIME=[B5E94710:01D100E5] X-MC-Unique: 74dFFfQVSzuJ_MTnLs7UIg-1 Content-Type: text/plain; charset=WINDOWS-1252; format=flowed Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 07/10/15 09:26, Christoffer Dall wrote: > Hi Suzuki, > > On Tue, Sep 15, 2015 at 04:41:12PM +0100, Suzuki K. Poulose wrote: >> From: "Suzuki K. Poulose" >> >> Introduce helpers for finding the number of page table >> levels required for a given VA width, shift for a particular >> page table level. >> >> Convert the existing users to the new helpers. More users >> to follow. >> >> Cc: Ard Biesheuvel >> Cc: Mark Rutland >> Cc: Catalin Marinas >> Cc: Will Deacon >> Signed-off-by: Suzuki K. Poulose >> Reviewed-by: Ard Biesheuvel >> Tested-by: Ard Biesheuvel >> --- >> arch/arm64/include/asm/pgtable-hwdef.h | 15 ++++++++++++--- >> 1 file changed, 12 insertions(+), 3 deletions(-) >> >> diff --git a/arch/arm64/include/asm/pgtable-hwdef.h b/arch/arm64/include/asm/pgtable-hwdef.h >> index 24154b0..ce18389 100644 >> --- a/arch/arm64/include/asm/pgtable-hwdef.h >> +++ b/arch/arm64/include/asm/pgtable-hwdef.h >> @@ -16,13 +16,21 @@ >> #ifndef __ASM_PGTABLE_HWDEF_H >> #define __ASM_PGTABLE_HWDEF_H >> >> +/* >> + * Number of page-table levels required to address 'va_bits' wide >> + * address, without section mapping >> + */ >> +#define ARM64_HW_PGTABLE_LEVELS(va_bits) (((va_bits) - 4) / (PAGE_SHIFT - 3)) > > I don't understand the '(va_bits) - 4' here, can you explain it (and add a > comment to that effect) ? As mentioned, I will change it to DIV_ROUND_UP() as suggested by Marc. > >> +#define ARM64_HW_PGTABLE_LEVEL_SHIFT(level) \ >> + ((PAGE_SHIFT - 3) * (level) + 3) >> + > > While this change is clearly correct, if you can explain the math here > in a comment as well, that would be helpful. Sure, will add a comment to that effect. Suzuki