Add --enable-sys1-compat option
authorNIIBE Yutaka <gniibe@fsij.org>
Tue, 20 Aug 2013 01:10:25 +0000 (10:10 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Tue, 20 Aug 2013 01:10:25 +0000 (10:10 +0900)
ChangeLog
README
THANKS
src/configure

index 4cb514b..4a94f57 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-08-20  Niibe Yutaka  <gniibe@fsij.org>
+
+       * src/configure (options): Add --enable-sys1-compat.
+
 2013-08-19  Niibe Yutaka  <gniibe@fsij.org>
 
        * src/sha256.h: Remove extern from function prototypes.
diff --git a/README b/README
index 6ae5449..9d552a9 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
 NeuG - a true random number generator implementation (for STM32F103)
 
-                                                          Version 0.10
-                                                            2013-06-XX
+                                                          Version 0.11
+                                                            2013-08-XX
                                                           Niibe Yutaka
                                      Free Software Initiative of Japan
 
@@ -28,8 +28,8 @@ NeuG was named after my daughter, but I don't say she is noisy.
 Release notes
 =============
 
-This is the seventh release of NeuG, which is still experimental.  Basic
-features (generating random numbers) are stable, but newly added
+This is the eighth release of NeuG, which is still experimental.
+Basic features (generating random numbers) are stable, but newly added
 things like reGNUal support should be considered unstable.  Note that
 you need Chopstx as external source code.
 
@@ -55,7 +55,7 @@ Q2: Should we check condition of noise sources?
 A2: Yes, we should.  Three continuous tests are implemented, following
     (Draft of) NIST SP 800-90B.  Those are Repetition Count Test,
     Adaptive Proportion Test (for 64 samples), and another Adaptive
-    Proportion Test (for 4096 samples).  When it detect an error (it
+    Proportion Test (for 4096 samples).  When it detects an error (it
     is really rare, but it could occur even for normal condition), the
     generation of random bits restart again.
 
@@ -63,10 +63,11 @@ Q3: Conditioning with SHA-256 sounds over-kill.  Why not simpler?
 A3: It is because NIST SP 800-90B mandates something like that for
     "full entropy source".  If your usage is as an entropy source for
     RNG-tools to feed entropy to your kernel, or use for computer
-    simulations, I think that CRC32 filter would be good enough.  You
-    can configure NeuG device by "stty -F /dev/ttyACM0 parenb parodd"
-    to get raw data before SHA-256 conditioning component.  With
-    high speed hub, you'll get more than 240 Ki-byte/second .
+    simulations, I think that CRC32 filtered output would be good
+    enough.  You can configure NeuG device by "stty -F /dev/ttyACM0
+    parenb parodd" to get raw data before SHA-256 conditioning
+    component.  With high speed hub, you'll get more than 240
+    Ki-byte/second .
 
 
 Targets
diff --git a/THANKS b/THANKS
index 07eca5a..b1c7190 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -1,5 +1,5 @@
 We would like to express our gratitudes to Giovanni Di Sirio for
-ChibiOS/RT.
+ChibiOS/RT, which was used for the initial version of NeuG.
 
 NeuG was originally written by NIIBE Yutaka.  People contributed by
 encouraging the development, testing the implementation, suggesting
index ae33837..2339f08 100755 (executable)
@@ -27,6 +27,7 @@ verbose=no
 vidpid=none
 with_dfu=default
 debug=no
+sys1_compat=yes
 
 # Process each option
 for option; do
@@ -44,6 +45,10 @@ for option; do
     verbose=yes ;;
   --vidpid=*)
     vidpid=$optarg ;;
+  --enable-sys1-compat)
+    sys1_compat = yes ;;
+  --disable-sys1-compat)
+    sys1_compat = no ;;
   --with-dfu)
     with_dfu=yes ;;
   --without-dfu)
@@ -71,6 +76,11 @@ Configuration:
                           FST_01_00
                           STM8S_DISCOVERY
                           OLIMEX_STM32_H103
+  --enable-sys1-compat enable SYS 1.0 compatibility    [yes]
+                          executable is target dependent
+  --disable-sys1-compat        disable SYS 1.0 compatibility   [no]
+                          executable is target independent
+                          but requires SYS 2.0 or newer
   --with-dfu           build image for DFU             [<target specific>]
 EOF
   exit 0
@@ -178,10 +188,16 @@ then
   exit 1
 fi
 
-# Enable when you are sure that it's sys version 2.0.
-# Note that Gnuk 1.0 and Neug (until 0.06) uses sys version 1.0.
-# have_sys_h="-DHAVE_SYS_H"
-have_sys_h="" 
+if test "$sys1_compat" = "no"; then
+   # Disable when you are sure that it's sys version 2.0.
+   # Note that Gnuk 1.0 and Neug (until 0.06) uses sys version 1.0.
+   # Disabling the compatibility, executable will be target independent,
+   # assuming the clock initialization will be done by SYS (before entry).
+   have_sys_h="-DHAVE_SYS_H"
+else
+   have_sys_h=""
+fi
+
 
 sed -e "s%@HAVE_SYS_H@%$have_sys_h%" \
        < Makefile.in > Makefile