diff mbox

[3/3] arc: add support of ARC HS38 core

Message ID 1414677449-15937-4-git-send-email-abrodkin@synopsys.com
State Accepted
Headers show

Commit Message

Alexey Brodkin Oct. 30, 2014, 1:57 p.m. UTC
Synopsys has recently announced its new ARC HS38 core that is capable of
running Linux -
http://www.synopsys.com/dw/ipdir.php?ds=arc-hs38-processor

ARC HS38 is based on ARCv2 ISA and requires special settings of gcc and
libc.

Also in case of HS38 atomic extensions (LLOCK/SCOND instructions) are
built-in by default, so enabling atomic extensions in Buildroot as well.

This commit adds support of the core in buildroot.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>

Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Anton Kolesov <anton.kolesov@synopsys.com>
---
 arch/Config.in.arc       | 6 +++++-
 package/uclibc/Config.in | 1 +
 2 files changed, 6 insertions(+), 1 deletion(-)

Comments

Yann E. MORIN Nov. 1, 2014, 9:47 p.m. UTC | #1
Alexey, All,

On 2014-10-30 16:57 +0300, Alexey Brodkin spake thusly:
> Synopsys has recently announced its new ARC HS38 core that is capable of
> running Linux -
> http://www.synopsys.com/dw/ipdir.php?ds=arc-hs38-processor
> 
> ARC HS38 is based on ARCv2 ISA and requires special settings of gcc and
> libc.
> 
> Also in case of HS38 atomic extensions (LLOCK/SCOND instructions) are
> built-in by default, so enabling atomic extensions in Buildroot as well.

Ditto as for the first patch: are atomics configurable? Ditto the
proposal if not.

> This commit adds support of the core in buildroot.
> 
> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
> 
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Anton Kolesov <anton.kolesov@synopsys.com>
> ---
>  arch/Config.in.arc       | 6 +++++-
>  package/uclibc/Config.in | 1 +
>  2 files changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/Config.in.arc b/arch/Config.in.arc
> index b31b141..b48a90f 100644
> --- a/arch/Config.in.arc
> +++ b/arch/Config.in.arc
> @@ -11,12 +11,15 @@ config BR2_arc750d
>  config BR2_arc770d
>  	bool "ARC 770D"
>  
> +config BR2_archs38
> +	bool "ARC HS38"
> +
>  endchoice
>  
>  # Choice of atomic instructions presence
>  config BR2_ARC_ATOMIC_EXT
>  	bool "Atomic extension (LLOCK/SCOND instructions)"
> -	default y if BR2_arc770d
> +	default y if BR2_arc770d || BR2_archs38
>  
>  config BR2_ARCH_HAS_ATOMICS
>  	default y if BR2_ARC_ATOMIC_EXT
> @@ -36,3 +39,4 @@ config BR2_ENDIAN
>  config BR2_GCC_TARGET_CPU
>  	default "arc700" if BR2_arc750d
>  	default "arc700" if BR2_arc770d
> +	default "archs"	 if BR2_archs38
> diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in
> index c68558f..40a268b 100644
> --- a/package/uclibc/Config.in
> +++ b/package/uclibc/Config.in
> @@ -199,6 +199,7 @@ config BR2_UCLIBC_ARC_TYPE
>  	depends on BR2_UCLIBC_TARGET_ARCH = "arc"
>  	default ARC_CPU_700	if BR2_arc750d
>  	default ARC_CPU_700	if BR2_arc770d
> +	default ARC_CPU_HS	if BR2_archs38

Ditto: this is a string, so values must be enclosed between double
quotes.

Regards,
Yann E. MORIN.

>  
>  config BR2_UCLIBC_ARM_BX
>  	bool
> -- 
> 1.9.3
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Yann E. MORIN Nov. 1, 2014, 10:26 p.m. UTC | #2
Alexey, All,

On 2014-11-01 22:47 +0100, Yann E. MORIN spake thusly:
> On 2014-10-30 16:57 +0300, Alexey Brodkin spake thusly:
> > Synopsys has recently announced its new ARC HS38 core that is capable of
> > running Linux -
> > http://www.synopsys.com/dw/ipdir.php?ds=arc-hs38-processor
> > 
> > ARC HS38 is based on ARCv2 ISA and requires special settings of gcc and
> > libc.
> > 
> > Also in case of HS38 atomic extensions (LLOCK/SCOND instructions) are
> > built-in by default, so enabling atomic extensions in Buildroot as well.
> 
> Ditto as for the first patch: are atomics configurable? Ditto the
> proposal if not.

Ditto: I just read your previous explanations, so just forget about that
part. Still the comment below stands...

[--SNIP--]
> > diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in
> > index c68558f..40a268b 100644
> > --- a/package/uclibc/Config.in
> > +++ b/package/uclibc/Config.in
> > @@ -199,6 +199,7 @@ config BR2_UCLIBC_ARC_TYPE
> >  	depends on BR2_UCLIBC_TARGET_ARCH = "arc"
> >  	default ARC_CPU_700	if BR2_arc750d
> >  	default ARC_CPU_700	if BR2_arc770d
> > +	default ARC_CPU_HS	if BR2_archs38
> 
> Ditto: this is a string, so values must be enclosed between double
> quotes.

Regards,
Yann E. MORIN.
Peter Korsgaard Nov. 2, 2014, 9:25 p.m. UTC | #3
>>>>> "Alexey" == Alexey Brodkin <Alexey.Brodkin@synopsys.com> writes:

 > Synopsys has recently announced its new ARC HS38 core that is capable of
 > running Linux -
 > http://www.synopsys.com/dw/ipdir.php?ds=arc-hs38-processor

 > ARC HS38 is based on ARCv2 ISA and requires special settings of gcc and
 > libc.

 > Also in case of HS38 atomic extensions (LLOCK/SCOND instructions) are
 > built-in by default, so enabling atomic extensions in Buildroot as well.

 > This commit adds support of the core in buildroot.

Committed with quotes added as noted by Yann, thanks.
diff mbox

Patch

diff --git a/arch/Config.in.arc b/arch/Config.in.arc
index b31b141..b48a90f 100644
--- a/arch/Config.in.arc
+++ b/arch/Config.in.arc
@@ -11,12 +11,15 @@  config BR2_arc750d
 config BR2_arc770d
 	bool "ARC 770D"
 
+config BR2_archs38
+	bool "ARC HS38"
+
 endchoice
 
 # Choice of atomic instructions presence
 config BR2_ARC_ATOMIC_EXT
 	bool "Atomic extension (LLOCK/SCOND instructions)"
-	default y if BR2_arc770d
+	default y if BR2_arc770d || BR2_archs38
 
 config BR2_ARCH_HAS_ATOMICS
 	default y if BR2_ARC_ATOMIC_EXT
@@ -36,3 +39,4 @@  config BR2_ENDIAN
 config BR2_GCC_TARGET_CPU
 	default "arc700" if BR2_arc750d
 	default "arc700" if BR2_arc770d
+	default "archs"	 if BR2_archs38
diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in
index c68558f..40a268b 100644
--- a/package/uclibc/Config.in
+++ b/package/uclibc/Config.in
@@ -199,6 +199,7 @@  config BR2_UCLIBC_ARC_TYPE
 	depends on BR2_UCLIBC_TARGET_ARCH = "arc"
 	default ARC_CPU_700	if BR2_arc750d
 	default ARC_CPU_700	if BR2_arc770d
+	default ARC_CPU_HS	if BR2_archs38
 
 config BR2_UCLIBC_ARM_BX
 	bool