-
Notifications
You must be signed in to change notification settings - Fork 59
/
circle_stdlib_patch.diff
80 lines (75 loc) · 2.69 KB
/
circle_stdlib_patch.diff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
diff --git a/configure b/configure
index a499969..be6a274 100755
--- a/configure
+++ b/configure
@@ -160,7 +160,7 @@ ARCH=$(make -n -p -f libs/circle/Rules.mk CIRCLEHOME=libs/circle | grep ^ARCH |
sed -e "s/\$(FLOAT_ABI)/$FLOAT_ABI/" -e 's/ARCH = //')
export \
- CPPFLAGS_FOR_TARGET="-I\"$CIRCLEHOME/include\" -I\"$TOPDIR/include\"" \
+ CPPFLAGS_FOR_TARGET="-I\"$CIRCLEHOME/include\" -I\"$TOPDIR/include\" -I\"$CIRCLEHOME/addon/fatfs\" -std=c++14" \
CC_FOR_TARGET=${TOOLPREFIX}gcc \
CXX_FOR_TARGET=${TOOLPREFIX}g++ \
GCC_FOR_TARGET=${TOOLPREFIX}gcc \
diff --git a/include/circle_glue.h b/include/circle_glue.h
index e0b90d5..0bf98e4 100644
--- a/include/circle_glue.h
+++ b/include/circle_glue.h
@@ -4,24 +4,31 @@
#include <circle/fs/fat/fatfs.h>
#include <circle/input/console.h>
#include <circle/sched/scheduler.h>
+#include <circle/serial.h>
/**
- * Initialize stdio for file system and console I/O (stdin/stdout/stderr).
+ * Initialize stdio.
* Must only be called once.
*/
-void CGlueStdioInit (CFATFileSystem& rFATFileSystem, CConsole& rConsole);
+void CGlueStdioInit (CSerialDevice *serial);
-/**
- * Initialize stdio only for file system I/O.
- * Must only be called once.
- */
-void CGlueStdioInit (CFATFileSystem& rFATFileSystem);
+#define MAX_BOOTSTAT_LINES 32
+#define MAX_BOOTSTAT_FLEN 64
+
+#define BOOTSTAT_WHAT_STAT 0
+#define BOOTSTAT_WHAT_FAIL 1
+
+void CGlueStdioInitBootStat (int num,
+ int *mBootStatWhat,
+ const char **mBootStateFile,
+ int *mBootStatSize);
/**
- * Initialize stdio only for console I/O (stdin/stdout/stderr).
- * Must only be called once.
+ * Sets the partition to mount for the given volume.
+ * volume string must match one of volumes defined in ffconf.h
+ * if p == 5, ss will be used to force a start sector when finding the volume
*/
-void CGlueStdioInit (CConsole& rConsole);
+void CGlueStdioSetPartitionForVolume (const char* volume, int p, unsigned int ss);
class CGlueIO
{
diff --git a/libs/circle b/libs/circle
index 641264e..fe24b6b 160000
--- a/libs/circle
+++ b/libs/circle
@@ -1 +1 @@
-Subproject commit 641264ed56f0f621e4b681d5eefd6a19f8adfa5e
+Subproject commit fe24b6bebd1532f2a0ee981af12eaf50cc9e97fb-dirty
diff --git a/libs/circle-newlib b/libs/circle-newlib
index 7565e43..c01f95b 160000
--- a/libs/circle-newlib
+++ b/libs/circle-newlib
@@ -1 +1 @@
-Subproject commit 7565e4314b5915a0dc2a7745bd18c8f7833b3f5c
+Subproject commit c01f95bcb08278d9e00f9795c7641284d4f89931-dirty
diff --git a/libs/mbedtls b/libs/mbedtls
index fb1972d..d81c11b 160000
--- a/libs/mbedtls
+++ b/libs/mbedtls
@@ -1 +1 @@
-Subproject commit fb1972db23da39bd11d4f9c9ea6266eee665605b
+Subproject commit d81c11b8ab61fd5b2da8133aa73c5fe33a0633eb