linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [aarch64 boot-wrapper PATCH 0/6] Various (build system) fixes
@ 2021-05-10 12:07 Andre Przywara
  2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 1/6] configure: Make PSCI the default boot method Andre Przywara
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Andre Przywara @ 2021-05-10 12:07 UTC (permalink / raw)
  To: Mark Rutland; +Cc: linux-arm-kernel, Jaxson Han

While playing around with the boot-wrapper (without reverting to my bash
history), I noticed some minor problems when building it, so this series
fixes some shortcomings.

See the respective patch subjects below for a summary.

Thanks,
Andre

Andre Przywara (6):
  configure: Make PSCI the default boot method
  configure: Fix default DTB
  configure: Use earlycon instead of earlyprintk
  Fix arch counter frequency
  pointer auth: Document CPU feature bit mask
  configure: Autodetect GICv3

 Makefile.am         | 23 +++++++++--------------
 arch/aarch64/boot.S |  3 ++-
 configure.ac        | 16 ++++------------
 3 files changed, 15 insertions(+), 27 deletions(-)

-- 
2.25.1


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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [aarch64 boot-wrapper PATCH 1/6] configure: Make PSCI the default boot method
  2021-05-10 12:07 [aarch64 boot-wrapper PATCH 0/6] Various (build system) fixes Andre Przywara
@ 2021-05-10 12:07 ` Andre Przywara
  2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 2/6] configure: Fix default DTB Andre Przywara
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Andre Przywara @ 2021-05-10 12:07 UTC (permalink / raw)
  To: Mark Rutland; +Cc: linux-arm-kernel, Jaxson Han

When the boot-wrapper was originally conceived, PSCI was a rather new
feature, so support in contemporary kernels wasn't guaranteed. The
boot-wrapper consequently defaulted to not using PSCI.

Fortunately the times have changed, and most people expect PSCI these
days, so let's enable PSCI by default.

We keep the --enable-psci/--disable-psci configure switch, so it can be
still turned off if needed.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 6914eb4..852fd9a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -82,8 +82,8 @@ AS_IF([test "x$X_IMAGE" != "x"],
 
 # Allow a user to pass --enable-psci
 AC_ARG_ENABLE([psci],
-	AS_HELP_STRING([--enable-psci], [enable the psci boot method]),
-	[USE_PSCI=$enableval])
+	AS_HELP_STRING([--disable-psci], [disable the psci boot method]),
+	[USE_PSCI=$enableval], [USE_PSCI="yes"])
 AM_CONDITIONAL([PSCI], [test "x$USE_PSCI" = "xyes"])
 AS_IF([test "x$USE_PSCI" = "xyes"], [], [USE_PSCI=no])
 
-- 
2.25.1


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

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [aarch64 boot-wrapper PATCH 2/6] configure: Fix default DTB
  2021-05-10 12:07 [aarch64 boot-wrapper PATCH 0/6] Various (build system) fixes Andre Przywara
  2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 1/6] configure: Make PSCI the default boot method Andre Przywara
@ 2021-05-10 12:07 ` Andre Przywara
  2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 3/6] configure: Use earlycon instead of earlyprintk Andre Przywara
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Andre Przywara @ 2021-05-10 12:07 UTC (permalink / raw)
  To: Mark Rutland; +Cc: linux-arm-kernel, Jaxson Han

The DTS files for Arm Ltd. boards and the fastmodel have long been moved
into the arm/ subdirectory of the arm64 kernel tree's DT folder.

Adjust the default path to make this build out of the box.

Also change the default DTB to the more modern FVP RevC model on the
way.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 852fd9a..2b295de 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,7 +33,7 @@ AC_ARG_WITH([kernel-dir],
 AS_IF([test "x$KERNEL_ES" = x32],
 	[KERN_IMAGE=$KERN_DIR/arch/arm/boot/zImage],
 	[KERN_IMAGE=$KERN_DIR/arch/arm64/boot/Image])
-KERN_DTB=$KERN_DIR/arch/arm64/boot/dts/rtsm_ve-aemv8a.dtb
+KERN_DTB=$KERN_DIR/arch/arm64/boot/dts/arm/fvp-base-revc.dtb
 
 # Allow the user to override the default DTB
 AC_ARG_WITH([dtb],
-- 
2.25.1


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

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [aarch64 boot-wrapper PATCH 3/6] configure: Use earlycon instead of earlyprintk
  2021-05-10 12:07 [aarch64 boot-wrapper PATCH 0/6] Various (build system) fixes Andre Przywara
  2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 1/6] configure: Make PSCI the default boot method Andre Przywara
  2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 2/6] configure: Fix default DTB Andre Przywara
@ 2021-05-10 12:07 ` Andre Przywara
  2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 4/6] Fix arch counter frequency Andre Przywara
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Andre Przywara @ 2021-05-10 12:07 UTC (permalink / raw)
  To: Mark Rutland; +Cc: linux-arm-kernel, Jaxson Han

The arm64 Linux kernel dropped support for the "earlyprintk" command line
parameter a long time ago[1], instead it uses the earlycon parameter
now.

Replace earlyprintk with earlycon on the default command line, to see
early kernel output.

Ideally we would just say "earlycon" (without specifying an MMIO
address), but this relies on the stdout-path property in the /chosen
node, which the model DTs do not carry.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8ef0ed95ee04

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 2b295de..9e3b722 100644
--- a/configure.ac
+++ b/configure.ac
@@ -99,7 +99,7 @@ AC_SUBST([FILESYSTEM], [$USE_INITRD])
 AM_CONDITIONAL([INITRD], [test "x$USE_INITRD" != "x"])
 
 AS_IF([test "x$X_IMAGE" = "x"],[C_CONSOLE="ttyAMA0"],[C_CONSOLE="hvc0"])
-C_CMDLINE="console=$C_CONSOLE earlyprintk=pl011,0x1c090000"
+C_CMDLINE="console=$C_CONSOLE earlycon=pl011,0x1c090000"
 AC_ARG_WITH([cmdline],
 	AS_HELP_STRING([--with-cmdline], [set a command line for the kernel]),
 	[C_CMDLINE=$withval])
-- 
2.25.1


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

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [aarch64 boot-wrapper PATCH 4/6] Fix arch counter frequency
  2021-05-10 12:07 [aarch64 boot-wrapper PATCH 0/6] Various (build system) fixes Andre Przywara
                   ` (2 preceding siblings ...)
  2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 3/6] configure: Use earlycon instead of earlyprintk Andre Przywara
@ 2021-05-10 12:07 ` Andre Przywara
  2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 5/6] pointer auth: Document CPU feature bit mask Andre Przywara
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Andre Przywara @ 2021-05-10 12:07 UTC (permalink / raw)
  To: Mark Rutland; +Cc: linux-arm-kernel, Jaxson Han

As the comment states, the frequency of the Generic Timer in the model
is 24 MHz, and not the currently used 0x1800000, which is actually
25,165,824 (~5% higher).

Use the proper number, and not something power-of-2 based.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
 Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.am b/Makefile.am
index af694b7..b8c0a49 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -11,7 +11,7 @@
 PHYS_OFFSET	:= $(shell perl -I $(top_srcdir) $(top_srcdir)/findmem.pl $(KERNEL_DTB))
 UART_BASE	:= $(shell perl -I $(top_srcdir) $(top_srcdir)/findbase.pl $(KERNEL_DTB) 0 'arm,pl011')
 SYSREGS_BASE	:= $(shell perl -I $(top_srcdir) $(top_srcdir)/findbase.pl $(KERNEL_DTB) 0 'arm,vexpress-sysreg')
-CNTFRQ		:= 0x01800000	# 24Mhz
+CNTFRQ		:= 24000000
 
 CPU_IDS		:= $(shell perl -I $(top_srcdir) $(top_srcdir)/findcpuids.pl $(KERNEL_DTB))
 NR_CPUS         := $(shell echo $(CPU_IDS) | tr ',' ' ' | wc -w)
-- 
2.25.1


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

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [aarch64 boot-wrapper PATCH 5/6] pointer auth: Document CPU feature bit mask
  2021-05-10 12:07 [aarch64 boot-wrapper PATCH 0/6] Various (build system) fixes Andre Przywara
                   ` (3 preceding siblings ...)
  2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 4/6] Fix arch counter frequency Andre Przywara
@ 2021-05-10 12:07 ` Andre Przywara
  2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 6/6] configure: Autodetect GICv3 Andre Przywara
  2021-07-30 17:40 ` [aarch64 boot-wrapper PATCH 0/6] Various (build system) fixes Andre Przywara
  6 siblings, 0 replies; 9+ messages in thread
From: Andre Przywara @ 2021-05-10 12:07 UTC (permalink / raw)
  To: Mark Rutland; +Cc: linux-arm-kernel, Jaxson Han

When checking for the pointer authentication feature, we actually look
for *four* different CPUID feature sets.
Add a comment to make it more obvious that the 0xff is not a typo.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
 arch/aarch64/boot.S | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/aarch64/boot.S b/arch/aarch64/boot.S
index a9264de..663f9fc 100644
--- a/arch/aarch64/boot.S
+++ b/arch/aarch64/boot.S
@@ -41,7 +41,8 @@ _start:
 
 	/* Enable pointer authentication if present */
 	mrs	x1, id_aa64isar1_el1
-	ldr	x2, =(((0xff) << 24) | (0xff << 4))
+	/* We check for APA+API and GPA+GPI */
+	ldr	x2, =((0xff << 24) | (0xff << 4))
 	and	x1, x1, x2
 	cbz	x1, 1f
 
-- 
2.25.1


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

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [aarch64 boot-wrapper PATCH 6/6] configure: Autodetect GICv3
  2021-05-10 12:07 [aarch64 boot-wrapper PATCH 0/6] Various (build system) fixes Andre Przywara
                   ` (4 preceding siblings ...)
  2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 5/6] pointer auth: Document CPU feature bit mask Andre Przywara
@ 2021-05-10 12:07 ` Andre Przywara
  2021-07-30 17:40 ` [aarch64 boot-wrapper PATCH 0/6] Various (build system) fixes Andre Przywara
  6 siblings, 0 replies; 9+ messages in thread
From: Andre Przywara @ 2021-05-10 12:07 UTC (permalink / raw)
  To: Mark Rutland; +Cc: linux-arm-kernel, Jaxson Han

Currently the user has to specify the GIC architecture version (v2 or
v3) on the ./configure command line, even though this is actually
redundant information, since the DTB can carry only one GIC type.

Unconditionally query for the two GIC compatible strings in the provided
DTB, then choose the GIC type automatically depending on which string is
found.

This saves the user from specifying the GIC type on the configure
command line, and avoids errors when the wrong type was accidentally
named.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
 Makefile.am  | 21 ++++++++-------------
 configure.ac |  8 --------
 2 files changed, 8 insertions(+), 21 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index b8c0a49..9b3c0ad 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -58,19 +58,14 @@ PSCI_NODE	:=
 CPU_NODES	:=
 endif
 
-if GICV3
-GIC_DIST_BASE	:= $(shell perl -I $(top_srcdir) $(top_srcdir)/findbase.pl $(KERNEL_DTB) 0 'arm,gic-v3')
-GIC_RDIST_BASE	:= $(shell perl -I $(top_srcdir) $(top_srcdir)/findbase.pl $(KERNEL_DTB) 1 'arm,gic-v3')
-DEFINES		+= -DGIC_DIST_BASE=$(GIC_DIST_BASE)
-DEFINES		+= -DGIC_RDIST_BASE=$(GIC_RDIST_BASE)
-GIC		:= gic-v3.o
-else
-GIC_DIST_BASE	:= $(shell perl -I $(top_srcdir) $(top_srcdir)/findbase.pl $(KERNEL_DTB) 0 'arm,cortex-a15-gic')
-GIC_CPU_BASE	:= $(shell perl -I $(top_srcdir) $(top_srcdir)/findbase.pl $(KERNEL_DTB) 1 'arm,cortex-a15-gic')
-DEFINES		+= -DGIC_CPU_BASE=$(GIC_CPU_BASE)
-DEFINES		+= -DGIC_DIST_BASE=$(GIC_DIST_BASE)
-GIC		:= gic.o
-endif
+GICV3_DIST_BASE	:= $(shell perl -I $(top_srcdir) $(top_srcdir)/findbase.pl $(KERNEL_DTB) 0 'arm,gic-v3' 2> /dev/null)
+GIC_RDIST_BASE	:= $(shell perl -I $(top_srcdir) $(top_srcdir)/findbase.pl $(KERNEL_DTB) 1 'arm,gic-v3' 2> /dev/null)
+GICV2_DIST_BASE	:= $(shell perl -I $(top_srcdir) $(top_srcdir)/findbase.pl $(KERNEL_DTB) 0 'arm,cortex-a15-gic' 2> /dev/null)
+GIC_CPU_BASE	:= $(shell perl -I $(top_srcdir) $(top_srcdir)/findbase.pl $(KERNEL_DTB) 1 'arm,cortex-a15-gic' 2> /dev/null)
+DEFINES		+= $(if $(GICV3_DIST_BASE), -DGIC_DIST_BASE=$(GICV3_DIST_BASE), -DGIC_DIST_BASE=$(GICV2_DIST_BASE))
+DEFINES		+= $(if $(GIC_RDIST_BASE), -DGIC_RDIST_BASE=$(GIC_RDIST_BASE), )
+DEFINES		+= $(if $(GIC_CPU_BASE), -DGIC_CPU_BASE=$(GIC_CPU_BASE), )
+GIC		:= $(if $(GICV3_DIST_BASE), gic-v3.o, gic.o)
 
 if KERNEL_32
 MBOX_OFFSET	:= 0x7ff8
diff --git a/configure.ac b/configure.ac
index 9e3b722..ed3e094 100644
--- a/configure.ac
+++ b/configure.ac
@@ -111,13 +111,6 @@ AC_ARG_WITH([xen-cmdline],
 	[X_CMDLINE=$withval])
 AC_SUBST([XEN_CMDLINE], [$X_CMDLINE])
 
-# Allow a user to pass --enable-gicv3
-AC_ARG_ENABLE([gicv3],
-	AS_HELP_STRING([--enable-gicv3], [enable GICv3 instead of GICv2]),
-	[USE_GICV3=$enableval])
-AM_CONDITIONAL([GICV3], [test "x$USE_GICV3" = "xyes"])
-AS_IF([test "x$USE_GICV3" = "xyes"], [], [USE_GICV3=no])
-
 # Ensure that we have all the needed programs
 AC_PROG_CC
 AC_PROG_CPP
@@ -144,7 +137,6 @@ echo "  Device tree blob:                  ${KERN_DTB}"
 echo "  Linux kernel command line:         ${CMDLINE}"
 echo "  Embedded initrd:                   ${FILESYSTEM:-NONE}"
 echo "  Use PSCI?                          ${USE_PSCI}"
-echo "  Use GICv3?                         ${USE_GICV3}"
 echo "  Boot-wrapper execution state:      AArch${BOOTWRAPPER_ES}"
 echo "  Kernel execution state:            AArch${KERNEL_ES}"
 echo "  Xen image                          ${XEN_IMAGE:-NONE}"
-- 
2.25.1


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

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [aarch64 boot-wrapper PATCH 0/6] Various (build system) fixes
  2021-05-10 12:07 [aarch64 boot-wrapper PATCH 0/6] Various (build system) fixes Andre Przywara
                   ` (5 preceding siblings ...)
  2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 6/6] configure: Autodetect GICv3 Andre Przywara
@ 2021-07-30 17:40 ` Andre Przywara
  2021-08-02 14:30   ` Mark Rutland
  6 siblings, 1 reply; 9+ messages in thread
From: Andre Przywara @ 2021-07-30 17:40 UTC (permalink / raw)
  To: Mark Rutland; +Cc: linux-arm-kernel, Jaxson Han

On Mon, 10 May 2021 13:07:20 +0100
Andre Przywara <andre.przywara@arm.com> wrote:

> While playing around with the boot-wrapper (without reverting to my bash
> history), I noticed some minor problems when building it, so this series
> fixes some shortcomings.
> 
> See the respective patch subjects below for a summary.

Ping. Is there anything I can do to help those getting merged?

Cheers,
Andre

> 
> Thanks,
> Andre
> 
> Andre Przywara (6):
>   configure: Make PSCI the default boot method
>   configure: Fix default DTB
>   configure: Use earlycon instead of earlyprintk
>   Fix arch counter frequency
>   pointer auth: Document CPU feature bit mask
>   configure: Autodetect GICv3
> 
>  Makefile.am         | 23 +++++++++--------------
>  arch/aarch64/boot.S |  3 ++-
>  configure.ac        | 16 ++++------------
>  3 files changed, 15 insertions(+), 27 deletions(-)
> 


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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [aarch64 boot-wrapper PATCH 0/6] Various (build system) fixes
  2021-07-30 17:40 ` [aarch64 boot-wrapper PATCH 0/6] Various (build system) fixes Andre Przywara
@ 2021-08-02 14:30   ` Mark Rutland
  0 siblings, 0 replies; 9+ messages in thread
From: Mark Rutland @ 2021-08-02 14:30 UTC (permalink / raw)
  To: Andre Przywara; +Cc: linux-arm-kernel, Jaxson Han

On Fri, Jul 30, 2021 at 06:40:21PM +0100, Andre Przywara wrote:
> On Mon, 10 May 2021 13:07:20 +0100
> Andre Przywara <andre.przywara@arm.com> wrote:
> 
> > While playing around with the boot-wrapper (without reverting to my bash
> > history), I noticed some minor problems when building it, so this series
> > fixes some shortcomings.
> > 
> > See the respective patch subjects below for a summary.
> 
> Ping. Is there anything I can do to help those getting merged?

Sorry for the delay. I've picked the counter frequency fix for now, and
I'll see about picking up the rest with the next batch of updates. I'm
making a few other changes to defaults/configuration and would prefer to
do that all at once with a version-bump flag day.

Thanks,
Mark.

> 
> Cheers,
> Andre
> 
> > 
> > Thanks,
> > Andre
> > 
> > Andre Przywara (6):
> >   configure: Make PSCI the default boot method
> >   configure: Fix default DTB
> >   configure: Use earlycon instead of earlyprintk
> >   Fix arch counter frequency
> >   pointer auth: Document CPU feature bit mask
> >   configure: Autodetect GICv3
> > 
> >  Makefile.am         | 23 +++++++++--------------
> >  arch/aarch64/boot.S |  3 ++-
> >  configure.ac        | 16 ++++------------
> >  3 files changed, 15 insertions(+), 27 deletions(-)
> > 
> 

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-08-02 14:32 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-10 12:07 [aarch64 boot-wrapper PATCH 0/6] Various (build system) fixes Andre Przywara
2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 1/6] configure: Make PSCI the default boot method Andre Przywara
2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 2/6] configure: Fix default DTB Andre Przywara
2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 3/6] configure: Use earlycon instead of earlyprintk Andre Przywara
2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 4/6] Fix arch counter frequency Andre Przywara
2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 5/6] pointer auth: Document CPU feature bit mask Andre Przywara
2021-05-10 12:07 ` [aarch64 boot-wrapper PATCH 6/6] configure: Autodetect GICv3 Andre Przywara
2021-07-30 17:40 ` [aarch64 boot-wrapper PATCH 0/6] Various (build system) fixes Andre Przywara
2021-08-02 14:30   ` Mark Rutland

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).