Status of RTEMS API Specification

2020-11-12 Thread Sebastian Huber

Hello,

I checked in the first round of the generated RTEMS API headers and the 
corresponding documentation. This includes the Event Manager, IO 
Manager, and the Partition Manager:


https://docs.rtems.org/branches/master/c-user/event/directives.html

https://docs.rtems.org/branches/master/c-user/io/directives.html

https://docs.rtems.org/branches/master/c-user/partition/directives.html

I will work next on the remaining header files and manager directive 
documentation:


* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 

Please have a look at the proposal to update of the Doxygen guidelines:

https://lists.rtems.org/pipermail/devel/2020-November/063119.html

I will also work on a specification of the IRQ Extensions API:

https://lists.rtems.org/pipermail/devel/2020-November/063119.html

https://lists.rtems.org/pipermail/devel/2019-October/055770.html

--
embedded brains GmbH
Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
Phone: +49-89-18 94 741 - 16
Fax:   +49-89-18 94 741 - 08
PGP: Public key available on request.

embedded brains GmbH
Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier: 
https://embedded-brains.de/datenschutzerklaerung/

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

[PATCH 1/2] eng: Rename ValidCache environment in FullCache

2020-11-12 Thread Sebastian Huber
This name better reflects the execution envirnoment in which the cache
is fully loaded with valid data unrelated to the body request handler.

Update #3199.
---
 eng/test-framework.rst | 15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/eng/test-framework.rst b/eng/test-framework.rst
index ec1875e..94d2f35 100644
--- a/eng/test-framework.rst
+++ b/eng/test-framework.rst
@@ -1256,8 +1256,8 @@ T_MEASURE_RUNTIME_ALLOW_CLOCK_ISR
 T_MEASURE_RUNTIME_REPORT_SAMPLES
 Report all measurement samples.
 
-T_MEASURE_RUNTIME_DISABLE_VALID_CACHE
-Disable the `ValidCache` execution environment variant.
+T_MEASURE_RUNTIME_DISABLE_FULL_CACHE
+Disable the `FullCache` execution environment variant.
 
 T_MEASURE_RUNTIME_DISABLE_HOT_CACHE
 Disable the `HotCache` execution environment variant.
@@ -1275,14 +1275,15 @@ T_MEASURE_RUNTIME_DISABLE_MAX_LOAD
 
 The execution environment variants (`M:V`) are:
 
-ValidCache
+FullCache
 Before the `body` request handler is invoked a memory area with twice the
 size of the outer-most data cache is completely read.  This fills the data
 cache with valid cache lines which are unrelated to the `body` request
-handler.
+handler.  The cache is full with valid data and loading memory used by the
+handler needs to evict cache lines.
 
 You can disable this variant with the
-`T_MEASURE_RUNTIME_DISABLE_VALID_CACHE` request flag.
+`T_MEASURE_RUNTIME_DISABLE_FULL_CACHE` request flag.
 
 HotCache
 Before the `body` request handler is invoked the `body` request handler is
@@ -1359,7 +1360,7 @@ reported.
 B:measure_empty
 P:0:0:UI1:test-rtems-measure.c:18
 M:B:Empty
-M:V:ValidCache
+M:V:FullCache
 M:N:1024
 M:MI:0.0
 M:Q1:0.0
@@ -1935,7 +1936,7 @@ M
 (`:`).
 
 
-The execution variant which is one of **ValidCache**, **HotCache**,
+The execution variant which is one of **FullCache**, **HotCache**,
 **DirtyCache**, or **Load**.
 
 
-- 
2.26.2

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH 2/2] eng: Simplify "Load" environment reporting

2020-11-12 Thread Sebastian Huber
Report all runtime measurement environments with a name only and encode
the worker count of the "Load" environment in the name.

Update #3199.
---
 eng/test-framework.rst | 21 +++--
 1 file changed, 7 insertions(+), 14 deletions(-)

diff --git a/eng/test-framework.rst b/eng/test-framework.rst
index 94d2f35..589caf7 100644
--- a/eng/test-framework.rst
+++ b/eng/test-framework.rst
@@ -1303,14 +1303,14 @@ DirtyCache
 You can disable this variant with the
 `T_MEASURE_RUNTIME_DISABLE_DIRTY_CACHE` request flag.
 
-Load
+Load/
 This variant tries to get close to worst-case conditions.  The cache is set
 up according to the `DirtyCache` variant.  In addition, other processors
 try to fully load the memory system.  The load is produced through writes
 to a memory area with twice the size of the outer-most data cache.  The
 load variant is performed multiple times with a different set of active
-load worker threads (`M:L`).  The active workers range from one up to the
-processor count.
+load worker threads.  The  value is the count of active
+workers which ranges from one to the processor count.
 
 You can disable these variants with the
 `T_MEASURE_RUNTIME_DISABLE_MINOR_LOAD` and
@@ -1393,8 +1393,7 @@ reported.
 M:D:0.33244
 M:E:Empty:D:1.887834875
 M:B:Empty
-M:V:Load
-M:L:1
+M:V:Load/1
 M:N:1024
 M:MI:0.0
 M:Q1:0.2
@@ -1407,8 +1406,7 @@ reported.
 [... 22 more load variants ...]
 M:E:Empty:D:0.021252583
 M:B:Empty
-M:V:Load
-M:L:24
+M:V:Load/24
 M:N:1024
 M:MI:0.1
 M:Q1:0.2
@@ -1907,8 +1905,6 @@ M
 
 **M:V:**
 
-**M:L:**
-
 **M:N:**
 
 **M:S::**
@@ -1937,11 +1933,8 @@ M
 
 
 The execution variant which is one of **FullCache**, **HotCache**,
-**DirtyCache**, or **Load**.
-
-
-The active load workers count which ranges from one to the processor
-count.
+**DirtyCache**, or **Load/**.  The  is the
+count of active workers which ranges from one to the processor count.
 
 
 The sample count as defined by the runtime measurement configuration.
-- 
2.26.2

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH 2/2] spec/aarch64: Only apply SUBALIGN(4) to ILP32

2020-11-12 Thread Kinsey Moore
The SUBALIGN(4) required on rtemsroset and rtemsrwset for ILP32 builds
was previously present on LP64 builds and causes no issues within RTEMS,
but causes relocation/alignment issues when building libbsd. This
restricts those alignment changes to ILP32 builds.
---
 bsps/aarch64/shared/start/linkcmds.base| 6 --
 spec/build/bsps/aarch64/a53/linkcmds_ilp32.yml | 1 +
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/bsps/aarch64/shared/start/linkcmds.base 
b/bsps/aarch64/shared/start/linkcmds.base
index 450c3ba2a9..4bf5b10746 100644
--- a/bsps/aarch64/shared/start/linkcmds.base
+++ b/bsps/aarch64/shared/start/linkcmds.base
@@ -43,6 +43,8 @@ STARTUP (start.o)
 
 bsp_stack_align = DEFINED (bsp_stack_align) ? bsp_stack_align : 16;
 
+bsp_set_align = DEFINED (bsp_set_align) ? bsp_set_align : 8;
+
 bsp_stack_exception_size = DEFINED (bsp_stack_exception_size) ? 
bsp_stack_exception_size : 0;
 bsp_stack_exception_size = ALIGN (bsp_stack_exception_size, bsp_stack_align);
 
@@ -243,7 +245,7 @@ SECTIONS {
.got : ALIGN_WITH_INPUT {
*(.got.plt) *(.igot.plt) *(.got) *(.igot)
} > REGION_RODATA AT > REGION_RODATA_LOAD
-   .rtemsroset : ALIGN_WITH_INPUT SUBALIGN(4) {
+   .rtemsroset : ALIGN_WITH_INPUT SUBALIGN(bsp_set_align) {
/* Special FreeBSD linker set sections */
__start_set_sysctl_set = .;
*(set_sysctl_*);
@@ -297,7 +299,7 @@ SECTIONS {
.data1 : ALIGN_WITH_INPUT {
*(.data1)
} > REGION_DATA AT > REGION_DATA_LOAD
-   .rtemsrwset : ALIGN_WITH_INPUT SUBALIGN(4) {
+   .rtemsrwset : ALIGN_WITH_INPUT SUBALIGN(bsp_set_align) {
KEEP (*(SORT(.rtemsrwset.*)))
bsp_section_data_end = .;
} > REGION_DATA AT > REGION_DATA_LOAD
diff --git a/spec/build/bsps/aarch64/a53/linkcmds_ilp32.yml 
b/spec/build/bsps/aarch64/a53/linkcmds_ilp32.yml
index ed585f1950..085c9c707c 100644
--- a/spec/build/bsps/aarch64/a53/linkcmds_ilp32.yml
+++ b/spec/build/bsps/aarch64/a53/linkcmds_ilp32.yml
@@ -60,6 +60,7 @@ content: |
 
   OUTPUT_FORMAT ("elf32-littleaarch64")
   OUTPUT_ARCH (aarch64:ilp32)
+  bsp_set_align = 4;
 
   INCLUDE linkcmds.base
 copyrights:
-- 
2.20.1

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH 1/2] spec/aarch64: Ensure that libbsd can build properly

2020-11-12 Thread Kinsey Moore
These files are required for libbsd to build against the AArch64 A53
BSPs.
---
 spec/build/bsps/aarch64/grp.yml | 4 
 1 file changed, 4 insertions(+)

diff --git a/spec/build/bsps/aarch64/grp.yml b/spec/build/bsps/aarch64/grp.yml
index 4b5f998a12..e0a8e607a5 100644
--- a/spec/build/bsps/aarch64/grp.yml
+++ b/spec/build/bsps/aarch64/grp.yml
@@ -5,6 +5,10 @@ copyrights:
 enabled-by: true
 includes: []
 install:
+- destination: ${BSP_INCLUDEDIR}/bsp
+  source:
+  - bsps/arm/include/bsp/linker-symbols.h
+  - bsps/arm/include/bsp/start.h
 - destination: ${BSP_INCLUDEDIR}/dev/clock
   source:
   - bsps/include/dev/clock/arm-generic-timer.h
-- 
2.20.1

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH rtems-libbsd] Update arm64/aarch64 support

2020-11-12 Thread Kinsey Moore
---
 freebsd/sys/arm64/arm64/in_cksum.c| 243 +++
 freebsd/sys/arm64/include/machine/armreg.h| 665 ++
 freebsd/sys/arm64/include/machine/cpu.h   | 203 ++
 freebsd/sys/arm64/include/machine/cpufunc.h   | 153 
 freebsd/sys/arm64/include/machine/in_cksum.h  |  83 +++
 .../ck/include/gcc/aarch64/ck_pr_llsc.h   | 352 +
 .../ck/include/gcc/aarch64/ck_pr_lse.h| 298 
 libbsd.py |  21 +
 rtemsbsd/include/machine/frame.h  |   1 +
 9 files changed, 2019 insertions(+)
 create mode 100644 freebsd/sys/arm64/arm64/in_cksum.c
 create mode 100644 freebsd/sys/arm64/include/machine/armreg.h
 create mode 100644 freebsd/sys/arm64/include/machine/cpu.h
 create mode 100644 freebsd/sys/arm64/include/machine/cpufunc.h
 create mode 100644 freebsd/sys/arm64/include/machine/in_cksum.h
 create mode 100644 freebsd/sys/contrib/ck/include/gcc/aarch64/ck_pr_llsc.h
 create mode 100644 freebsd/sys/contrib/ck/include/gcc/aarch64/ck_pr_lse.h
 create mode 100644 rtemsbsd/include/machine/frame.h

diff --git a/freebsd/sys/arm64/arm64/in_cksum.c 
b/freebsd/sys/arm64/arm64/in_cksum.c
new file mode 100644
index ..9f92f2ff
--- /dev/null
+++ b/freebsd/sys/arm64/arm64/in_cksum.c
@@ -0,0 +1,243 @@
+#include 
+
+/* $NetBSD: in_cksum.c,v 1.7 1997/09/02 13:18:15 thorpej Exp $ */
+
+/*-
+ * Copyright (c) 1988, 1992, 1993
+ * The Regents of the University of California.  All rights reserved.
+ * Copyright (c) 1996
+ * Matt Thomas 
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *may be used to endorse or promote products derived from this software
+ *without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)in_cksum.c  8.1 (Berkeley) 6/10/93
+ */
+
+#include  /* RCS ID & Copyright macro defns */
+__FBSDID("$FreeBSD$");
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+/*
+ * Checksum routine for Internet Protocol family headers
+ *(Portable Alpha version).
+ *
+ * This routine is very heavily used in the network
+ * code and should be modified for each CPU to be as fast as possible.
+ */
+
+#define ADDCARRY(x)  (x > 65535 ? x -= 65535 : x)
+#define REDUCE32 \
+{\
+   q_util.q = sum;   \
+   sum = q_util.s[0] + q_util.s[1] + q_util.s[2] + q_util.s[3];  \
+}
+#define REDUCE16 \
+{\
+   q_util.q = sum;   \
+   l_util.l = q_util.s[0] + q_util.s[1] + q_util.s[2] + q_util.s[3]; \
+   sum = l_util.s[0] + l_util.s[1];  \
+   ADDCARRY(sum);\
+}
+
+static const u_int32_t in_masks[] = {
+   /*0 bytes*/ /*1 byte*/  /*2 bytes*/ /*3 bytes*/
+   0x, 0x00FF, 0x, 0x00FF, /* offset 0 */
+   0x, 0xFF00, 0x0000, 0xFF00, /* offset 1 */
+   0x, 0x00FF, 0x, 0x, /* offset 2 */
+   0x, 0xFF00, 0xFF00, 0xFF00, /* offset 3 */
+};
+
+union l_util {
+   u

Re: Proposal: Add BSP documentation to BSP build specification

2020-11-12 Thread Chris Johns
On 12/11/20 6:50 pm, Sebastian Huber wrote:
> On 12/11/2020 08:30, Chris Johns wrote:
> 
>> I am not sure. For example ...
>>
>> https://docs.rtems.org/branches/master/user/bsps/bsps-arm.html#debugging
>>
>> ... has a picture of the wire links needed to enable debugging. We need to be
>> able to quickly and easily produce this sort of documentation.
>>
>> We need the more formal part for the options etc and we need this flexibility
>> including images and more. I am concerned not providing something will 
>> result in
>> the Wiki being used with the issues that brings.
> You just have to add the image to the documentation repository to use it. This
> separates the pieces a bit, but we always have to make some trade-offs. We 
> could
> also add a specification item for images, but I think this is a bit too much 
> for
> now.

The key point is not needing to touch rtems-central for more general
information. IMO doing so moves the balance a bit too far. This may change and
evolve over time which I am happy to see but I think we need a separation at
this early stage.

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH] devel/qemu: Update QEMU to 5.2.0-rc1

2020-11-12 Thread chrisj
From: Chris Johns 

- This version of qemu uses meson and ninja to build. You will need
  to install ninja to build. No checks are made until meson run
---
 .../{qemu4-git-1.cfg => qemu-5.2.0-1.cfg} |  16 +-
 bare/config/devel/qemu.bset   |   2 +-
 bare/config/devel/qemu4.bset  |  25 ---
 rtems/config/tools/rtems-kernel-common.cfg| 104 -
 source-builder/config/qemu-5-1.cfg|   9 ++
 source-builder/config/qemu-common-2.cfg   | 145 ++
 6 files changed, 189 insertions(+), 112 deletions(-)
 rename bare/config/devel/{qemu4-git-1.cfg => qemu-5.2.0-1.cfg} (65%)
 delete mode 100644 bare/config/devel/qemu4.bset
 create mode 100644 source-builder/config/qemu-5-1.cfg
 create mode 100644 source-builder/config/qemu-common-2.cfg

diff --git a/bare/config/devel/qemu4-git-1.cfg 
b/bare/config/devel/qemu-5.2.0-1.cfg
similarity index 65%
rename from bare/config/devel/qemu4-git-1.cfg
rename to bare/config/devel/qemu-5.2.0-1.cfg
index ff241bb..380a953 100644
--- a/bare/config/devel/qemu4-git-1.cfg
+++ b/bare/config/devel/qemu-5.2.0-1.cfg
@@ -13,14 +13,14 @@
 #
 # Stable version. Qemu is fast moving.
 #
-%define qemu_version 4.1.0
+%define qemu_version 5.2.0-rc1
 
 #
 # Use release sources.
 #
 %source set qemu https://download.qemu.org/qemu-%{qemu_version}.tar.xz
-%hash sha512 qemu-%{qemu_version}.tar.xz \
-
gv1RcCp7mxsAsvG9O0qDK4AkkBjbuhrdCwpz59S+5FKv1FV0tNjffORHfYcR872kygcqGm3iWJXJPrIc94/Esg==
+#%hash sha512 qemu-%{qemu_version}.tar.xz \
+#
gv1RcCp7mxsAsvG9O0qDK4AkkBjbuhrdCwpz59S+5FKv1FV0tNjffORHfYcR872kygcqGm3iWJXJPrIc94/Esg==
 
 #
 # Patches from Qemu's patchworks site.
@@ -30,13 +30,13 @@
  40399fcedb44b2c1bfa1a95af482f7f335f42d713967ed2f34980a7a940c3740
 
 #
-# Patches to build qemu-4.1.0-sparc with Leon3 support
+# Patches to build qemu sparc with Leon3 support
 #
-%patch add qemu https://gaisler.se/qemu/qemu-4.1.0-leon3.patch
-%hash sha256 qemu-4.1.0-leon3.patch \
+%patch add qemu https://gaisler.se/qemu/qemu-5.2.0-leon3.patch
+%hash sha512 qemu-5.2.0-leon3.patch \
  d62ff3418903f1c5eb7f6d727af0400caeb250e23cc120111930601c9ecce02a
 
 #
-# The Qemu build instructions. We use 4.x.x Release 1.
+# The Qemu build instructions. We use 5.x.x Release 1.
 #
-%include %{_configdir}/qemu-4-1.cfg
+%include %{_configdir}/qemu-5-1.cfg
diff --git a/bare/config/devel/qemu.bset b/bare/config/devel/qemu.bset
index a8b1ebf..3a9b0d5 100644
--- a/bare/config/devel/qemu.bset
+++ b/bare/config/devel/qemu.bset
@@ -21,4 +21,4 @@ devel/gettext-0.18.3.1-1
 devel/libffi-3.0.13-1
 devel/pixman-0.40.0-1
 devel/glib-2.48.2-1
-devel/qemu-git-1
+devel/qemu-5.2.0-1
diff --git a/bare/config/devel/qemu4.bset b/bare/config/devel/qemu4.bset
deleted file mode 100644
index fa52084..000
--- a/bare/config/devel/qemu4.bset
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Build set for QEMU
-#
-
-%define release 1
-
-#
-# Name of the package.
-#
-package: qemu-%{qemu_version}-%{_host}-%{release}
-
-#
-# A magic internal path that would break if changes in the defaults.mc
-# macro file are made.
-#
-%define _internal_autotools_path %{_tmppath}/sb-%{_uid}/${SB_PREFIX_CLEAN}
-
-# I don't think these are needed anymore ...?
-#devel/autotools-internal
-devel/libiconv-1.14-1
-devel/gettext-0.18.3.1-1
-devel/libffi-3.0.13-1
-devel/pixman-0.40.0-1
-devel/glib-2.46.2-1
-devel/qemu4-git-1
diff --git a/rtems/config/tools/rtems-kernel-common.cfg 
b/rtems/config/tools/rtems-kernel-common.cfg
index 157c7a4..c34e181 100644
--- a/rtems/config/tools/rtems-kernel-common.cfg
+++ b/rtems/config/tools/rtems-kernel-common.cfg
@@ -9,7 +9,7 @@
 # and BSPs. Only after the source to download.
 #
 %if %{_dry_run} && %{defined with_download}
- %log Kenrel configuration errors ignored
+ %log Kernel configuration errors ignored
  %define rtems_kernel_error 0
 %else
  %define rtems_kernel_error 1
@@ -44,11 +44,6 @@
  %define with_tools %{_prefix}
 %endif
 
-#
-# Set the path to the tools.
-#
-%{path prepend %{with_tools}/bin}
-
 #
 # Define the package.
 #
@@ -67,62 +62,13 @@ URL: https://www.rtems.org/
 %include %{_configdir}/base.cfg
 %include %{_configdir}/versions.cfg
 
-#
-# A magic internal path that would break if changes in the defaults.mc
-# macro file are made.
-#
-%define _internal_autotools_path %{_tmppath}/sb-%{_uid}/${SB_PREFIX_CLEAN}
-
-#
-# Check the version of autoconf. Check autoreconf as it is used.
-#
-%if %{__autoreconf_ver} <= 2.68
- %if %{__autoreconf_bindir_ver} <= 2.68
-  %if %{__autoreconf_path_ver} <= 2.68
-   %error Autoconf (autoreconf) version 2.69 or higher is needed.
-  %endif
- %endif
-%endif
-
-#
-# If no tools provided use the prefix.
-#
-%ifn %{defined with_tools}
- %define with_tools %{_prefix}
-%endif
-
-#
-# Check options.
-#
-%if %{defined without_rtems_posix}
- %define rtems_posix 0
-%endif
-
-%if %{defined with_rtems_legacy_network}
- %define rtems_networking 1
-%endif
-
-%if %{defined with_rtems_cxx}
- %define rtems_cxx 1
-%endif
-
-%if

[PATCH] Update QEMU to 5.2.0-rc1

2020-11-12 Thread chrisj
Hello,

This patch removed the previous git build of qemu and qem4 replacing it
with 5.2.0-rc1. I can build on FreeBSD and run the network tests for the
Xilinx Zynq BSP.

QEMU 5.2.0 has moved to the meson build system so you will need to make
sure you have Ninja install as meson layers on top of Ninja.

Please test on your preferred host and report any issues.

Thanks
Chris


___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH v2] devel/qemu: Update QEMU to 5.2.0-rc1

2020-11-12 Thread chrisj
From: Chris Johns 

- This version of qemu uses meson and ninja to build. You will need
  to install ninja to build. No checks are made until meson run
---
 .../{qemu4-git-1.cfg => qemu-5.2.0-1.cfg} |  18 +--
 bare/config/devel/qemu.bset   |   2 +-
 bare/config/devel/qemu4.bset  |  25 ---
 source-builder/config/qemu-5-1.cfg|   9 ++
 source-builder/config/qemu-common-2.cfg   | 145 ++
 5 files changed, 164 insertions(+), 35 deletions(-)
 rename bare/config/devel/{qemu4-git-1.cfg => qemu-5.2.0-1.cfg} (58%)
 delete mode 100644 bare/config/devel/qemu4.bset
 create mode 100644 source-builder/config/qemu-5-1.cfg
 create mode 100644 source-builder/config/qemu-common-2.cfg

diff --git a/bare/config/devel/qemu4-git-1.cfg 
b/bare/config/devel/qemu-5.2.0-1.cfg
similarity index 58%
rename from bare/config/devel/qemu4-git-1.cfg
rename to bare/config/devel/qemu-5.2.0-1.cfg
index ff241bb..8c80ffc 100644
--- a/bare/config/devel/qemu4-git-1.cfg
+++ b/bare/config/devel/qemu-5.2.0-1.cfg
@@ -13,14 +13,14 @@
 #
 # Stable version. Qemu is fast moving.
 #
-%define qemu_version 4.1.0
+%define qemu_version 5.2.0-rc1
 
 #
 # Use release sources.
 #
 %source set qemu https://download.qemu.org/qemu-%{qemu_version}.tar.xz
-%hash sha512 qemu-%{qemu_version}.tar.xz \
-
gv1RcCp7mxsAsvG9O0qDK4AkkBjbuhrdCwpz59S+5FKv1FV0tNjffORHfYcR872kygcqGm3iWJXJPrIc94/Esg==
+#%hash sha512 qemu-%{qemu_version}.tar.xz \
+#
gv1RcCp7mxsAsvG9O0qDK4AkkBjbuhrdCwpz59S+5FKv1FV0tNjffORHfYcR872kygcqGm3iWJXJPrIc94/Esg==
 
 #
 # Patches from Qemu's patchworks site.
@@ -30,13 +30,13 @@
  40399fcedb44b2c1bfa1a95af482f7f335f42d713967ed2f34980a7a940c3740
 
 #
-# Patches to build qemu-4.1.0-sparc with Leon3 support
+# Patches to build qemu sparc with Leon3 support
 #
-%patch add qemu https://gaisler.se/qemu/qemu-4.1.0-leon3.patch
-%hash sha256 qemu-4.1.0-leon3.patch \
- d62ff3418903f1c5eb7f6d727af0400caeb250e23cc120111930601c9ecce02a
+%patch add qemu https://gaisler.se/qemu/qemu-5.2.0-leon3.patch
+%hash sha512 qemu-5.2.0-leon3.patch \
+   
cQju/ja5SAM+gsXEkzSteeR+7PjG9g2w+yUb4kg1eZoOSm2MmZDjA/auINVdRax8wgtIEWnzq5/hdY7/THnowg==
 
 #
-# The Qemu build instructions. We use 4.x.x Release 1.
+# The Qemu build instructions. We use 5.x.x Release 1.
 #
-%include %{_configdir}/qemu-4-1.cfg
+%include %{_configdir}/qemu-5-1.cfg
diff --git a/bare/config/devel/qemu.bset b/bare/config/devel/qemu.bset
index a8b1ebf..3a9b0d5 100644
--- a/bare/config/devel/qemu.bset
+++ b/bare/config/devel/qemu.bset
@@ -21,4 +21,4 @@ devel/gettext-0.18.3.1-1
 devel/libffi-3.0.13-1
 devel/pixman-0.40.0-1
 devel/glib-2.48.2-1
-devel/qemu-git-1
+devel/qemu-5.2.0-1
diff --git a/bare/config/devel/qemu4.bset b/bare/config/devel/qemu4.bset
deleted file mode 100644
index fa52084..000
--- a/bare/config/devel/qemu4.bset
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Build set for QEMU
-#
-
-%define release 1
-
-#
-# Name of the package.
-#
-package: qemu-%{qemu_version}-%{_host}-%{release}
-
-#
-# A magic internal path that would break if changes in the defaults.mc
-# macro file are made.
-#
-%define _internal_autotools_path %{_tmppath}/sb-%{_uid}/${SB_PREFIX_CLEAN}
-
-# I don't think these are needed anymore ...?
-#devel/autotools-internal
-devel/libiconv-1.14-1
-devel/gettext-0.18.3.1-1
-devel/libffi-3.0.13-1
-devel/pixman-0.40.0-1
-devel/glib-2.46.2-1
-devel/qemu4-git-1
diff --git a/source-builder/config/qemu-5-1.cfg 
b/source-builder/config/qemu-5-1.cfg
new file mode 100644
index 000..7ca58b8
--- /dev/null
+++ b/source-builder/config/qemu-5-1.cfg
@@ -0,0 +1,9 @@
+#
+# QEMU 5 Version 1.
+#
+# This configuration file configure's, make's and install's QEMU.
+#
+
+%define qemu_disables --disable-nettle
+
+%include %{_configdir}/qemu-common-2.cfg
diff --git a/source-builder/config/qemu-common-2.cfg 
b/source-builder/config/qemu-common-2.cfg
new file mode 100644
index 000..1dbaf05
--- /dev/null
+++ b/source-builder/config/qemu-common-2.cfg
@@ -0,0 +1,145 @@
+#
+# QEMU Common Version 1.
+#
+# This configuration file configure's, make's and install's QEMU.
+#
+
+%if %{release} == %{nil}
+%define release 1
+%endif
+
+#
+# Select Snapshot Macro Maps
+#
+%select qemu-snapshot
+
+#
+# The description.
+#
+Name:  qemu-%{qemu_version}-%{_host}-%{release}
+Summary:   Qemu is a simulator of various processors.
+Version:   %{qemu_version}
+Release:   %{release}
+URL:  http://www.qemu.org/
+
+#
+# Source
+#
+%source set qemu 
http://wiki.qemu-project.org/download/qemu-%{qemu_version}.tar.bz2
+
+
+#
+# QEMU Disable component list.
+#
+# We are not interested in the VM use case for qemu and most of that
+# functionality carries host platform baggage which complicates building on a
+# range of host platforms.
+#
+# You can specialise before including this config file.
+#
+#
+%define qemu_std_disables --disable-werror
+%define qemu_std_disables %{qemu_std_disables} --disable-tools
+%define qemu_std_disables %{qemu_std_dis

[PATCH v2] Update QEMU 5.2.0-rc1

2020-11-12 Thread chrisj
Hello,

This patch removed the previous git build of qemu and qem4 replacing it
with 5.2.0-rc1. I can build on FreeBSD and run the network tests for the
Xilinx Zynq BSP.

QEMU 5.2.0 has moved to the meson build system so you will need to make
sure you have Ninja install as meson layers on top of Ninja.

Please test on your preferred host and report any issues.

Thanks
Chris

ps: Removed the waf kernel work in progress


___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel