All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@kernel.org>
To: Rolf Eike Beer <eike-kernel@sf-tec.de>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
	Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	Arnd Bergmann <arnd@arndb.de>,
	"David S. Miller" <davem@davemloft.net>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greentime Hu <green.hu@gmail.com>,
	Greg Ungerer <gerg@linux-m68k.org>, Helge Deller <deller@gmx.de>,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Jeff Dike <jdike@addtoit.com>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Mark Salter <msalter@redhat.com>,
	Matt Turner <mattst88@gmail.com>, Michal Simek <monstr@monstr.eu>,
	Richard Weinberger <richard@nod.at>,
	Russell King <linux@armlinux.org.uk>,
	Sam Creasey <sammy@sammy.net>, Vincent Chen <deanbo422@gmail.com>,
	Vineet Gupta <Vineet.Gupta1@synopsys.com>,
	linux-alpha@vger.kernel.org, linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-c6x-dev@linux-c6x.org, linux-kernel@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org, linux-parisc@vger.kernel.org,
	linux-um@lists.infradead.org, sparclinux@vger.kernel.org,
	Mike Rapoport <rppt@linux.ibm.com>,
	linux-parisc-owner@vger.kernel.org
Subject: Re: [PATCH 08/12] parisc: use pgtable-nopXd instead of 4level-fixup
Date: Thu, 24 Oct 2019 11:51:24 +0300	[thread overview]
Message-ID: <20191024085123.GB12281@rapoport-lnx> (raw)
In-Reply-To: <70339cfc547e2fa0f6b98fefb1b1a9fa@sf-tec.de>

On Wed, Oct 23, 2019 at 12:20:29PM +0200, Rolf Eike Beer wrote:
> >diff --git a/arch/parisc/include/asm/page.h
> >b/arch/parisc/include/asm/page.h
> >index 93caf17..1d339ee 100644
> >--- a/arch/parisc/include/asm/page.h
> >+++ b/arch/parisc/include/asm/page.h
> >@@ -42,48 +42,54 @@ typedef struct { unsigned long pte; } pte_t; /*
> >either 32 or 64bit */
> >
> > /* NOTE: even on 64 bits, these entries are __u32 because we allocate
> >  * the pmd and pgd in ZONE_DMA (i.e. under 4GB) */
> >-typedef struct { __u32 pmd; } pmd_t;
> > typedef struct { __u32 pgd; } pgd_t;
> > typedef struct { unsigned long pgprot; } pgprot_t;
> >
> >-#define pte_val(x)	((x).pte)
> >-/* These do not work lvalues, so make sure we don't use them as such. */
> >+#if CONFIG_PGTABLE_LEVELS == 3
> >+typedef struct { __u32 pmd; } pmd_t;
> >+#define __pmd(x)	((pmd_t) { (x) } )
> >+/* pXd_val() do not work lvalues, so make sure we don't use them as such.
> >*/
> 
> For me it sounds like there is something missing, maybe an "as" before
> lvalues?

Right, "as lvalues" makes sense.

> And it was "These", so plural, and now it is singular, so do -> does?

There's also pgd_val() a few lines below, it's just not visible in the
patch.
 
> Eike

-- 
Sincerely yours,
Mike.

WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@kernel.org>
To: Rolf Eike Beer <eike-kernel@sf-tec.de>
Cc: linux-parisc-owner@vger.kernel.org,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	linux-mm@kvack.org, sparclinux@vger.kernel.org,
	Vincent Chen <deanbo422@gmail.com>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	linux-arch@vger.kernel.org, linux-c6x-dev@linux-c6x.org,
	Richard Weinberger <richard@nod.at>, Helge Deller <deller@gmx.de>,
	Russell King <linux@armlinux.org.uk>,
	Mike Rapoport <rppt@linux.ibm.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Mark Salter <msalter@redhat.com>,
	Matt Turner <mattst88@gmail.com>, Jeff Dike <jdike@addtoit.com>,
	Sam Creasey <sammy@sammy.net>, Arnd Bergmann <arnd@arndb.de>,
	Vineet Gupta <Vineet.Gupta1@synopsys.com>,
	linux-um@lists.infradead.org, linux-m68k@lists.linux-m68k.org,
	Greentime Hu <green.hu@gmail.com>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	linux-arm-kernel@lists.infr
Subject: Re: [PATCH 08/12] parisc: use pgtable-nopXd instead of 4level-fixup
Date: Thu, 24 Oct 2019 11:51:24 +0300	[thread overview]
Message-ID: <20191024085123.GB12281@rapoport-lnx> (raw)
In-Reply-To: <70339cfc547e2fa0f6b98fefb1b1a9fa@sf-tec.de>

On Wed, Oct 23, 2019 at 12:20:29PM +0200, Rolf Eike Beer wrote:
> >diff --git a/arch/parisc/include/asm/page.h
> >b/arch/parisc/include/asm/page.h
> >index 93caf17..1d339ee 100644
> >--- a/arch/parisc/include/asm/page.h
> >+++ b/arch/parisc/include/asm/page.h
> >@@ -42,48 +42,54 @@ typedef struct { unsigned long pte; } pte_t; /*
> >either 32 or 64bit */
> >
> > /* NOTE: even on 64 bits, these entries are __u32 because we allocate
> >  * the pmd and pgd in ZONE_DMA (i.e. under 4GB) */
> >-typedef struct { __u32 pmd; } pmd_t;
> > typedef struct { __u32 pgd; } pgd_t;
> > typedef struct { unsigned long pgprot; } pgprot_t;
> >
> >-#define pte_val(x)	((x).pte)
> >-/* These do not work lvalues, so make sure we don't use them as such. */
> >+#if CONFIG_PGTABLE_LEVELS == 3
> >+typedef struct { __u32 pmd; } pmd_t;
> >+#define __pmd(x)	((pmd_t) { (x) } )
> >+/* pXd_val() do not work lvalues, so make sure we don't use them as such.
> >*/
> 
> For me it sounds like there is something missing, maybe an "as" before
> lvalues?

Right, "as lvalues" makes sense.

> And it was "These", so plural, and now it is singular, so do -> does?

There's also pgd_val() a few lines below, it's just not visible in the
patch.
 
> Eike

-- 
Sincerely yours,
Mike.

WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@kernel.org>
To: Rolf Eike Beer <eike-kernel@sf-tec.de>
Cc: linux-parisc-owner@vger.kernel.org,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	linux-mm@kvack.org, sparclinux@vger.kernel.org,
	Vincent Chen <deanbo422@gmail.com>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	linux-arch@vger.kernel.org, linux-c6x-dev@linux-c6x.org,
	Richard Weinberger <richard@nod.at>, Helge Deller <deller@gmx.de>,
	Russell King <linux@armlinux.org.uk>,
	Mike Rapoport <rppt@linux.ibm.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Mark Salter <msalter@redhat.com>,
	Matt Turner <mattst88@gmail.com>, Jeff Dike <jdike@addtoit.com>,
	Sam Creasey <sammy@sammy.net>, Arnd Bergmann <arnd@arndb.de>,
	Vineet Gupta <Vineet.Gupta1@synopsys.com>,
	linux-um@lists.infradead.org, linux-m68k@lists.linux-m68k.org,
	Greentime Hu <green.hu@gmail.com>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	linux-arm-kernel@lists.infr
Subject: Re: [PATCH 08/12] parisc: use pgtable-nopXd instead of 4level-fixup
Date: Thu, 24 Oct 2019 08:51:24 +0000	[thread overview]
Message-ID: <20191024085123.GB12281@rapoport-lnx> (raw)
In-Reply-To: <70339cfc547e2fa0f6b98fefb1b1a9fa@sf-tec.de>

On Wed, Oct 23, 2019 at 12:20:29PM +0200, Rolf Eike Beer wrote:
> >diff --git a/arch/parisc/include/asm/page.h
> >b/arch/parisc/include/asm/page.h
> >index 93caf17..1d339ee 100644
> >--- a/arch/parisc/include/asm/page.h
> >+++ b/arch/parisc/include/asm/page.h
> >@@ -42,48 +42,54 @@ typedef struct { unsigned long pte; } pte_t; /*
> >either 32 or 64bit */
> >
> > /* NOTE: even on 64 bits, these entries are __u32 because we allocate
> >  * the pmd and pgd in ZONE_DMA (i.e. under 4GB) */
> >-typedef struct { __u32 pmd; } pmd_t;
> > typedef struct { __u32 pgd; } pgd_t;
> > typedef struct { unsigned long pgprot; } pgprot_t;
> >
> >-#define pte_val(x)	((x).pte)
> >-/* These do not work lvalues, so make sure we don't use them as such. */
> >+#if CONFIG_PGTABLE_LEVELS = 3
> >+typedef struct { __u32 pmd; } pmd_t;
> >+#define __pmd(x)	((pmd_t) { (x) } )
> >+/* pXd_val() do not work lvalues, so make sure we don't use them as such.
> >*/
> 
> For me it sounds like there is something missing, maybe an "as" before
> lvalues?

Right, "as lvalues" makes sense.

> And it was "These", so plural, and now it is singular, so do -> does?

There's also pgd_val() a few lines below, it's just not visible in the
patch.
 
> Eike

-- 
Sincerely yours,
Mike.

WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@kernel.org>
To: Rolf Eike Beer <eike-kernel@sf-tec.de>
Cc: linux-parisc-owner@vger.kernel.org,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	linux-mm@kvack.org, sparclinux@vger.kernel.org,
	Vincent Chen <deanbo422@gmail.com>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	linux-arch@vger.kernel.org, linux-c6x-dev@linux-c6x.org,
	Richard Weinberger <richard@nod.at>, Helge Deller <deller@gmx.de>,
	Russell King <linux@armlinux.org.uk>,
	Mike Rapoport <rppt@linux.ibm.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Mark Salter <msalter@redhat.com>,
	Matt Turner <mattst88@gmail.com>, Jeff Dike <jdike@addtoit.com>,
	Sam Creasey <sammy@sammy.net>, Arnd Bergmann <arnd@arndb.de>,
	Vineet Gupta <Vineet.Gupta1@synopsys.com>,
	linux-um@lists.infradead.org, linux-m68k@lists.linux-m68k.org,
	Greentime Hu <green.hu@gmail.com>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	linux-arm-kernel@lists.infradead.org,
	Michal Simek <monstr@monstr.eu>,
	linux-parisc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH 08/12] parisc: use pgtable-nopXd instead of 4level-fixup
Date: Thu, 24 Oct 2019 11:51:24 +0300	[thread overview]
Message-ID: <20191024085123.GB12281@rapoport-lnx> (raw)
In-Reply-To: <70339cfc547e2fa0f6b98fefb1b1a9fa@sf-tec.de>

On Wed, Oct 23, 2019 at 12:20:29PM +0200, Rolf Eike Beer wrote:
> >diff --git a/arch/parisc/include/asm/page.h
> >b/arch/parisc/include/asm/page.h
> >index 93caf17..1d339ee 100644
> >--- a/arch/parisc/include/asm/page.h
> >+++ b/arch/parisc/include/asm/page.h
> >@@ -42,48 +42,54 @@ typedef struct { unsigned long pte; } pte_t; /*
> >either 32 or 64bit */
> >
> > /* NOTE: even on 64 bits, these entries are __u32 because we allocate
> >  * the pmd and pgd in ZONE_DMA (i.e. under 4GB) */
> >-typedef struct { __u32 pmd; } pmd_t;
> > typedef struct { __u32 pgd; } pgd_t;
> > typedef struct { unsigned long pgprot; } pgprot_t;
> >
> >-#define pte_val(x)	((x).pte)
> >-/* These do not work lvalues, so make sure we don't use them as such. */
> >+#if CONFIG_PGTABLE_LEVELS == 3
> >+typedef struct { __u32 pmd; } pmd_t;
> >+#define __pmd(x)	((pmd_t) { (x) } )
> >+/* pXd_val() do not work lvalues, so make sure we don't use them as such.
> >*/
> 
> For me it sounds like there is something missing, maybe an "as" before
> lvalues?

Right, "as lvalues" makes sense.

> And it was "These", so plural, and now it is singular, so do -> does?

There's also pgd_val() a few lines below, it's just not visible in the
patch.
 
> Eike

-- 
Sincerely yours,
Mike.

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

  reply	other threads:[~2019-10-24  8:51 UTC|newest]

Thread overview: 126+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-23  9:28 [PATCH 00/12] mm: remove __ARCH_HAS_4LEVEL_HACK Mike Rapoport
2019-10-23  9:28 ` Mike Rapoport
2019-10-23  9:28 ` Mike Rapoport
2019-10-23  9:28 ` Mike Rapoport
2019-10-23  9:28 ` [PATCH 01/12] alpha: use pgtable-nop4d instead of 4level-fixup Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28 ` [PATCH 02/12] arm: nommu: use pgtable-nopud " Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:40   ` Russell King - ARM Linux admin
2019-10-23  9:40     ` Russell King - ARM Linux admin
2019-10-23  9:40     ` Russell King - ARM Linux admin
2019-10-23  9:40     ` Russell King - ARM Linux admin
2019-10-23  9:28 ` [PATCH 03/12] c6x: " Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28 ` [PATCH 04/12] m68k: nommu: " Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-24  4:09   ` Greg Ungerer
2019-10-24  4:09     ` Greg Ungerer
2019-10-24  4:09     ` Greg Ungerer
2019-10-24  4:09     ` Greg Ungerer
2019-10-24  5:35     ` Mike Rapoport
2019-10-24  5:35       ` Mike Rapoport
2019-10-24  5:35       ` Mike Rapoport
2019-10-24  5:35       ` Mike Rapoport
2019-10-24  6:23       ` Greg Ungerer
2019-10-24  6:23         ` Greg Ungerer
2019-10-24  6:23         ` Greg Ungerer
2019-10-24  6:23         ` Greg Ungerer
2019-10-23  9:28 ` [PATCH 05/12] m68k: mm: use pgtable-nopXd " Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-24  4:12   ` Greg Ungerer
2019-10-24  4:12     ` Greg Ungerer
2019-10-24  4:12     ` Greg Ungerer
2019-10-24  4:12     ` Greg Ungerer
2019-10-25  5:52   ` kbuild test robot
2019-10-25  5:52     ` kbuild test robot
2019-10-25  5:52     ` kbuild test robot
2019-10-25  5:52     ` kbuild test robot
2019-10-25  5:52     ` kbuild test robot
2019-10-25  5:52     ` kbuild test robot
2019-10-23  9:28 ` [PATCH 06/12] microblaze: use pgtable-nopmd " Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-25  2:17   ` kbuild test robot
2019-10-25  2:17     ` kbuild test robot
2019-10-25  2:17     ` kbuild test robot
2019-10-25  2:17     ` kbuild test robot
2019-10-25  2:17     ` kbuild test robot
2019-10-25  2:17     ` kbuild test robot
2019-10-25  8:24   ` Michal Simek
2019-10-25  8:24     ` Michal Simek
2019-10-25  8:24     ` Michal Simek
2019-10-25  8:24     ` Michal Simek
2019-10-25 20:33     ` Mike Rapoport
2019-10-25 20:33       ` Mike Rapoport
2019-10-25 20:33       ` Mike Rapoport
2019-10-25 20:33       ` Mike Rapoport
2019-10-23  9:28 ` [PATCH 07/12] nds32: " Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28 ` [PATCH 08/12] parisc: use pgtable-nopXd " Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23 10:20   ` Rolf Eike Beer
2019-10-23 10:20     ` Rolf Eike Beer
2019-10-23 10:20     ` Rolf Eike Beer
2019-10-23 10:20     ` Rolf Eike Beer
2019-10-24  8:51     ` Mike Rapoport [this message]
2019-10-24  8:51       ` Mike Rapoport
2019-10-24  8:51       ` Mike Rapoport
2019-10-24  8:51       ` Mike Rapoport
2019-10-24  9:35   ` Peter Rosin
2019-10-24  9:35     ` Peter Rosin
2019-10-24  9:35     ` Peter Rosin
2019-10-24  9:35     ` Peter Rosin
2019-10-24  9:35     ` Peter Rosin
2019-10-24  9:35     ` Peter Rosin
2019-10-24  9:50     ` Mike Rapoport
2019-10-24  9:50       ` Mike Rapoport
2019-10-24  9:50       ` Mike Rapoport
2019-10-24  9:50       ` Mike Rapoport
2019-10-24  9:50       ` Mike Rapoport
2019-10-24  9:50       ` Mike Rapoport
2019-10-24 12:02   ` Helge Deller
2019-10-24 16:00     ` Mike Rapoport
2019-10-23  9:28 ` [PATCH 09/12] sparc32: use pgtable-nopud " Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23 19:59   ` [PATCH v2 " Mike Rapoport
2019-10-23 19:59     ` Mike Rapoport
2019-10-23 19:59     ` Mike Rapoport
2019-10-23 19:59     ` Mike Rapoport
2019-10-23 21:21     ` David Miller
2019-10-23 21:21       ` David Miller
2019-10-23 21:21       ` David Miller
2019-10-23  9:28 ` [PATCH 10/12] um: remove unused pxx_offset_proc() and addr_pte() functions Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:28   ` Mike Rapoport
2019-10-23  9:29 ` [PATCH 11/12] um: add support for folded p4d page tables Mike Rapoport
2019-10-23  9:29   ` Mike Rapoport
2019-10-23  9:29   ` Mike Rapoport
2019-10-23  9:29   ` Mike Rapoport
2019-10-23  9:29 ` [PATCH 12/12] mm: remove __ARCH_HAS_4LEVEL_HACK and include/asm-generic/4level-fixup.h Mike Rapoport
2019-10-23  9:29   ` Mike Rapoport
2019-10-23  9:29   ` Mike Rapoport
2019-10-23  9:29   ` Mike Rapoport
2019-10-23 10:25 ` [PATCH 00/12] mm: remove __ARCH_HAS_4LEVEL_HACK Linus Torvalds
2019-10-23 10:25   ` Linus Torvalds
2019-10-23 10:25   ` Linus Torvalds
2019-10-23 10:25   ` Linus Torvalds
2019-10-23 10:25   ` Linus Torvalds

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=20191024085123.GB12281@rapoport-lnx \
    --to=rppt@kernel.org \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=Vineet.Gupta1@synopsys.com \
    --cc=akpm@linux-foundation.org \
    --cc=anton.ivanov@cambridgegreys.com \
    --cc=arnd@arndb.de \
    --cc=davem@davemloft.net \
    --cc=deanbo422@gmail.com \
    --cc=deller@gmx.de \
    --cc=eike-kernel@sf-tec.de \
    --cc=geert@linux-m68k.org \
    --cc=gerg@linux-m68k.org \
    --cc=green.hu@gmail.com \
    --cc=jdike@addtoit.com \
    --cc=kirill@shutemov.name \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-c6x-dev@linux-c6x.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-parisc-owner@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-um@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=mattst88@gmail.com \
    --cc=monstr@monstr.eu \
    --cc=msalter@redhat.com \
    --cc=richard@nod.at \
    --cc=rppt@linux.ibm.com \
    --cc=sammy@sammy.net \
    --cc=sparclinux@vger.kernel.org \
    --cc=torvalds@linux-foundation.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.