All of lore.kernel.org
 help / color / mirror / Atom feed
From: Catalin Marinas <catalin.marinas@arm.com>
To: Marc Zyngier <maz@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org,
	Ard Biesheuvel <ardb@google.com>, Will Deacon <will@kernel.org>,
	Ard Biesheuvel <ardb@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Anshuman Khandual <anshuman.khandual@arm.com>,
	Kees Cook <keescook@chromium.org>,
	Joey Gouly <joey.gouly@arm.com>,
	oliver.upton@linux.dev
Subject: Re: [PATCH v4 00/61] arm64: Add support for LPA2 at stage1 and WXN
Date: Mon, 23 Oct 2023 21:44:41 +0100	[thread overview]
Message-ID: <ZTbbOQCobzkza1ma@arm.com> (raw)
In-Reply-To: <86msw941bh.wl-maz@kernel.org>

On Mon, Oct 23, 2023 at 07:54:10PM +0100, Marc Zyngier wrote:
> On Mon, 23 Oct 2023 18:45:25 +0100,
> Catalin Marinas <catalin.marinas@arm.com> wrote:
> > 
> > On Tue, 12 Sep 2023 14:15:50 +0000, Ard Biesheuvel wrote:
> > > This is a followup to [0], which was sent out more than 6 months ago.
> > > Thanks to Ryan and Mark for feedback and review. This series is
> > > independent from Ryan's work on adding support for LPA2 to KVM - the
> > > only potential source of conflict should be the patch "arm64: kvm: Limit
> > > HYP VA and host S2 range to 48 bits when LPA2 is in effect", which could
> > > simply be dropped in favour of the KVM changes to make it support LPA2.
> > > 
> > > [...]
> > 
> > I pushed the series to the arm64 for-next/lpa2-stage1 branch. If
> > something falls apart badly in -next (other than the typical conflicts),
> > I can drop the series before the upcoming merging window.
> > 
> > There are a couple of patches touching KVM, it would be good to get an
> > ack from Marc or Oliver (I'll rebase the branch if you do but no worries
> > if you don't get around). I think Ard's C++ style comments will
> > disappear with Ryan's LPA2 support for stage 2 (whenever that will get
> > merged).
> > 
> > https://lore.kernel.org/r/20230912141549.278777-119-ardb@google.com
> > https://lore.kernel.org/r/20230912141549.278777-120-ardb@google.com
> > 
> > Talking of KVM, we'll get a conflict with next (depending on which
> > branch is picked first by sfr, the polarity may differ). That's my
> > resolution of merging Ard's patches into -next:
> > 
> > diff --cc arch/arm64/kvm/hyp/nvhe/mem_protect.c
> > index 8d0a5834e883,c20b08cf1f03..34c17ec521c7
> > --- a/arch/arm64/kvm/hyp/nvhe/mem_protect.c
> > +++ b/arch/arm64/kvm/hyp/nvhe/mem_protect.c
> > @@@ -128,9 -128,11 +128,11 @@@ static void prepare_host_vtcr(void
> >   	/* The host stage 2 is id-mapped, so use parange for T0SZ */
> >   	parange = kvm_get_parange(id_aa64mmfr0_el1_sys_val);
> >   	phys_shift = id_aa64mmfr0_parange_to_phys_shift(parange);
> > + 	if (IS_ENABLED(CONFIG_ARM64_LPA2) && phys_shift > 48)
> > + 		phys_shift = 48; // not implemented yet
> >   
> >  -	host_mmu.arch.vtcr = kvm_get_vtcr(id_aa64mmfr0_el1_sys_val,
> >  -					  id_aa64mmfr1_el1_sys_val, phys_shift);
> >  +	host_mmu.arch.mmu.vtcr = kvm_get_vtcr(id_aa64mmfr0_el1_sys_val,
> >  +					      id_aa64mmfr1_el1_sys_val, phys_shift);
> >   }
> >   
> >   static bool host_stage2_force_pte_cb(u64 addr, u64 end, enum kvm_pgtable_prot prot);
> > 
> > So Marc, Oliver, if you want to avoid this, you could merge the
> > lpa2-stage1 branch into the KVM tree once I freeze it.
> 
> Yeah, that's probably best (though this looks pretty minor). I'll let
> Oliver decide on it, as he's in charge this time around.

For some reason git manages to resolve it now without any problem. Not
sure what happened when I tried this last week. Let's see if Stephen
reports any conflicts.

Thanks for the acks.

-- 
Catalin

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-10-23 20:45 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-12 14:15 [PATCH v4 00/61] arm64: Add support for LPA2 at stage1 and WXN Ard Biesheuvel
2023-09-12 14:15 ` [PATCH v4 01/61] arm64: kernel: Disable latent_entropy GCC plugin in early C runtime Ard Biesheuvel
2023-09-12 14:15 ` [PATCH v4 02/61] arm64: mm: Take potential load offset into account when KASLR is off Ard Biesheuvel
2023-09-20  7:15   ` Linus Walleij
2023-09-12 14:15 ` [PATCH v4 03/61] arm64: mm: get rid of kimage_vaddr global variable Ard Biesheuvel
2023-09-12 14:15 ` [PATCH v4 04/61] arm64: mm: Move PCI I/O emulation region above the vmemmap region Ard Biesheuvel
2023-09-12 14:15 ` [PATCH v4 05/61] arm64: mm: Move fixmap region above " Ard Biesheuvel
2023-09-12 14:15 ` [PATCH v4 06/61] arm64: ptdump: Allow all region boundaries to be defined at boot time Ard Biesheuvel
2023-09-12 14:15 ` [PATCH v4 07/61] arm64: ptdump: Discover start of vmemmap region at runtime Ard Biesheuvel
2023-09-12 14:15 ` [PATCH v4 08/61] arm64: vmemmap: Avoid base2 order of struct page size to dimension region Ard Biesheuvel
2023-09-12 14:15 ` [PATCH v4 09/61] arm64: mm: Reclaim unused vmemmap region for vmalloc use Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 10/61] arm64: kaslr: Adjust randomization range dynamically Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 11/61] arm64: kernel: Manage absolute relocations in code built under pi/ Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 12/61] arm64: kernel: Don't rely on objcopy to make code under pi/ __init Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 13/61] arm64: head: move relocation handling to C code Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 14/61] arm64: idreg-override: Omit non-NULL checks for override pointer Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 15/61] arm64: idreg-override: Prepare for place relative reloc patching Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 16/61] arm64: idreg-override: Avoid parameq() and parameqn() Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 17/61] arm64: idreg-override: avoid strlen() to check for empty strings Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 18/61] arm64: idreg-override: Avoid sprintf() for simple string concatenation Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 19/61] arm64: idreg-override: Avoid kstrtou64() to parse a single hex digit Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 20/61] arm64: idreg-override: Move to early mini C runtime Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 21/61] arm64: kernel: Remove early fdt remap code Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 22/61] arm64: head: Clear BSS and the kernel page tables in one go Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 23/61] arm64: Move feature overrides into the BSS section Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 24/61] arm64: head: Run feature override detection before mapping the kernel Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 25/61] arm64: head: move dynamic shadow call stack patching into early C runtime Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 26/61] arm64: kaslr: Use feature override instead of parsing the cmdline again Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 27/61] arm64/kernel: Move 'nokaslr' parsing out of early idreg code Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 28/61] arm64: idreg-override: Create a pseudo feature for rodata=off Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 29/61] arm64: Add helpers to probe local CPU for PAC and BTI support Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 30/61] arm64: head: allocate more pages for the kernel mapping Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 31/61] arm64: head: move memstart_offset_seed handling to C code Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 32/61] arm64: mm: Make kaslr_requires_kpti() a static inline Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 33/61] arm64: head: Move early kernel mapping routines into C code Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 34/61] arm64: mm: Use 48-bit virtual addressing for the permanent ID map Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 35/61] arm64: pgtable: Decouple PGDIR size macros from PGD/PUD/PMD levels Ard Biesheuvel
2023-10-19 16:34   ` Catalin Marinas
2023-10-24 17:58     ` Catalin Marinas
2023-10-25  6:39       ` Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 36/61] arm64: kernel: Create initial ID map from C code Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 37/61] arm64: mm: avoid fixmap for early swapper_pg_dir updates Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 38/61] arm64: mm: omit redundant remap of kernel image Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 39/61] arm64: Revert "mm: provide idmap pointer to cpu_replace_ttbr1()" Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 40/61] arm64: mmu: Make cpu_replace_ttbr1() out of line Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 41/61] arm64/mm: Add FEAT_LPA2 specific TCR_EL1.DS field Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 42/61] arm64/mm: Add FEAT_LPA2 specific ID_AA64MMFR0.TGRAN[2] Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 43/61] arm64: mm: Handle LVA support as a CPU feature Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 44/61] arm64: mm: Add feature override support for LVA Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 45/61] arm64/mm: Avoid #define'ing PTE_MAYBE_NG to 0x0 for asm use Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 46/61] arm64: mm: Wire up TCR.DS bit to PTE shareability fields Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 47/61] arm64: mm: Add LPA2 support to phys<->pte conversion routines Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 48/61] arm64: mm: Add definitions to support 5 levels of paging Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 49/61] arm64: mm: add LPA2 and 5 level paging support to G-to-nG conversion Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 50/61] arm64: Enable LPA2 at boot if supported by the system Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 51/61] arm64: mm: Add 5 level paging support to fixmap and swapper handling Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 52/61] arm64: kasan: Reduce minimum shadow alignment and enable 5 level paging Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 53/61] arm64: mm: Add support for folding PUDs at runtime Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 54/61] arm64: ptdump: Disregard unaddressable VA space Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 55/61] arm64: ptdump: Deal with translation levels folded at runtime Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 56/61] arm64: kvm: avoid CONFIG_PGTABLE_LEVELS for runtime levels Ard Biesheuvel
2023-10-23 18:42   ` Marc Zyngier
2023-10-24  6:55   ` Oliver Upton
2023-09-12 14:16 ` [PATCH v4 57/61] arm64: kvm: Limit HYP VA and host S2 range to 48 bits when LPA2 is in effect Ard Biesheuvel
2023-10-23 18:43   ` Marc Zyngier
2023-10-24  6:57   ` Oliver Upton
2023-09-12 14:16 ` [PATCH v4 58/61] arm64: Enable 52-bit virtual addressing for 4k and 16k granule configs Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 59/61] arm64: defconfig: Enable LPA2 support Ard Biesheuvel
2023-10-19 18:12   ` Catalin Marinas
2023-09-12 14:16 ` [PATCH v4 60/61] mm: add arch hook to validate mmap() prot flags Ard Biesheuvel
2023-09-12 14:16 ` [PATCH v4 61/61] arm64: mm: add support for WXN memory translation attribute Ard Biesheuvel
2023-10-23 17:45 ` [PATCH v4 00/61] arm64: Add support for LPA2 at stage1 and WXN Catalin Marinas
2023-10-23 18:54   ` Marc Zyngier
2023-10-23 20:44     ` Catalin Marinas [this message]
2023-10-24  6:54       ` Oliver Upton
2023-10-24 16:42         ` Catalin Marinas
2023-10-25 13:19           ` Catalin Marinas
2023-10-25 13:32             ` Ard Biesheuvel
2023-10-25 18:43             ` Oliver Upton
2023-10-24  8:56   ` Ryan Roberts
2023-10-26 16:52   ` Catalin Marinas
2023-10-26 13:21 ` Ryan Roberts
2023-10-26 13:52   ` Catalin Marinas
2023-10-26 14:02     ` Ryan Roberts

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZTbbOQCobzkza1ma@arm.com \
    --to=catalin.marinas@arm.com \
    --cc=anshuman.khandual@arm.com \
    --cc=ardb@google.com \
    --cc=ardb@kernel.org \
    --cc=joey.gouly@arm.com \
    --cc=keescook@chromium.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=maz@kernel.org \
    --cc=oliver.upton@linux.dev \
    --cc=ryan.roberts@arm.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.