linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] powerpc/fsl-booke: Add support for FSL 64-bit e5500 core
@ 2010-10-12 15:50 Kumar Gala
  2010-10-12 15:50 ` [PATCH v2] powerpc/fsl-booke: Add p5020 DS board support Kumar Gala
  2010-10-12 17:33 ` [PATCH v2] powerpc/fsl-booke: Add support for FSL 64-bit e5500 core Scott Wood
  0 siblings, 2 replies; 6+ messages in thread
From: Kumar Gala @ 2010-10-12 15:50 UTC (permalink / raw)
  To: linuxppc-dev

The new e5500 core is similar to the e500mc core but adds 64-bit
support.  We support running it in 32-bit mode as it is identical to the
e500mc.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
* Updated to remove CONFIG_PPC_E5500 and use E500MC

 arch/powerpc/include/asm/reg_booke.h      |    3 ++-
 arch/powerpc/kernel/Makefile              |    1 +
 arch/powerpc/kernel/cpu_setup_fsl_booke.S |   15 +++++++++++++++
 arch/powerpc/kernel/cputable.c            |   26 +++++++++++++++++++++++++-
 arch/powerpc/kernel/traps.c               |    8 +++++++-
 arch/powerpc/platforms/85xx/Kconfig       |    4 ++++
 arch/powerpc/platforms/Kconfig.cputype    |   19 ++++++++++++-------
 7 files changed, 66 insertions(+), 10 deletions(-)

diff --git a/arch/powerpc/include/asm/reg_booke.h b/arch/powerpc/include/asm/reg_booke.h
index 667a498..5e7ab0c 100644
--- a/arch/powerpc/include/asm/reg_booke.h
+++ b/arch/powerpc/include/asm/reg_booke.h
@@ -203,7 +203,8 @@
 #define PPC47x_MCSR_FPR	0x00800000 /* FPR parity error */
 #define PPC47x_MCSR_IPR	0x00400000 /* Imprecise Machine Check Exception */
 
-#ifdef CONFIG_E500
+#if defined(CONFIG_E500) || defined(CONFIG_PPC_E500MC) \
+	|| defined(CONFIG_PPC_BOOK3E_64)
 /* All e500 */
 #define MCSR_MCP 	0x80000000UL /* Machine Check Input Pin */
 #define MCSR_ICPERR 	0x40000000UL /* I-Cache Parity Error */
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
index 1dda701..ac4aadf 100644
--- a/arch/powerpc/kernel/Makefile
+++ b/arch/powerpc/kernel/Makefile
@@ -36,6 +36,7 @@ obj-$(CONFIG_PPC64)		+= setup_64.o sys_ppc32.o \
 				   paca.o nvram_64.o firmware.o
 obj-$(CONFIG_HAVE_HW_BREAKPOINT)	+= hw_breakpoint.o
 obj-$(CONFIG_PPC_BOOK3S_64)	+= cpu_setup_ppc970.o cpu_setup_pa6t.o
+obj-$(CONFIG_PPC_BOOK3E_64)	+= cpu_setup_fsl_booke.o
 obj64-$(CONFIG_RELOCATABLE)	+= reloc_64.o
 obj-$(CONFIG_PPC_BOOK3E_64)	+= exceptions-64e.o idle_book3e.o
 obj-$(CONFIG_PPC64)		+= vdso64/
diff --git a/arch/powerpc/kernel/cpu_setup_fsl_booke.S b/arch/powerpc/kernel/cpu_setup_fsl_booke.S
index 0adb50a..894e64f 100644
--- a/arch/powerpc/kernel/cpu_setup_fsl_booke.S
+++ b/arch/powerpc/kernel/cpu_setup_fsl_booke.S
@@ -51,6 +51,7 @@ _GLOBAL(__e500_dcache_setup)
 	isync
 	blr
 
+#ifdef CONFIG_PPC32
 _GLOBAL(__setup_cpu_e200)
 	/* enable dedicated debug exception handling resources (Debug APU) */
 	mfspr	r3,SPRN_HID0
@@ -72,3 +73,17 @@ _GLOBAL(__setup_cpu_e500mc)
 	bl	__setup_e500mc_ivors
 	mtlr	r4
 	blr
+#endif
+/* Right now, restore and setup are the same thing */
+_GLOBAL(__restore_cpu_e5500)
+_GLOBAL(__setup_cpu_e5500)
+	mflr	r4
+	bl	__e500_icache_setup
+	bl	__e500_dcache_setup
+#ifdef CONFIG_PPC_BOOK3E_64
+	bl	.__setup_base_ivors
+#else
+	bl	__setup_e500mc_ivors
+#endif
+	mtlr	r4
+	blr
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index 1f9123f..f93a061 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -66,6 +66,10 @@ extern void __restore_cpu_ppc970(void);
 extern void __setup_cpu_power7(unsigned long offset, struct cpu_spec* spec);
 extern void __restore_cpu_power7(void);
 #endif /* CONFIG_PPC64 */
+#if defined(CONFIG_PPC_BOOK3E_64) || defined(CONFIG_E500)
+extern void __setup_cpu_e5500(unsigned long offset, struct cpu_spec* spec);
+extern void __restore_cpu_e5500(void);
+#endif /* CONFIG_PPC_BOOK3E_64 || CONFIG_E500 */
 
 /* This table only contains "desktop" CPUs, it need to be filled with embedded
  * ones as well...
@@ -1891,6 +1895,27 @@ static struct cpu_spec __initdata cpu_specs[] = {
 		.platform		= "ppc5554",
 	}
 #endif /* CONFIG_E200 */
+#endif /* CONFIG_PPC32 */
+#if defined(CONFIG_PPC_BOOK3E_64) || defined(CONFIG_E500)
+	{	/* e5500 */
+		.pvr_mask		= 0xffff0000,
+		.pvr_value		= 0x80240000,
+		.cpu_name		= "e5500",
+		.cpu_features		= CPU_FTRS_E500MC,
+		.cpu_user_features	= COMMON_USER_BOOKE,
+		.mmu_features		= MMU_FTR_TYPE_FSL_E | MMU_FTR_BIG_PHYS |
+			MMU_FTR_USE_TLBILX,
+		.icache_bsize		= 64,
+		.dcache_bsize		= 64,
+		.num_pmcs		= 4,
+		.oprofile_cpu_type	= "ppc/e500mc",
+		.oprofile_type		= PPC_OPROFILE_FSL_EMB,
+		.cpu_setup		= __setup_cpu_e5500,
+		.cpu_restore		= __restore_cpu_e5500,
+		.machine_check		= machine_check_e500mc,
+		.platform		= "ppce5500",
+	},
+#endif
 #ifdef CONFIG_E500
 	{	/* e500 */
 		.pvr_mask		= 0xffff0000,
@@ -1961,7 +1986,6 @@ static struct cpu_spec __initdata cpu_specs[] = {
 		.platform		= "powerpc",
 	}
 #endif /* CONFIG_E500 */
-#endif /* CONFIG_PPC32 */
 
 #ifdef CONFIG_PPC_BOOK3E_64
 	{	/* This is a default entry to get going, to be replaced by
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index a45a63c..e0e7184 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -418,7 +418,8 @@ int machine_check_47x(struct pt_regs *regs)
 
 	return 0;
 }
-#elif defined(CONFIG_E500)
+#elif defined(CONFIG_E500) || defined(CONFIG_PPC_E500MC) \
+	|| defined(CONFIG_PPC_BOOK3E_64)
 int machine_check_e500mc(struct pt_regs *regs)
 {
 	unsigned long mcsr = mfspr(SPRN_MCSR);
@@ -538,6 +539,11 @@ int machine_check_e500(struct pt_regs *regs)
 
 	return 0;
 }
+
+int machine_check_generic(struct pt_regs *regs)
+{
+	return 0;
+}
 #elif defined(CONFIG_E200)
 int machine_check_e200(struct pt_regs *regs)
 {
diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig
index 5bde1f2..ae25527 100644
--- a/arch/powerpc/platforms/85xx/Kconfig
+++ b/arch/powerpc/platforms/85xx/Kconfig
@@ -11,6 +11,8 @@ menuconfig FSL_SOC_BOOKE
 
 if FSL_SOC_BOOKE
 
+if PPC32
+
 config MPC8540_ADS
 	bool "Freescale MPC8540 ADS"
 	select DEFAULT_UIMAGE
@@ -177,6 +179,8 @@ config P4080_DS
 	help
 	  This option enables support for the P4080 DS board
 
+endif # PPC32
+
 endif # FSL_SOC_BOOKE
 
 config TQM85xx
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
index d361f81..a21748c 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -130,7 +130,7 @@ config E500
 config PPC_E500MC
 	bool "e500mc Support"
 	select PPC_FPU
-	depends on E500
+	depends on E500 || PPC_BOOK3E_64
 
 config PPC_FPU
 	bool
@@ -138,7 +138,7 @@ config PPC_FPU
 
 config FSL_EMB_PERFMON
 	bool "Freescale Embedded Perfmon"
-	depends on E500 || PPC_83xx
+	depends on E500 || PPC_E500MC || PPC_83xx
 	help
 	  This is the Performance Monitor support found on the e500 core
 	  and some e300 cores (c3 and c4).  Select this only if your
@@ -151,7 +151,7 @@ config FSL_EMB_PERF_EVENT
 
 config FSL_EMB_PERF_EVENT_E500
 	bool
-	depends on FSL_EMB_PERF_EVENT && E500
+	depends on FSL_EMB_PERF_EVENT && (E500 || PPC_E500MC)
 	default y
 
 config 4xx
@@ -161,7 +161,7 @@ config 4xx
 
 config BOOKE
 	bool
-	depends on E200 || E500 || 44x || PPC_BOOK3E
+	depends on E200 || E500 || PPC_E500MC || 44x || PPC_BOOK3E
 	default y
 
 config FSL_BOOKE
@@ -169,15 +169,20 @@ config FSL_BOOKE
 	depends on E200 || E500
 	default y
 
+# this is for common code between PPC32 & PPC64 FSL BOOKE
+config PPC_FSL_BOOK3E
+	bool
+	select FSL_EMB_PERFMON
+	default y if FSL_BOOKE
 
 config PTE_64BIT
 	bool
-	depends on 44x || E500 || PPC_86xx
+	depends on 44x || E500 || PPC_E500MC || PPC_86xx
 	default y if PHYS_64BIT
 
 config PHYS_64BIT
-	bool 'Large physical address support' if E500 || PPC_86xx
-	depends on (44x || E500 || PPC_86xx) && !PPC_83xx && !PPC_82xx
+	bool 'Large physical address support' if E500 || PPC_E500MC || PPC_86xx
+	depends on (44x || E500 || PPC_E500MC || PPC_86xx) && !PPC_83xx && !PPC_82xx
 	---help---
 	  This option enables kernel support for larger than 32-bit physical
 	  addresses.  This feature may not be available on all cores.
-- 
1.7.2.3

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

* [PATCH v2] powerpc/fsl-booke: Add p5020 DS board support
  2010-10-12 15:50 [PATCH v2] powerpc/fsl-booke: Add support for FSL 64-bit e5500 core Kumar Gala
@ 2010-10-12 15:50 ` Kumar Gala
  2010-10-12 17:33 ` [PATCH v2] powerpc/fsl-booke: Add support for FSL 64-bit e5500 core Scott Wood
  1 sibling, 0 replies; 6+ messages in thread
From: Kumar Gala @ 2010-10-12 15:50 UTC (permalink / raw)
  To: linuxppc-dev

The P5020DS is in the same family of boards as the P4080 DS and thus
shares the corenet_ds code.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
* Updated based on removal of CONFIG_PPC_E5500

 arch/powerpc/platforms/85xx/Kconfig    |   12 ++++++
 arch/powerpc/platforms/85xx/Makefile   |    1 +
 arch/powerpc/platforms/85xx/p5020_ds.c |   69 ++++++++++++++++++++++++++++++++
 3 files changed, 82 insertions(+), 0 deletions(-)
 create mode 100644 arch/powerpc/platforms/85xx/p5020_ds.c

diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig
index ae25527..82d7f33 100644
--- a/arch/powerpc/platforms/85xx/Kconfig
+++ b/arch/powerpc/platforms/85xx/Kconfig
@@ -181,6 +181,18 @@ config P4080_DS
 
 endif # PPC32
 
+config P5020_DS
+	bool "Freescale P5020 DS"
+	select DEFAULT_UIMAGE
+	select PPC_FSL_BOOK3E
+	select PPC_E500MC
+	select PHYS_64BIT
+	select SWIOTLB
+	select MPC8xxx_GPIO
+	select HAS_RAPIDIO
+	help
+	  This option enables support for the P5020 DS board
+
 endif # FSL_SOC_BOOKE
 
 config TQM85xx
diff --git a/arch/powerpc/platforms/85xx/Makefile b/arch/powerpc/platforms/85xx/Makefile
index c3ac071..dd70db7 100644
--- a/arch/powerpc/platforms/85xx/Makefile
+++ b/arch/powerpc/platforms/85xx/Makefile
@@ -13,6 +13,7 @@ obj-$(CONFIG_MPC85xx_RDB) += mpc85xx_rdb.o
 obj-$(CONFIG_P1022_DS)    += p1022_ds.o
 obj-$(CONFIG_P3041_DS)    += p3041_ds.o corenet_ds.o
 obj-$(CONFIG_P4080_DS)    += p4080_ds.o corenet_ds.o
+obj-$(CONFIG_P5020_DS)    += p5020_ds.o corenet_ds.o
 obj-$(CONFIG_STX_GP3)	  += stx_gp3.o
 obj-$(CONFIG_TQM85xx)	  += tqm85xx.o
 obj-$(CONFIG_SBC8560)     += sbc8560.o
diff --git a/arch/powerpc/platforms/85xx/p5020_ds.c b/arch/powerpc/platforms/85xx/p5020_ds.c
new file mode 100644
index 0000000..7467b71
--- /dev/null
+++ b/arch/powerpc/platforms/85xx/p5020_ds.c
@@ -0,0 +1,69 @@
+/*
+ * P5020 DS Setup
+ *
+ * Maintained by Kumar Gala (see MAINTAINERS for contact information)
+ *
+ * Copyright 2009-2010 Freescale Semiconductor Inc.
+ *
+ * This program is free software; you can redistribute  it and/or modify it
+ * under  the terms of  the GNU General  Public License as published by the
+ * Free Software Foundation;  either version 2 of the  License, or (at your
+ * option) any later version.
+ */
+
+#include <linux/kernel.h>
+#include <linux/pci.h>
+#include <linux/kdev_t.h>
+#include <linux/delay.h>
+#include <linux/interrupt.h>
+#include <linux/phy.h>
+
+#include <asm/system.h>
+#include <asm/time.h>
+#include <asm/machdep.h>
+#include <asm/pci-bridge.h>
+#include <mm/mmu_decl.h>
+#include <asm/prom.h>
+#include <asm/udbg.h>
+#include <asm/mpic.h>
+
+#include <linux/of_platform.h>
+#include <sysdev/fsl_soc.h>
+#include <sysdev/fsl_pci.h>
+
+#include "corenet_ds.h"
+
+/*
+ * Called very early, device-tree isn't unflattened
+ */
+static int __init p5020_ds_probe(void)
+{
+	unsigned long root = of_get_flat_dt_root();
+
+	return of_flat_dt_is_compatible(root, "fsl,P5020DS");
+}
+
+define_machine(p5020_ds) {
+	.name			= "P5020 DS",
+	.probe			= p5020_ds_probe,
+	.setup_arch		= corenet_ds_setup_arch,
+	.init_IRQ		= corenet_ds_pic_init,
+#ifdef CONFIG_PCI
+	.pcibios_fixup_bus	= fsl_pcibios_fixup_bus,
+#endif
+/* coreint doesn't play nice with lazy EE, use legacy mpic for now */
+#ifdef CONFIG_PPC64
+	.get_irq		= mpic_get_irq,
+#else
+	.get_irq		= mpic_get_coreint_irq,
+#endif
+	.restart		= fsl_rstcr_restart,
+	.calibrate_decr		= generic_calibrate_decr,
+	.progress		= udbg_progress,
+};
+
+machine_device_initcall(p5020_ds, corenet_ds_publish_devices);
+
+#ifdef CONFIG_SWIOTLB
+machine_arch_initcall(p5020_ds, swiotlb_setup_bus_notifier);
+#endif
-- 
1.7.2.3

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

* Re: [PATCH v2] powerpc/fsl-booke: Add support for FSL 64-bit e5500 core
  2010-10-12 15:50 [PATCH v2] powerpc/fsl-booke: Add support for FSL 64-bit e5500 core Kumar Gala
  2010-10-12 15:50 ` [PATCH v2] powerpc/fsl-booke: Add p5020 DS board support Kumar Gala
@ 2010-10-12 17:33 ` Scott Wood
  2010-10-12 19:55   ` Kumar Gala
  1 sibling, 1 reply; 6+ messages in thread
From: Scott Wood @ 2010-10-12 17:33 UTC (permalink / raw)
  To: Kumar Gala; +Cc: linuxppc-dev

On Tue, 12 Oct 2010 10:50:52 -0500
Kumar Gala <galak@kernel.crashing.org> wrote:

> The new e5500 core is similar to the e500mc core but adds 64-bit
> support.  We support running it in 32-bit mode as it is identical to the
> e500mc.
> 
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
> ---
> * Updated to remove CONFIG_PPC_E5500 and use E500MC

It still has E500 || E500MC all over the place...

If E500MC is not going to imply E500 that should be consistent for both
32 and 64 bit -- though I think it would make more sense that E500MC
does imply E500.

-Scott

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

* Re: [PATCH v2] powerpc/fsl-booke: Add support for FSL 64-bit e5500 core
  2010-10-12 17:33 ` [PATCH v2] powerpc/fsl-booke: Add support for FSL 64-bit e5500 core Scott Wood
@ 2010-10-12 19:55   ` Kumar Gala
  2010-10-12 20:11     ` Scott Wood
  0 siblings, 1 reply; 6+ messages in thread
From: Kumar Gala @ 2010-10-12 19:55 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev


On Oct 12, 2010, at 12:33 PM, Scott Wood wrote:

> On Tue, 12 Oct 2010 10:50:52 -0500
> Kumar Gala <galak@kernel.crashing.org> wrote:
>=20
>> The new e5500 core is similar to the e500mc core but adds 64-bit
>> support.  We support running it in 32-bit mode as it is identical to =
the
>> e500mc.
>>=20
>> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
>> ---
>> * Updated to remove CONFIG_PPC_E5500 and use E500MC
>=20
> It still has E500 || E500MC all over the place...
>=20
> If E500MC is not going to imply E500 that should be consistent for =
both
> 32 and 64 bit -- though I think it would make more sense that E500MC
> does imply E500.
>=20
> -Scott

I have a problem with Kconfig and getting E500MC option to only exist in =
the proper cases.

- k=

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

* Re: [PATCH v2] powerpc/fsl-booke: Add support for FSL 64-bit e5500 core
  2010-10-12 19:55   ` Kumar Gala
@ 2010-10-12 20:11     ` Scott Wood
  2010-10-13 12:38       ` Kumar Gala
  0 siblings, 1 reply; 6+ messages in thread
From: Scott Wood @ 2010-10-12 20:11 UTC (permalink / raw)
  To: Kumar Gala; +Cc: linuxppc-dev

On Tue, 12 Oct 2010 14:55:42 -0500
Kumar Gala <galak@kernel.crashing.org> wrote:

> 
> On Oct 12, 2010, at 12:33 PM, Scott Wood wrote:
> 
> > On Tue, 12 Oct 2010 10:50:52 -0500
> > Kumar Gala <galak@kernel.crashing.org> wrote:
> > 
> >> The new e5500 core is similar to the e500mc core but adds 64-bit
> >> support.  We support running it in 32-bit mode as it is identical to the
> >> e500mc.
> >> 
> >> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
> >> ---
> >> * Updated to remove CONFIG_PPC_E5500 and use E500MC
> > 
> > It still has E500 || E500MC all over the place...
> > 
> > If E500MC is not going to imply E500 that should be consistent for both
> > 32 and 64 bit -- though I think it would make more sense that E500MC
> > does imply E500.
> > 
> > -Scott
> 
> I have a problem with Kconfig and getting E500MC option to only exist in the proper cases.

Does having P5020DS (and any future 64-bit-capable board)
explicitly select E500 as well as PPC_E500MC avoid the issue?

-Scott

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

* Re: [PATCH v2] powerpc/fsl-booke: Add support for FSL 64-bit e5500 core
  2010-10-12 20:11     ` Scott Wood
@ 2010-10-13 12:38       ` Kumar Gala
  0 siblings, 0 replies; 6+ messages in thread
From: Kumar Gala @ 2010-10-13 12:38 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev


On Oct 12, 2010, at 3:11 PM, Scott Wood wrote:

> On Tue, 12 Oct 2010 14:55:42 -0500
> Kumar Gala <galak@kernel.crashing.org> wrote:
>=20
>>=20
>> On Oct 12, 2010, at 12:33 PM, Scott Wood wrote:
>>=20
>>> On Tue, 12 Oct 2010 10:50:52 -0500
>>> Kumar Gala <galak@kernel.crashing.org> wrote:
>>>=20
>>>> The new e5500 core is similar to the e500mc core but adds 64-bit
>>>> support.  We support running it in 32-bit mode as it is identical =
to the
>>>> e500mc.
>>>>=20
>>>> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
>>>> ---
>>>> * Updated to remove CONFIG_PPC_E5500 and use E500MC
>>>=20
>>> It still has E500 || E500MC all over the place...
>>>=20
>>> If E500MC is not going to imply E500 that should be consistent for =
both
>>> 32 and 64 bit -- though I think it would make more sense that E500MC
>>> does imply E500.
>>>=20
>>> -Scott
>>=20
>> I have a problem with Kconfig and getting E500MC option to only exist =
in the proper cases.
>=20
> Does having P5020DS (and any future 64-bit-capable board)
> explicitly select E500 as well as PPC_E500MC avoid the issue?

it does, kinda ugly but oh well.

- k

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

end of thread, other threads:[~2010-10-13 12:38 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-12 15:50 [PATCH v2] powerpc/fsl-booke: Add support for FSL 64-bit e5500 core Kumar Gala
2010-10-12 15:50 ` [PATCH v2] powerpc/fsl-booke: Add p5020 DS board support Kumar Gala
2010-10-12 17:33 ` [PATCH v2] powerpc/fsl-booke: Add support for FSL 64-bit e5500 core Scott Wood
2010-10-12 19:55   ` Kumar Gala
2010-10-12 20:11     ` Scott Wood
2010-10-13 12:38       ` Kumar Gala

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).