diff mbox

arc: add HS38 VDK virtual boards

Message ID 1441724062-27521-1-git-send-email-abrodkin@synopsys.com
State Accepted
Headers show

Commit Message

Alexey Brodkin Sept. 8, 2015, 2:54 p.m. UTC
Virtualizer Development Kits (VDKs) are software development kits
containing design-specific virtual prototypes as well as debug and
analysis tools and sample software.

With this change we add support for VDK based on ARC HS38 core.

Note that FS-overlay is required to allow instantiation of console on
both serial port and LCD screen simultaneously.

Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
 configs/snps_hs38_smp_vdk_defconfig | 21 +++++++++++++++++++++
 configs/snps_hs38_vdk_defconfig     | 21 +++++++++++++++++++++
 2 files changed, 42 insertions(+)
 create mode 100644 configs/snps_hs38_smp_vdk_defconfig
 create mode 100644 configs/snps_hs38_vdk_defconfig

Comments

Thomas Petazzoni Sept. 20, 2015, 1:05 p.m. UTC | #1
Dear Alexey Brodkin,

On Tue,  8 Sep 2015 17:54:22 +0300, Alexey Brodkin wrote:
> Virtualizer Development Kits (VDKs) are software development kits
> containing design-specific virtual prototypes as well as debug and
> analysis tools and sample software.

Are these publicly available? I.e can we run ourselves these
configurations under the virtualizer?

I was going to apply this patch, but I'm not sure it's really useful to
have a SMP and a non-SMP configuration for exactly the same platform.
We typically don't have multiple configurations for the same platform:
people can always go ahead and enable/disable whatever they want in the
kernel configuration.

What is the motivation for having both? Is the SMP-capable kernel not
working on the non-SMP emulated hardware?

Thanks,

Thomas
Alexey Brodkin Sept. 20, 2015, 1:28 p.m. UTC | #2
Hi Thomas,

On Sun, 2015-09-20 at 15:05 +0200, Thomas Petazzoni wrote:
> Dear Alexey Brodkin,
> 
> On Tue,  8 Sep 2015 17:54:22 +0300, Alexey Brodkin wrote:
> > Virtualizer Development Kits (VDKs) are software development kits
> > containing design-specific virtual prototypes as well as debug and
> > analysis tools and sample software.
> 
> Are these publicly available? I.e can we run ourselves these
> configurations under the virtualizer?

Unfortunately Virtualizer is a first class Synopsys citizen...
product and it is only available for those who paid for it.

But if you're interested in running anything on ARC in simulation we
do have finally simulator engine for open-source projects
which is available for free after very simple registration and approval
by SNPS employee.

Just follow this URL and fill in short form with your details and
in a day or two you'll get download link:
http://www.synopsys.com/cgi-bin/dwarcnsim/req1.cgi

That simulator has only serial port but allows running both
ARCv1 (ARCompact family like ARC750/770) and new gen ARCv2 (ARCH S38).

> I was going to apply this patch, but I'm not sure it's really useful to
> have a SMP and a non-SMP configuration for exactly the same platform.
> We typically don't have multiple configurations for the same platform:
> people can always go ahead and enable/disable whatever they want in the
> kernel configuration.
> 
> What is the motivation for having both? Is the SMP-capable kernel not
> working on the non-SMP emulated hardware?

That's our sad truth.
The thing is true UP (uniprocessor) HW be it simulator or real HW lacks
so-called IDU (interrupt-distribution unit) which is required for SMP.

And so SMP kernel might be only run on SMP HW even if we have only one
core running and the second one is halted.

And vice versa UP kernel won't even start (will panic early) on SMP HW.

That's why we need 2 separate configs for UP and SMP.

-Alexey
Thomas Petazzoni Sept. 20, 2015, 1:45 p.m. UTC | #3
Alexey,

On Sun, 20 Sep 2015 13:28:26 +0000, Alexey Brodkin wrote:

> > Are these publicly available? I.e can we run ourselves these
> > configurations under the virtualizer?
> 
> Unfortunately Virtualizer is a first class Synopsys citizen...
> product and it is only available for those who paid for it.

Ok, too bad.

> But if you're interested in running anything on ARC in simulation we
> do have finally simulator engine for open-source projects
> which is available for free after very simple registration and approval
> by SNPS employee.
> 
> Just follow this URL and fill in short form with your details and
> in a day or two you'll get download link:
> http://www.synopsys.com/cgi-bin/dwarcnsim/req1.cgi
> 
> That simulator has only serial port but allows running both
> ARCv1 (ARCompact family like ARC750/770) and new gen ARCv2 (ARCH S38).

Could be interesting, though it's sad that it can't be downloaded
automatically. It would have allowed packaging it in Buildroot, and
ease testing of ARC systems.

> > What is the motivation for having both? Is the SMP-capable kernel not
> > working on the non-SMP emulated hardware?
> 
> That's our sad truth.
> The thing is true UP (uniprocessor) HW be it simulator or real HW lacks
> so-called IDU (interrupt-distribution unit) which is required for SMP.
> 
> And so SMP kernel might be only run on SMP HW even if we have only one
> core running and the second one is halted.
> 
> And vice versa UP kernel won't even start (will panic early) on SMP HW.
> 
> That's why we need 2 separate configs for UP and SMP.

Ok, makes sense. So I'll commit your patch which has two separate
configurations.

Thanks,

Thomas
Thomas Petazzoni Oct. 4, 2015, 2:40 p.m. UTC | #4
Dear Alexey Brodkin,

On Tue,  8 Sep 2015 17:54:22 +0300, Alexey Brodkin wrote:
> Virtualizer Development Kits (VDKs) are software development kits
> containing design-specific virtual prototypes as well as debug and
> analysis tools and sample software.
> 
> With this change we add support for VDK based on ARC HS38 core.
> 
> Note that FS-overlay is required to allow instantiation of console on
> both serial port and LCD screen simultaneously.
> 
> Cc: Peter Korsgaard <peter@korsgaard.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
> ---
>  configs/snps_hs38_smp_vdk_defconfig | 21 +++++++++++++++++++++
>  configs/snps_hs38_vdk_defconfig     | 21 +++++++++++++++++++++
>  2 files changed, 42 insertions(+)
>  create mode 100644 configs/snps_hs38_smp_vdk_defconfig
>  create mode 100644 configs/snps_hs38_vdk_defconfig

Applied, thanks.

Thomas
diff mbox

Patch

diff --git a/configs/snps_hs38_smp_vdk_defconfig b/configs/snps_hs38_smp_vdk_defconfig
new file mode 100644
index 0000000..b38cb1e
--- /dev/null
+++ b/configs/snps_hs38_smp_vdk_defconfig
@@ -0,0 +1,21 @@ 
+# Architecture
+BR2_arcle=y
+BR2_archs38=y
+
+# System
+BR2_TARGET_GENERIC_HOSTNAME="hs38_vdk"
+BR2_TARGET_GENERIC_ISSUE="Welcome to the HS38 VDK Software Development Platform"
+BR2_ROOTFS_OVERLAY="board/synopsys/axs10x/fs-overlay"
+BR2_TARGET_ROOTFS_EXT2=y
+
+# Headers
+BR2_KERNEL_HEADERS_VERSION=y
+BR2_DEFAULT_KERNEL_VERSION="4.2"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_2=y
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.2"
+BR2_LINUX_KERNEL_DEFCONFIG="vdk_hs38_smp"
+BR2_LINUX_KERNEL_VMLINUX=y
diff --git a/configs/snps_hs38_vdk_defconfig b/configs/snps_hs38_vdk_defconfig
new file mode 100644
index 0000000..49ad496
--- /dev/null
+++ b/configs/snps_hs38_vdk_defconfig
@@ -0,0 +1,21 @@ 
+# Architecture
+BR2_arcle=y
+BR2_archs38=y
+
+# System
+BR2_TARGET_GENERIC_HOSTNAME="hs38_vdk"
+BR2_TARGET_GENERIC_ISSUE="Welcome to the HS38 VDK Software Development Platform"
+BR2_ROOTFS_OVERLAY="board/synopsys/axs10x/fs-overlay"
+BR2_TARGET_ROOTFS_EXT2=y
+
+# Headers
+BR2_KERNEL_HEADERS_VERSION=y
+BR2_DEFAULT_KERNEL_VERSION="4.2"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_2=y
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.2"
+BR2_LINUX_KERNEL_DEFCONFIG="vdk_hs38"
+BR2_LINUX_KERNEL_VMLINUX=y