* [U-Boot] [PATCH] dwc_ahsata: return failure for MX6 if not IMX6Q
@ 2014-05-06 5:22 Tim Harvey
2014-05-06 8:17 ` Stefano Babic
` (3 more replies)
0 siblings, 4 replies; 11+ messages in thread
From: Tim Harvey @ 2014-05-06 5:22 UTC (permalink / raw)
To: u-boot
The IMX6QUAD/DUAL have SATA, but the IMX6SOLO/DL do not. Return an error
indicating no such port instead of attempting a memory access that results
in a data abort and reset. This dynamic detection is necessary for bootloaders
that support multiple variants of the IMX6 SoC.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
---
drivers/block/dwc_ahsata.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/block/dwc_ahsata.c b/drivers/block/dwc_ahsata.c
index 3569214..638a585 100644
--- a/drivers/block/dwc_ahsata.c
+++ b/drivers/block/dwc_ahsata.c
@@ -17,6 +17,7 @@
#include <asm/io.h>
#include <linux/bitops.h>
#include <asm/arch/clock.h>
+#include <asm/arch/sys_proto.h>
#include "dwc_ahsata.h"
struct sata_port_regs {
@@ -558,6 +559,12 @@ int init_sata(int dev)
u32 linkmap;
struct ahci_probe_ent *probe_ent = NULL;
+#if defined(CONFIG_MX6)
+ if (!is_cpu_type(MXC_CPU_MX6Q)) {
+ printf("No device detected!\n");
+ return 1;
+ }
+#endif
if (dev < 0 || dev > (CONFIG_SYS_SATA_MAX_DEVICE - 1)) {
printf("The sata index %d is out of ranges\n\r", dev);
return -1;
--
1.8.3.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH] dwc_ahsata: return failure for MX6 if not IMX6Q
2014-05-06 5:22 [U-Boot] [PATCH] dwc_ahsata: return failure for MX6 if not IMX6Q Tim Harvey
@ 2014-05-06 8:17 ` Stefano Babic
2014-05-06 19:55 ` Troy Kisky
` (2 subsequent siblings)
3 siblings, 0 replies; 11+ messages in thread
From: Stefano Babic @ 2014-05-06 8:17 UTC (permalink / raw)
To: u-boot
Hi Tim,
On 06/05/2014 07:22, Tim Harvey wrote:
> The IMX6QUAD/DUAL have SATA, but the IMX6SOLO/DL do not. Return an error
> indicating no such port instead of attempting a memory access that results
> in a data abort and reset. This dynamic detection is necessary for bootloaders
> that support multiple variants of the IMX6 SoC.
>
Right !
> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
> ---
> drivers/block/dwc_ahsata.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/block/dwc_ahsata.c b/drivers/block/dwc_ahsata.c
> index 3569214..638a585 100644
> --- a/drivers/block/dwc_ahsata.c
> +++ b/drivers/block/dwc_ahsata.c
> @@ -17,6 +17,7 @@
> #include <asm/io.h>
> #include <linux/bitops.h>
> #include <asm/arch/clock.h>
> +#include <asm/arch/sys_proto.h>
> #include "dwc_ahsata.h"
>
> struct sata_port_regs {
> @@ -558,6 +559,12 @@ int init_sata(int dev)
> u32 linkmap;
> struct ahci_probe_ent *probe_ent = NULL;
>
> +#if defined(CONFIG_MX6)
> + if (!is_cpu_type(MXC_CPU_MX6Q)) {
> + printf("No device detected!\n");
Change only printf with puts. We use puts() in u-boot when we print a
fixed string.
Really I had drop the whole line. It is not that a SATA device is not
attached or not detected, but it is that a SATA is not possible at all.
It is like this is an error, but it is not: it is the real use case.
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH] dwc_ahsata: return failure for MX6 if not IMX6Q
2014-05-06 5:22 [U-Boot] [PATCH] dwc_ahsata: return failure for MX6 if not IMX6Q Tim Harvey
2014-05-06 8:17 ` Stefano Babic
@ 2014-05-06 19:55 ` Troy Kisky
2014-05-07 3:55 ` Tim Harvey
2014-05-08 5:23 ` [U-Boot] [PATCH v2] dwc_ahsata: return failure for MX6 if not IMX6Q/IMX6D Tim Harvey
2014-05-08 5:24 ` [U-Boot] [PATCH] imx: sata: return failure " Tim Harvey
3 siblings, 1 reply; 11+ messages in thread
From: Troy Kisky @ 2014-05-06 19:55 UTC (permalink / raw)
To: u-boot
On 5/5/2014 10:22 PM, Tim Harvey wrote:
> The IMX6QUAD/DUAL have SATA, but the IMX6SOLO/DL do not. Return an error
> indicating no such port instead of attempting a memory access that results
> in a data abort and reset. This dynamic detection is necessary for bootloaders
> that support multiple variants of the IMX6 SoC.
>
> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
> ---
> drivers/block/dwc_ahsata.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/block/dwc_ahsata.c b/drivers/block/dwc_ahsata.c
> index 3569214..638a585 100644
> --- a/drivers/block/dwc_ahsata.c
> +++ b/drivers/block/dwc_ahsata.c
> @@ -17,6 +17,7 @@
> #include <asm/io.h>
> #include <linux/bitops.h>
> #include <asm/arch/clock.h>
> +#include <asm/arch/sys_proto.h>
> #include "dwc_ahsata.h"
>
> struct sata_port_regs {
> @@ -558,6 +559,12 @@ int init_sata(int dev)
> u32 linkmap;
> struct ahci_probe_ent *probe_ent = NULL;
>
> +#if defined(CONFIG_MX6)
> + if (!is_cpu_type(MXC_CPU_MX6Q)) {
&& !is_cpu_type(MXC_CPU_MX6D)
is needed too ?
Troy
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH] dwc_ahsata: return failure for MX6 if not IMX6Q
2014-05-06 19:55 ` Troy Kisky
@ 2014-05-07 3:55 ` Tim Harvey
0 siblings, 0 replies; 11+ messages in thread
From: Tim Harvey @ 2014-05-07 3:55 UTC (permalink / raw)
To: u-boot
On Tue, May 6, 2014 at 12:55 PM, Troy Kisky
<troy.kisky@boundarydevices.com> wrote:
> On 5/5/2014 10:22 PM, Tim Harvey wrote:
>> The IMX6QUAD/DUAL have SATA, but the IMX6SOLO/DL do not. Return an error
>> indicating no such port instead of attempting a memory access that results
>> in a data abort and reset. This dynamic detection is necessary for bootloaders
>> that support multiple variants of the IMX6 SoC.
>>
>> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
>> ---
>> drivers/block/dwc_ahsata.c | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/drivers/block/dwc_ahsata.c b/drivers/block/dwc_ahsata.c
>> index 3569214..638a585 100644
>> --- a/drivers/block/dwc_ahsata.c
>> +++ b/drivers/block/dwc_ahsata.c
>> @@ -17,6 +17,7 @@
>> #include <asm/io.h>
>> #include <linux/bitops.h>
>> #include <asm/arch/clock.h>
>> +#include <asm/arch/sys_proto.h>
>> #include "dwc_ahsata.h"
>>
>> struct sata_port_regs {
>> @@ -558,6 +559,12 @@ int init_sata(int dev)
>> u32 linkmap;
>> struct ahci_probe_ent *probe_ent = NULL;
>>
>> +#if defined(CONFIG_MX6)
>> + if (!is_cpu_type(MXC_CPU_MX6Q)) {
>
> && !is_cpu_type(MXC_CPU_MX6D)
>
>
> is needed too ?
>
>
> Troy
Troy,
Indeed - thanks for the reminder!
Tim
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v2] dwc_ahsata: return failure for MX6 if not IMX6Q/IMX6D
2014-05-06 5:22 [U-Boot] [PATCH] dwc_ahsata: return failure for MX6 if not IMX6Q Tim Harvey
2014-05-06 8:17 ` Stefano Babic
2014-05-06 19:55 ` Troy Kisky
@ 2014-05-08 5:23 ` Tim Harvey
2014-06-05 10:46 ` Tim Harvey
2014-06-06 8:18 ` Stefano Babic
2014-05-08 5:24 ` [U-Boot] [PATCH] imx: sata: return failure " Tim Harvey
3 siblings, 2 replies; 11+ messages in thread
From: Tim Harvey @ 2014-05-08 5:23 UTC (permalink / raw)
To: u-boot
The IMX6QUAD/DUAL have SATA, but the IMX6SOLO/DL do not. Return failure
instead of attempting a memory access that results in a data abort and reset.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
---
v2:
- remove print as this condition isn't really an error just something not
possible
---
drivers/block/dwc_ahsata.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/block/dwc_ahsata.c b/drivers/block/dwc_ahsata.c
index 3569214..15d65d7 100644
--- a/drivers/block/dwc_ahsata.c
+++ b/drivers/block/dwc_ahsata.c
@@ -17,6 +17,7 @@
#include <asm/io.h>
#include <linux/bitops.h>
#include <asm/arch/clock.h>
+#include <asm/arch/sys_proto.h>
#include "dwc_ahsata.h"
struct sata_port_regs {
@@ -558,6 +559,10 @@ int init_sata(int dev)
u32 linkmap;
struct ahci_probe_ent *probe_ent = NULL;
+#if defined(CONFIG_MX6)
+ if (!is_cpu_type(MXC_CPU_MX6Q) && !is_cpu_type(MXC_CPU_MX6D))
+ return 1;
+#endif
if (dev < 0 || dev > (CONFIG_SYS_SATA_MAX_DEVICE - 1)) {
printf("The sata index %d is out of ranges\n\r", dev);
return -1;
--
1.8.3.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH] imx: sata: return failure if not IMX6Q/IMX6D
2014-05-06 5:22 [U-Boot] [PATCH] dwc_ahsata: return failure for MX6 if not IMX6Q Tim Harvey
` (2 preceding siblings ...)
2014-05-08 5:23 ` [U-Boot] [PATCH v2] dwc_ahsata: return failure for MX6 if not IMX6Q/IMX6D Tim Harvey
@ 2014-05-08 5:24 ` Tim Harvey
2014-06-05 10:44 ` Tim Harvey
3 siblings, 1 reply; 11+ messages in thread
From: Tim Harvey @ 2014-05-08 5:24 UTC (permalink / raw)
To: u-boot
The IMX6QUAD/DUAL have SATA, but the IMX6SOLO/DL do not. Return
instead of configuring the SATA clock and GPR13 registers.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
---
arch/arm/imx-common/sata.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/arm/imx-common/sata.c b/arch/arm/imx-common/sata.c
index 2e69486..c10dd28 100644
--- a/arch/arm/imx-common/sata.c
+++ b/arch/arm/imx-common/sata.c
@@ -8,13 +8,18 @@
#include <asm/arch/iomux.h>
#include <asm/io.h>
#include <asm/arch/clock.h>
+#include <asm/arch/sys_proto.h>
int setup_sata(void)
{
struct iomuxc_base_regs *const iomuxc_regs
= (struct iomuxc_base_regs *)IOMUXC_BASE_ADDR;
+ int ret;
- int ret = enable_sata_clock();
+ if (!is_cpu_type(MXC_CPU_MX6Q) && !is_cpu_type(MXC_CPU_MX6D))
+ return 1;
+
+ ret = enable_sata_clock();
if (ret)
return ret;
--
1.8.3.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH] imx: sata: return failure if not IMX6Q/IMX6D
2014-05-08 5:24 ` [U-Boot] [PATCH] imx: sata: return failure " Tim Harvey
@ 2014-06-05 10:44 ` Tim Harvey
2014-06-05 10:53 ` Stefano Babic
2014-06-06 8:18 ` Stefano Babic
0 siblings, 2 replies; 11+ messages in thread
From: Tim Harvey @ 2014-06-05 10:44 UTC (permalink / raw)
To: u-boot
On Wed, May 7, 2014 at 10:24 PM, Tim Harvey <tharvey@gateworks.com> wrote:
> The IMX6QUAD/DUAL have SATA, but the IMX6SOLO/DL do not. Return
> instead of configuring the SATA clock and GPR13 registers.
>
> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
> ---
> arch/arm/imx-common/sata.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/imx-common/sata.c b/arch/arm/imx-common/sata.c
> index 2e69486..c10dd28 100644
> --- a/arch/arm/imx-common/sata.c
> +++ b/arch/arm/imx-common/sata.c
> @@ -8,13 +8,18 @@
> #include <asm/arch/iomux.h>
> #include <asm/io.h>
> #include <asm/arch/clock.h>
> +#include <asm/arch/sys_proto.h>
>
> int setup_sata(void)
> {
> struct iomuxc_base_regs *const iomuxc_regs
> = (struct iomuxc_base_regs *)IOMUXC_BASE_ADDR;
> + int ret;
>
> - int ret = enable_sata_clock();
> + if (!is_cpu_type(MXC_CPU_MX6Q) && !is_cpu_type(MXC_CPU_MX6D))
> + return 1;
> +
> + ret = enable_sata_clock();
> if (ret)
> return ret;
>
> --
> 1.8.3.2
>
Stefano,
Any comments?
Regards,
Tim
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v2] dwc_ahsata: return failure for MX6 if not IMX6Q/IMX6D
2014-05-08 5:23 ` [U-Boot] [PATCH v2] dwc_ahsata: return failure for MX6 if not IMX6Q/IMX6D Tim Harvey
@ 2014-06-05 10:46 ` Tim Harvey
2014-06-06 8:18 ` Stefano Babic
1 sibling, 0 replies; 11+ messages in thread
From: Tim Harvey @ 2014-06-05 10:46 UTC (permalink / raw)
To: u-boot
On Wed, May 7, 2014 at 10:23 PM, Tim Harvey <tharvey@gateworks.com> wrote:
> The IMX6QUAD/DUAL have SATA, but the IMX6SOLO/DL do not. Return failure
> instead of attempting a memory access that results in a data abort and reset.
>
> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
> ---
> v2:
> - remove print as this condition isn't really an error just something not
> possible
> ---
> drivers/block/dwc_ahsata.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/block/dwc_ahsata.c b/drivers/block/dwc_ahsata.c
> index 3569214..15d65d7 100644
> --- a/drivers/block/dwc_ahsata.c
> +++ b/drivers/block/dwc_ahsata.c
> @@ -17,6 +17,7 @@
> #include <asm/io.h>
> #include <linux/bitops.h>
> #include <asm/arch/clock.h>
> +#include <asm/arch/sys_proto.h>
> #include "dwc_ahsata.h"
>
> struct sata_port_regs {
> @@ -558,6 +559,10 @@ int init_sata(int dev)
> u32 linkmap;
> struct ahci_probe_ent *probe_ent = NULL;
>
> +#if defined(CONFIG_MX6)
> + if (!is_cpu_type(MXC_CPU_MX6Q) && !is_cpu_type(MXC_CPU_MX6D))
> + return 1;
> +#endif
> if (dev < 0 || dev > (CONFIG_SYS_SATA_MAX_DEVICE - 1)) {
> printf("The sata index %d is out of ranges\n\r", dev);
> return -1;
> --
> 1.8.3.2
>
Stefano,
Any comments or does anyone else need to review this?
Regards,
Tim
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH] imx: sata: return failure if not IMX6Q/IMX6D
2014-06-05 10:44 ` Tim Harvey
@ 2014-06-05 10:53 ` Stefano Babic
2014-06-06 8:18 ` Stefano Babic
1 sibling, 0 replies; 11+ messages in thread
From: Stefano Babic @ 2014-06-05 10:53 UTC (permalink / raw)
To: u-boot
Hi Tim,
On 05/06/2014 12:44, Tim Harvey wrote:
> On Wed, May 7, 2014 at 10:24 PM, Tim Harvey <tharvey@gateworks.com> wrote:
>> The IMX6QUAD/DUAL have SATA, but the IMX6SOLO/DL do not. Return
>> instead of configuring the SATA clock and GPR13 registers.
>>
>> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
>> ---
>> arch/arm/imx-common/sata.c | 7 ++++++-
>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/imx-common/sata.c b/arch/arm/imx-common/sata.c
>> index 2e69486..c10dd28 100644
>> --- a/arch/arm/imx-common/sata.c
>> +++ b/arch/arm/imx-common/sata.c
>> @@ -8,13 +8,18 @@
>> #include <asm/arch/iomux.h>
>> #include <asm/io.h>
>> #include <asm/arch/clock.h>
>> +#include <asm/arch/sys_proto.h>
>>
>> int setup_sata(void)
>> {
>> struct iomuxc_base_regs *const iomuxc_regs
>> = (struct iomuxc_base_regs *)IOMUXC_BASE_ADDR;
>> + int ret;
>>
>> - int ret = enable_sata_clock();
>> + if (!is_cpu_type(MXC_CPU_MX6Q) && !is_cpu_type(MXC_CPU_MX6D))
>> + return 1;
>> +
>> + ret = enable_sata_clock();
>> if (ret)
>> return ret;
>>
>> --
>> 1.8.3.2
>>
>
> Stefano,
>
> Any comments?
>
No comments. In my queue it is ready-to-be-applied. I will do it after
the whole SPL series. My plan is to apply them until the end of the week.
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH] imx: sata: return failure if not IMX6Q/IMX6D
2014-06-05 10:44 ` Tim Harvey
2014-06-05 10:53 ` Stefano Babic
@ 2014-06-06 8:18 ` Stefano Babic
1 sibling, 0 replies; 11+ messages in thread
From: Stefano Babic @ 2014-06-06 8:18 UTC (permalink / raw)
To: u-boot
Hi Tim,
On 05/06/2014 12:44, Tim Harvey wrote:
> On Wed, May 7, 2014 at 10:24 PM, Tim Harvey <tharvey@gateworks.com> wrote:
>> The IMX6QUAD/DUAL have SATA, but the IMX6SOLO/DL do not. Return
>> instead of configuring the SATA clock and GPR13 registers.
>>
>> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
>> ---
>> arch/arm/imx-common/sata.c | 7 ++++++-
>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/imx-common/sata.c b/arch/arm/imx-common/sata.c
>> index 2e69486..c10dd28 100644
>> --- a/arch/arm/imx-common/sata.c
>> +++ b/arch/arm/imx-common/sata.c
>> @@ -8,13 +8,18 @@
>> #include <asm/arch/iomux.h>
>> #include <asm/io.h>
>> #include <asm/arch/clock.h>
>> +#include <asm/arch/sys_proto.h>
>>
>> int setup_sata(void)
>> {
>> struct iomuxc_base_regs *const iomuxc_regs
>> = (struct iomuxc_base_regs *)IOMUXC_BASE_ADDR;
>> + int ret;
>>
>> - int ret = enable_sata_clock();
>> + if (!is_cpu_type(MXC_CPU_MX6Q) && !is_cpu_type(MXC_CPU_MX6D))
>> + return 1;
>> +
>> + ret = enable_sata_clock();
>> if (ret)
>> return ret;
>>
>> --
>> 1.8.3.2
>>
>
> Stefano,
>
> Any comments?
>
Yes: applied to u-boot-imx, thanks !
Regards,
Stefano
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v2] dwc_ahsata: return failure for MX6 if not IMX6Q/IMX6D
2014-05-08 5:23 ` [U-Boot] [PATCH v2] dwc_ahsata: return failure for MX6 if not IMX6Q/IMX6D Tim Harvey
2014-06-05 10:46 ` Tim Harvey
@ 2014-06-06 8:18 ` Stefano Babic
1 sibling, 0 replies; 11+ messages in thread
From: Stefano Babic @ 2014-06-06 8:18 UTC (permalink / raw)
To: u-boot
On 08/05/2014 07:23, Tim Harvey wrote:
> The IMX6QUAD/DUAL have SATA, but the IMX6SOLO/DL do not. Return failure
> instead of attempting a memory access that results in a data abort and reset.
>
> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
> ---
> v2:
> - remove print as this condition isn't really an error just something not
> possible
> ---
Applied to u-boot-imx, thanks !
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2014-06-06 8:18 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-06 5:22 [U-Boot] [PATCH] dwc_ahsata: return failure for MX6 if not IMX6Q Tim Harvey
2014-05-06 8:17 ` Stefano Babic
2014-05-06 19:55 ` Troy Kisky
2014-05-07 3:55 ` Tim Harvey
2014-05-08 5:23 ` [U-Boot] [PATCH v2] dwc_ahsata: return failure for MX6 if not IMX6Q/IMX6D Tim Harvey
2014-06-05 10:46 ` Tim Harvey
2014-06-06 8:18 ` Stefano Babic
2014-05-08 5:24 ` [U-Boot] [PATCH] imx: sata: return failure " Tim Harvey
2014-06-05 10:44 ` Tim Harvey
2014-06-05 10:53 ` Stefano Babic
2014-06-06 8:18 ` Stefano Babic
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.