mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-22 04:52:56 +01:00
Compare commits
389 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5e3e807346 | ||
|
|
717985611f | ||
|
|
892ede515f | ||
|
|
67e33d3948 | ||
|
|
859762404a | ||
|
|
b7140da265 | ||
|
|
bc2cf29cfe | ||
|
|
1e8689bafe | ||
|
|
7bb8e332a9 | ||
|
|
c3cf7f3c3a | ||
|
|
6c95eb9aff | ||
|
|
4cbfed11ee | ||
|
|
d4975235c2 | ||
|
|
b814188d7a | ||
|
|
697f179e21 | ||
|
|
c232886e0f | ||
|
|
710947e0a3 | ||
|
|
428131fd28 | ||
|
|
854b70fd7d | ||
|
|
99937a6267 | ||
|
|
8bd0efced6 | ||
|
|
632ef28463 | ||
|
|
dd214a8b15 | ||
|
|
16be05e530 | ||
|
|
923fbc9e86 | ||
|
|
d1b4fb1dff | ||
|
|
1db8694fd0 | ||
|
|
a431657851 | ||
|
|
6d941ede1c | ||
|
|
febfb3bfe6 | ||
|
|
adb26b5216 | ||
|
|
3c785a4ffb | ||
|
|
e00bd3e45b | ||
|
|
496671e523 | ||
|
|
664702d8b5 | ||
|
|
ea48f1f1cc | ||
|
|
e7b1cb4a27 | ||
|
|
b37f411c3f | ||
|
|
250fd42368 | ||
|
|
16deaa9a72 | ||
|
|
a507928cde | ||
|
|
0fb672b493 | ||
|
|
b7da62cd55 | ||
|
|
7df58930e2 | ||
|
|
25ec021fee | ||
|
|
71c5afc3db | ||
|
|
040d0c9e42 | ||
|
|
923b3ec54d | ||
|
|
85919d29e2 | ||
|
|
f865b71f27 | ||
|
|
c1edfa5d46 | ||
|
|
a304cfca9d | ||
|
|
0909256f97 | ||
|
|
104baeeefc | ||
|
|
87c7b0f777 | ||
|
|
228dbdd527 | ||
|
|
d094ff995f | ||
|
|
6299f4a7df | ||
|
|
419da32ee3 | ||
|
|
5f27c7b9eb | ||
|
|
d0bc389e93 | ||
|
|
f66b828a97 | ||
|
|
b361de8379 | ||
|
|
dbec8d7710 | ||
|
|
5b6735e1c9 | ||
|
|
028aeafabe | ||
|
|
22687bb10b | ||
|
|
c4002e6e23 | ||
|
|
ae3664f4a0 | ||
|
|
601e0a8950 | ||
|
|
53253ba422 | ||
|
|
ecf73e5b17 | ||
|
|
0167d5af50 | ||
|
|
5a3a1c704b | ||
|
|
d31642e8be | ||
|
|
963a6c37a0 | ||
|
|
a96919632e | ||
|
|
3fc2a798b2 | ||
|
|
420b66a1f0 | ||
|
|
4773707495 | ||
|
|
65225a94b1 | ||
|
|
a1df4fee44 | ||
|
|
71efb59873 | ||
|
|
a731131c09 | ||
|
|
6a5da8684f | ||
|
|
c70fed29f7 | ||
|
|
dc566b7d52 | ||
|
|
88b6c085ce | ||
|
|
bf96c4a4da | ||
|
|
6d79d03380 | ||
|
|
307dd5768c | ||
|
|
03a1008f2e | ||
|
|
fd893a4f9b | ||
|
|
7c8ed37bd7 | ||
|
|
2c6729768d | ||
|
|
4d3d4ecca0 | ||
|
|
b58b69515c | ||
|
|
9b350e7706 | ||
|
|
eaeb77a867 | ||
|
|
6d25c614d3 | ||
|
|
90b5679332 | ||
|
|
e7c2c790de | ||
|
|
3f6e0738d1 | ||
|
|
10e2e223cd | ||
|
|
9e3fc9414f | ||
|
|
24a0810cbc | ||
|
|
6d8bfb677e | ||
|
|
b1419d7566 | ||
|
|
60a7fe5586 | ||
|
|
91a8c8975d | ||
|
|
274b7983c1 | ||
|
|
433fc6a7f1 | ||
|
|
7df4497e72 | ||
|
|
4d442bca30 | ||
|
|
1f4f119b1e | ||
|
|
773e08976d | ||
|
|
e44f65f3b2 | ||
|
|
028e633af4 | ||
|
|
aea5d03691 | ||
|
|
3670f7735d | ||
|
|
5c43074bc6 | ||
|
|
f69937deb1 | ||
|
|
f02c8328db | ||
|
|
6609aafb05 | ||
|
|
eea493a8ca | ||
|
|
843dd179d7 | ||
|
|
58f44d39c5 | ||
|
|
ff68d77c7d | ||
|
|
5a468919bb | ||
|
|
220890534a | ||
|
|
c1b981ede4 | ||
|
|
bc82cce72b | ||
|
|
82a98065a0 | ||
|
|
5b1e3466be | ||
|
|
f5bdab4518 | ||
|
|
67481fdfc3 | ||
|
|
c79155fd7b | ||
|
|
e9b42a127b | ||
|
|
106a0db664 | ||
|
|
f7d80a9bf9 | ||
|
|
aac0ac7c63 | ||
|
|
03d7208386 | ||
|
|
1828f70037 | ||
|
|
f41d8d6b14 | ||
|
|
01e8f7ea3d | ||
|
|
24a9537a27 | ||
|
|
29b3fff5eb | ||
|
|
6106e64aac | ||
|
|
80eddd8731 | ||
|
|
74b790f70b | ||
|
|
b403bd9d3e | ||
|
|
0cf18081f9 | ||
|
|
33ab53e42a | ||
|
|
1a18c6b727 | ||
|
|
b1d35570df | ||
|
|
0d4f4f70d2 | ||
|
|
d7f0cb5463 | ||
|
|
800f9d1e44 | ||
|
|
ecc98c293e | ||
|
|
760c04c53a | ||
|
|
e3d8b6098f | ||
|
|
4ab2b85437 | ||
|
|
9802ae83e0 | ||
|
|
3b5c16e307 | ||
|
|
1d99e7ede9 | ||
|
|
e33d65aea0 | ||
|
|
a65a4c8621 | ||
|
|
b3819f30dc | ||
|
|
f7313e841d | ||
|
|
3f5c1b3626 | ||
|
|
623e0be0e1 | ||
|
|
9a6c194432 | ||
|
|
4f19e4b6af | ||
|
|
015d319fa7 | ||
|
|
a196fc171a | ||
|
|
b58fbe5ba5 | ||
|
|
39eff7f249 | ||
|
|
1ed5110d55 | ||
|
|
962c853e67 | ||
|
|
f59a5ef258 | ||
|
|
cd5a03758f | ||
|
|
11aadd4ce8 | ||
|
|
1220a06c3b | ||
|
|
d8f60a8ea1 | ||
|
|
f52eec5af7 | ||
|
|
de20d9010b | ||
|
|
480c42d424 | ||
|
|
7729398105 | ||
|
|
61551e4d76 | ||
|
|
50c53a23eb | ||
|
|
7680d20686 | ||
|
|
df81d7a374 | ||
|
|
6b2d8a740d | ||
|
|
6513d0ce0f | ||
|
|
9af8e27d31 | ||
|
|
b9549e58d0 | ||
|
|
bc2ef2b1b2 | ||
|
|
7005e54de2 | ||
|
|
8e7aa54493 | ||
|
|
76bc2b9e89 | ||
|
|
117a533828 | ||
|
|
67ba7b89a7 | ||
|
|
52411c9017 | ||
|
|
739acd8b41 | ||
|
|
d0a53781b9 | ||
|
|
d1bd39cebb | ||
|
|
e317eca9a5 | ||
|
|
64fb2865b0 | ||
|
|
742293ab87 | ||
|
|
767d86e6dc | ||
|
|
f90a4a85e0 | ||
|
|
bf83c07923 | ||
|
|
d23dd0cdb4 | ||
|
|
78a9cbf82d | ||
|
|
661a3100b1 | ||
|
|
58f2088d3e | ||
|
|
9f9271783e | ||
|
|
0e06042f81 | ||
|
|
8aebfd9b26 | ||
|
|
ed64a9233e | ||
|
|
e2fb49ae39 | ||
|
|
ece67ca174 | ||
|
|
e3e41e5ca0 | ||
|
|
c475edccfc | ||
|
|
8f27babf16 | ||
|
|
f9bb88cd2e | ||
|
|
67f22a6c90 | ||
|
|
8c4a2a48ca | ||
|
|
60cda87b5c | ||
|
|
7200ab2935 | ||
|
|
075c32409a | ||
|
|
e49bb4943e | ||
|
|
dde11de008 | ||
|
|
2668a55688 | ||
|
|
f96b5b89f2 | ||
|
|
44e5f1c2d4 | ||
|
|
539d976a9a | ||
|
|
da294cb02a | ||
|
|
1c79ba4182 | ||
|
|
62c59a56d1 | ||
|
|
79143f6782 | ||
|
|
80f704ae0e | ||
|
|
c600484d68 | ||
|
|
36acacea7e | ||
|
|
1e090f1f6b | ||
|
|
2b7587ceca | ||
|
|
adf39c4cc8 | ||
|
|
93b78573bd | ||
|
|
7ac46dd621 | ||
|
|
e933c7b4d8 | ||
|
|
e61a5b0d05 | ||
|
|
a62f09e87e | ||
|
|
f3c8233e7f | ||
|
|
0d488925ee | ||
|
|
05655a9d88 | ||
|
|
0b30cf0ab6 | ||
|
|
6d82dd14d6 | ||
|
|
35adce3955 | ||
|
|
d18f976b15 | ||
|
|
8903179537 | ||
|
|
6b3c79f674 | ||
|
|
9bceec4394 | ||
|
|
f6386c6ce1 | ||
|
|
92a339befd | ||
|
|
7ff2927edb | ||
|
|
2cb767de2d | ||
|
|
c60edb5636 | ||
|
|
b35df4578b | ||
|
|
139525b6c9 | ||
|
|
cb43e04691 | ||
|
|
67ac0dde6e | ||
|
|
88db3c0df7 | ||
|
|
707f66e9a5 | ||
|
|
a2ad5c06ab | ||
|
|
09e535b238 | ||
|
|
19703e6617 | ||
|
|
d3884c67ad | ||
|
|
3758cb056d | ||
|
|
d8a151ef7d | ||
|
|
15a607f307 | ||
|
|
770c7548d8 | ||
|
|
e65802eb68 | ||
|
|
9fb175e236 | ||
|
|
8d68d3d8ac | ||
|
|
8ab8e65fb5 | ||
|
|
a19662abc7 | ||
|
|
e4aea2efeb | ||
|
|
c782966aea | ||
|
|
4f8a497bbf | ||
|
|
572609b30a | ||
|
|
5ebd8ae02e | ||
|
|
48d1141917 | ||
|
|
d56374e4b9 | ||
|
|
7813c3be8f | ||
|
|
892043ed76 | ||
|
|
a5c70244bf | ||
|
|
f6c494497b | ||
|
|
1fde4d638c | ||
|
|
1489791d5e | ||
|
|
d227db4574 | ||
|
|
29c4ed45cc | ||
|
|
06943f413d | ||
|
|
b3e5357cf1 | ||
|
|
1cf830497a | ||
|
|
9dca1503a8 | ||
|
|
0202048eb6 | ||
|
|
8d4fb288d9 | ||
|
|
fcf25c22d1 | ||
|
|
48174ab974 | ||
|
|
39e409f756 | ||
|
|
50ee91e738 | ||
|
|
7ef8c81607 | ||
|
|
031337f039 | ||
|
|
806e0a8029 | ||
|
|
46463562f6 | ||
|
|
3d0bde2147 | ||
|
|
f48baa1cf7 | ||
|
|
fcd39f9bb2 | ||
|
|
a26b4e6bd4 | ||
|
|
a1b24a0a72 | ||
|
|
a34fb617a7 | ||
|
|
078f28238f | ||
|
|
3ac3236a28 | ||
|
|
2ac845281d | ||
|
|
a1f195f7c0 | ||
|
|
3b977d4cf3 | ||
|
|
137305d58a | ||
|
|
637a54aeb5 | ||
|
|
3f29e7c675 | ||
|
|
391339a4bb | ||
|
|
6d6474ba0e | ||
|
|
637c418c96 | ||
|
|
25bda02981 | ||
|
|
01e9bec5b0 | ||
|
|
79fc33aca8 | ||
|
|
517c098632 | ||
|
|
8ca6009c09 | ||
|
|
10ed7b38d4 | ||
|
|
ec007c0f27 | ||
|
|
b9834bc388 | ||
|
|
43e7cc56a3 | ||
|
|
bf96c7f16e | ||
|
|
62e605325e | ||
|
|
9cd3637035 | ||
|
|
35cc020e9c | ||
|
|
995017b60c | ||
|
|
c1f4dad811 | ||
|
|
261edf59a9 | ||
|
|
7a4f4f1adc | ||
|
|
45cab8fed6 | ||
|
|
4a30c13c2d | ||
|
|
beb5169ee9 | ||
|
|
f1b632af68 | ||
|
|
9834f0cf1e | ||
|
|
451c08ac01 | ||
|
|
0a1839e3e2 | ||
|
|
e99eed3c8e | ||
|
|
af3c238ce1 | ||
|
|
34d1b60f52 | ||
|
|
0bb752674f | ||
|
|
245cfd8571 | ||
|
|
e744c76bf2 | ||
|
|
c5cb6cb410 | ||
|
|
5366c8cf7e | ||
|
|
ecbb7534b9 | ||
|
|
bed28dfe49 | ||
|
|
16e6533a0a | ||
|
|
1d36ecc13f | ||
|
|
b05b5616c8 | ||
|
|
574a1bd198 | ||
|
|
f79bcbd72a | ||
|
|
cc78f0b20c | ||
|
|
6bc3bc5881 | ||
|
|
ca57afd67e | ||
|
|
a558afbed5 | ||
|
|
31f4c0640a | ||
|
|
a42e53728d | ||
|
|
acf762ec9f | ||
|
|
7d4674b728 | ||
|
|
442c24420d | ||
|
|
25ac3cdd86 | ||
|
|
8102b78d22 | ||
|
|
ca2871e2e4 | ||
|
|
fbdfbc2476 | ||
|
|
96eb82574a | ||
|
|
40f319e9e9 | ||
|
|
d82bd3ca77 | ||
|
|
1ee32ac4f4 | ||
|
|
dc415669aa |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -5,5 +5,7 @@
|
||||
|
||||
/build
|
||||
/contrib
|
||||
/depot
|
||||
/public
|
||||
/repos/world
|
||||
|
||||
|
||||
1
depot/genodelabs/download
Normal file
1
depot/genodelabs/download
Normal file
@@ -0,0 +1 @@
|
||||
https://depot.genode.org
|
||||
41
depot/genodelabs/pubkey
Normal file
41
depot/genodelabs/pubkey
Normal file
@@ -0,0 +1,41 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1
|
||||
|
||||
mQINBFkuiRQBEAC693ngCVrfdPThstQmcH51tk/jx5zZxJ9SF+0nrh/kZYs11Fph
|
||||
Hy1WIWjAqmfaoInIen+k9tCM0IKdbNkCbH3I8/MjcENMSa8vHfimcicsQl0wPdbL
|
||||
ZNBkLEKdTVwRVpn4cYlSDqTV/nNnJiGbdiLVZdLj1g93Ph9llgPTv2zFbwltKHrm
|
||||
t+1Q5MlvApsuE3Swwm3fMenhXAwNH/aHqhxCkYwYiiMduY9AHQ+a1YfRbiaH1byy
|
||||
nEeYqBJLCEbhAqTEamWWzziYsHFqJ2UO6v+Ckgl7w2n2T+nVQd855p9nSxGjuoUF
|
||||
LnVlphTh8Dr22fznBJVZRJuYBLO/aNW+RaqqKqwxxgpBxlzdMrlOkKLxvnRzxM6Q
|
||||
YSQwmGfe48NTZw8vXUsRBnfsGry0CIeZcJxN7j4WkD5qRvIg+OZSwl2Zs0Rc5xX8
|
||||
N8PjyxdiQ4VFJRRvQ3vix7rmmdFd3e0bNVVzkjygRne5/Kn0IsCLhCSl54YuxOrm
|
||||
xUyGEUXF2c16JOPxE008eyns6PPHNxQuWJ8x6aZ010K42RQDpryT191CuWpppLzL
|
||||
TbUerHuZb70P4K+Pki9jgaOCQXhNYLR8zpjoXbTrjtY0Q9z5K8nuN/UPTwXdu/o8
|
||||
jxBU/Y+XGkUc0410Vf6SE3R19dbZlGCljSNewcQ6+xNI5qlGnH4RjQokGQARAQAB
|
||||
tCpHZW5vZGUgTGFicyBEZXBvdCAxNy4wNSA8ZGVwb3RAZ2Vub2RlLm9yZz6JAjgE
|
||||
EwEKACIFAlkuiRQCGwMGCwkIBwMEBRUKCQgLBRYCAwEAAh4BAheAAAoJENpDnGeE
|
||||
K08lT7wQAJqw28U7fusS6W8xhZoOH+iWlso7ToTcDLiRXBk90hf5BPhgVlRpw++X
|
||||
khzG2eDTspS3b2HVaZ9B4t9VzDCapfZ+PeGxT2F8qhVFSldTR0YZQ8b7pnUfyygN
|
||||
/WReRjhYFvqCB+DgS6c7JLzkH1POeEUhiGg3cxC4x/JkmbcvOITC4aChsornqEiK
|
||||
thLtZYC3MVfLS7d485XvIiaMZDfinsjYMIE9NOQMlkpTPzUXIWnIxFHEj2BOqrm/
|
||||
8pBoqh7DHTuXcFaCm0HTMICUXQBPjddY+lxmdvS6FV5ReNEMmOqz9axadwLyfihi
|
||||
gUR1UkBvP8jKu7zi3QiMsEYWy8Baohv4YNZjGHGfa/qR4LeHYlYEicusRnTth5vo
|
||||
ZfBfzg2lXwhDfY/Ela/strpgXjUUpC/r/orJJuAq8jlHqv3CmnmRjN1CNT9RF/cX
|
||||
NaICHL/OpULWyuRrRvxDMT6XNNV6sIPEhjZXy6l1U4JAmRxg0XdC1knKnjldzdxy
|
||||
FGVMU4H7ks6Vm3Sx+m8QIBciSun8L6R7JdMf9ffeLsoNXVQ81DxIBklOcl1S0t/J
|
||||
Cl6+VNt2trGTvA6HTwobCh1J4c/gnyQr8JpcA/stLnOWHAoF0N5lLRM7pok/FEDk
|
||||
Lh11Os2HRHcS0FysrKn7Rm3sKwaMAmqryFw6D5yuFun8lU+kBQtBiQIcBBABCgAG
|
||||
BQJZLonBAAoJEKckYDQX7Na3oOoP/0+BLv6Z1rgrNO59n5WGgkAwc+HCkJfqe+Mb
|
||||
B2lQpp7Rn/kVsY/+LfqmBocUmHYYUUvZc4sLfuYUdkHxcGFx16VvOmC7UciMZEfF
|
||||
fK6Ix6dmzoPlY4aRDYI/PhHCxzio0pOaTbv9vWwkd6AQulhqk2v4zN61YFQBT1RO
|
||||
ZVvHg492KeerjcIIDYzqaA/ttFCsw6C0jeb9LLR0aWcpdJqOWCPbTf2+/+EgXFYS
|
||||
0ToiLUFL8x6VExeAj0kXti3824saqni7nXjZkFtV/m24Uufd8kbaJLv4yQFdS49O
|
||||
8YeQw+IB0/qwQqlkwIbnXQ5xtOLhCGXB0nOjrDR3EVn1iy4LlKpQab0P0BTHXBee
|
||||
vaIMGs12Qu+Jn6ovsBM93NjI2t2M1204CY3qK1ciTPehD9wSmYFxy26wkD5nrYqb
|
||||
oo2ELF58+u9Ku3jPy+T/5qgUJGx5crEfZn2G12dMagYarKT3Nmqi8HlSB+oCMtWr
|
||||
12aeuEaZjHtiW1THzJ+PJvbq0cvKCPskEBW5G1ybjwWY8MnEO9VAjOZHZq6o/cud
|
||||
tBdm6yXQ5zUx9FQu3af2kvBHdTWal51yvyxm/YpaIPGLkbHAEyh7AbotzquPswEH
|
||||
/DXRUpYPS/WV3T56hCCj6Tlzc8mZyP6mB+Izajl2jiyS0XpyTPw4P2UPPrlQzbWD
|
||||
dLZKzeV2
|
||||
=n5MC
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
1
depot/nfeske/download
Normal file
1
depot/nfeske/download
Normal file
@@ -0,0 +1 @@
|
||||
https://depot.genode.org
|
||||
52
depot/nfeske/pubkey
Normal file
52
depot/nfeske/pubkey
Normal file
@@ -0,0 +1,52 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1
|
||||
|
||||
mQINBFjSXTIBEADXQ8joLgvDPxnL7XVHW+fbxWhO+TOWVb4u19+YUcYnY3HSnYFd
|
||||
8hFyFlgSs6vKZ6l2W5Ls9/FIFeVHLr9Ign/X7wLS0OGmAQ7hsyVSRe9xXQm1xIzS
|
||||
qExLHHxSXEEtrxaRjE7qxEhsKLotmLC9SoV+j9CXU5SxuWH5i3aVB2hxv9zJoJ4z
|
||||
cgS8VCGdEwHSsvBfv+G2b1bdI7yBOaA/IqIZX5KG1Mg6lsRcpV/1q4og4ybSNL6O
|
||||
4uj7cIXiRTkX4o0i7mIvI1zpezDi6/7DeBGiML18IFupF6TknZQ2etajuN0g34/C
|
||||
vGf9SOVxNEHXnT409ZCQa74nI5t+QGdJRa6JbKUQzZ1etONAqcbp4Z3l5Sh32hRs
|
||||
Kjf2POUT6Zv4uElufxmmoaoWfj8w5K2JqrM1bFgBvK8ynGkl6AOld9FUqAmKK4bq
|
||||
lMb1tXE0GQgrVSkC2g2uzj9q/IIMNq5Hs+82F3uRiWcvLRB3sB5YP1Ys7iFvEN7G
|
||||
UZB0ORUCVFT61yEHT2EGSt8QUMnxzY8oMN0whihRMZHfhaP6mPqfP+g84wcdz8an
|
||||
fNeMoy/nye1GnItDobvQBcd+eSIKuE01OuG1JTs70ia8WKCj8IEe+7IP1aCP+5EM
|
||||
d3B65DK21c4JB8mOgfD952w3ukqlhe/LQGQ6HmiBn/OKHm5rsyt57A79iQARAQAB
|
||||
tCtOb3JtYW4gRmVza2UgPG5vcm1hbi5mZXNrZUBnZW5vZGUtbGFicy5jb20+iQI4
|
||||
BBMBAgAiBQJY0l0yAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAVEJpB
|
||||
Oi5F4noMEADGYVpxczHNbydRnd0NQDdb+/vr+n2f4FHY+6tdGLzcW8zzayg7y6x7
|
||||
3oC4xhDZGjUbpiF2p5SOUh25q3DE9zQEZlzr1GbFug6nPt5Qolmtytzlt2jO0il7
|
||||
oxobo5O/kqw1d/+zGFwMCkGKyDruvl7PQWSGYPIuJ6uLapRJurWjUSYuO95oqBvp
|
||||
6HKPbasuEdAAeLBmpHANvkPnl1QzZBmsNLlvo8bsihfQJTzrGAsIMm0A4EBctGhl
|
||||
FkM7VbkzyPaDvEV+PUa1ifn/Rfk95XdZcUJ0+RjmuzO44xSu/rROlZMftct2vhWa
|
||||
coDsdxZUTsfB1UkIn6Up+zDjc0+80YSwRcDNSrCxJeegvrLOodRqLzDFzBUmwOTp
|
||||
rrD/LW9y7drbf3GuBSYH9+AN5VcHSs2FpAjkngxWkOEhBPWw8ZuLRiR4OK3nrowl
|
||||
672At/pFAIL/g+CXZv6CyfPM062AT8pVO/8K3dseaSiuwBoAaGU4h4hlkDQ+JlSu
|
||||
PpPWC9lagnch8LWQ7blIPfGpRngLjHQAXqTi23JmgJcTEoo+v02pgHI6u7DVB3ur
|
||||
/8waK0G+0ZAHvchifk/lwfKGwZmunct0aSBvMDgCt+Ahq+1Qc6NKwkauO4DAw1K9
|
||||
KGzsqMi3MT/Ca4fZyUWAJQc71SwpUOBCFcrYBarp/JtQl6fBQ9XI8rkCDQRY0l0y
|
||||
ARAAwL0A7D3aY6W5oOo+0jiEqad0AJTgfV8mbElxhZVHNo5R0bN1yqXqX9sAo5qD
|
||||
+a56ae7zAwX+WRSahUNcn2c3Y/k4f4slP0j7VFOc3Vq5PHeJT3bXWB8eZdJcu1B2
|
||||
LfpdvjUEUzn0dlP4Yf/P1dhJtjN9wYrAsqKQwA+vhiXNQ2XQnnSkLNnRsYzdLLeg
|
||||
jL07/41viAwWw+oRpiux9jBUBVyaP827cajf7S3OIZ/avB/zcV0t7Sa2N+OwLn/I
|
||||
5g4g9K4x2T4HQNZjgaNXpFPWpMzEJLR000oQYptT9KnA+1NOCvWu9DJHL+SPV11M
|
||||
QgyzTkicCjWuq2GlI/V7/El5TJtoMebquX0bkFvuTpKAWyAdz7T/QkIOLuFST6MV
|
||||
gj54E7h18RB07+dYLRfBXfS2TGHItsMc+IZ4nttvBKNLNVbj+2ScD0TQ7ccwQEzS
|
||||
UyAeiHTm9I2GH4JmR6l4uYPhqqHS0gH5Zvxx8yEsm/ZIhDGlZAt8HsypX891zor1
|
||||
kRAHqyBbkqSmgNyKlLtu5CDD3pew0UBK3LgKNhqFViWFR56xvvVsz/AESck6n/li
|
||||
PUP8mFQjjnvU5F6O7Dk9bCkUgUUCjkoV/LKPiLXcGTMS9SZeTD+xxUJxrnwos39h
|
||||
6s7PUQQC7IKPz71ZUIbX97EpciKSW8mtOk43XsUNh+PSex0AEQEAAYkCHwQYAQIA
|
||||
CQUCWNJdMgIbDAAKCRAVEJpBOi5F4vdGEACLMixOIihrADwUDMcLbqGSfURQKBzO
|
||||
GFsZj3T+yoRzGQlIjjBDqmMMj5dQH2YdtY+UEPbU5ELyLebNEMWwWkZER0WknpIj
|
||||
4BC3LXQhSpagllGqTute/AczYe+fejXvpunlEgftN2Bypw+kDWGAvHjHSNULOA2W
|
||||
4kOa44Nc0S36CKXdvfLGb0DllfZIJmGtEOsV52ILEGKCFtYnYlaAr/hybmmTy1Ia
|
||||
MCJGR6KtE1Ag8bC2dRUScRmV4DAMZ6+cI03YKxufEVR9891aKEXltJbRMsCSEvVT
|
||||
BONiwoeXsgCUrJvTYMtBW+EbkisvVjo7Q3zG1/K5mTKS1TR0Raz3Dp1UZ3Mk8qrx
|
||||
frYlm6xFHHcBxIkh1YyzB9um1SAPJqKI0R0KS8WuBIsooBslOQM1J8PNADQfOslU
|
||||
fbKFpPmD2JR/qME68/0x3HUKy3ti5EqpCxOremff+UXygE/rZHlAV0vAO460uOxg
|
||||
9wiTT7gDUSS22Bf+y+09qMbBvhJmeh/fD/3WqVVh1qVicD2vtKAnhCfzWVqSyGnD
|
||||
DV/PS1MHv6V8MOixoaAQVtZKeyopl4F1n43stozuF/SPEil3EjqwKukxLS4gRdKq
|
||||
pGvvjau+IEkwzJuVLA4N2AncB4X9wEFXJ9bFNLum83RFkRXoqzj7AU9t3zRcBqfd
|
||||
O1UsB7/WBT7kMw==
|
||||
=p/S3
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
506
doc/depot.txt
Normal file
506
doc/depot.txt
Normal file
@@ -0,0 +1,506 @@
|
||||
|
||||
|
||||
============================
|
||||
Package management on Genode
|
||||
============================
|
||||
|
||||
|
||||
Norman Feske
|
||||
|
||||
|
||||
|
||||
Motivation and inspiration
|
||||
##########################
|
||||
|
||||
The established system-integration work flow with Genode is based on
|
||||
the 'run' tool, which automates the building, configuration, integration,
|
||||
and testing of Genode-based systems. Whereas the run tool succeeds in
|
||||
overcoming the challenges that come with Genode's diversity of kernels and
|
||||
supported hardware platforms, its scalability is somewhat limited to
|
||||
appliance-like system scenarios: The result of the integration process is
|
||||
a system image with a certain feature set. Whenever requirements change,
|
||||
the system image is replaced with a new created image that takes those
|
||||
requirements into account. In practice, there are two limitations of this
|
||||
system-integration approach:
|
||||
|
||||
First, since the run tool implicitly builds all components required for a
|
||||
system scenario, the system integrator has to compile all components from
|
||||
source. E.g., if a system includes a component based on Qt5, one needs to
|
||||
compile the entire Qt5 application framework, which induces significant
|
||||
overhead to the actual system-integration tasks of composing and configuring
|
||||
components.
|
||||
|
||||
Second, general-purpose systems tend to become too complex and diverse to be
|
||||
treated as system images. When looking at commodity OSes, each installation
|
||||
differs with respect to the installed set of applications, user preferences,
|
||||
used device drivers and system preferences. A system based on the run tool's
|
||||
work flow would require the user to customize the run script of the system for
|
||||
each tweak. To stay up to date, the user would need to re-create the
|
||||
system image from time to time while manually maintaining any customizations.
|
||||
In practice, this is a burden, very few end users are willing to endure.
|
||||
|
||||
The primary goal of Genode's package management is to overcome these
|
||||
scalability limitations, in particular:
|
||||
|
||||
* Alleviating the need to build everything that goes into system scenarios
|
||||
from scratch,
|
||||
* Facilitating modular system compositions while abstracting from technical
|
||||
details,
|
||||
* On-target system update and system development,
|
||||
* Assuring the user that system updates are safe to apply by providing the
|
||||
ability to easily roll back the system or parts thereof to previous versions,
|
||||
* Securing the integrity of the deployed software,
|
||||
* Fostering a federalistic evolution of Genode systems,
|
||||
* Low friction for existing developers.
|
||||
|
||||
The design of Genode's package-management concept is largely influenced by Git
|
||||
as well as the [https://nixos.org/nix/ - Nix] package manager. In particular
|
||||
the latter opened our eyes to discover the potential that lies beyond the
|
||||
package management employed in state-of-the art commodity systems. Even though
|
||||
we considered adapting Nix for Genode and actually conducted intensive
|
||||
experiments in this direction (thanks to Emery Hemingway who pushed forward
|
||||
this line of work), we settled on a custom solution that leverages Genode's
|
||||
holistic view on all levels of the operating system including the build system
|
||||
and tooling, source structure, ABI design, framework API, system
|
||||
configuration, inter-component interaction, and the components itself. Whereby
|
||||
Nix is designed for being used on top of Linux, Genode's whole-systems view
|
||||
led us to simplifications that eliminated the needs for Nix' powerful features
|
||||
like its custom description language.
|
||||
|
||||
|
||||
Nomenclature
|
||||
############
|
||||
|
||||
When speaking about "package management", one has to clarify what a "package"
|
||||
in the context of an operating system represents. Traditionally, a package
|
||||
is the unit of delivery of a bunch of "dumb" files, usually wrapped up in
|
||||
a compressed archive. A package may depend on the presence of other
|
||||
packages. Thereby, a dependency graph is formed. To express how packages fit
|
||||
with each other, a package is usually accompanied with meta data
|
||||
(description). Depending on the package manager, package descriptions follow
|
||||
certain formalisms (e.g., package-description language) and express
|
||||
more-or-less complex concepts such as versioning schemes or the distinction
|
||||
between hard and soft dependencies.
|
||||
|
||||
Genode's package management does not follow this notion of a "package".
|
||||
Instead of subsuming all deliverable content under one term, we distinguish
|
||||
different kinds of content, each in a tailored and simple form. To avoid the
|
||||
clash of the notions of the common meaning of a "package", we speak of
|
||||
"archives" as the basic unit of delivery. The following subsections introduce
|
||||
the different categories.
|
||||
Archives are named with their version as suffix, appended via a dash. The
|
||||
suffix is maintained by the author of the archive. The recommended naming
|
||||
scheme is the use of the release date as version suffix, e.g.,
|
||||
'report_rom-2017-05-14'.
|
||||
|
||||
|
||||
Raw-data archives
|
||||
=================
|
||||
|
||||
A raw-data archive contains arbitrary data that is - in contrast to executable
|
||||
binaries - independent from the processor architecture. Examples are
|
||||
configuration data, game assets, images, or fonts. The content of raw-data
|
||||
archives is expected to be consumed by components at runtime. It is not
|
||||
relevant for the build process for executable binaries. Each raw-data
|
||||
archive contains merely a collection of data files. There is no meta data.
|
||||
|
||||
|
||||
API archive
|
||||
===========
|
||||
|
||||
An API archive has the structure of a Genode source-code repository. It may
|
||||
contain all the typical content of such a source-code repository such as header
|
||||
files (in the _include/_ subdirectory), source codes (in the _src/_
|
||||
subdirectory), library-description files (in the _lib/mk/_ subdirectory), or
|
||||
ABI symbols (_lib/symbols/_ subdirectory). At the top level, a LICENSE file is
|
||||
expected that clarifies the license of the contained source code. There is no
|
||||
meta data contained in an API archive.
|
||||
|
||||
An API archive is meant to provide _ingredients_ for building components. The
|
||||
canonical example is the public programming interface of a library (header
|
||||
files) and the library's binary interface in the form of an ABI-symbols file.
|
||||
One API archive may contain the interfaces of multiple libraries. For example,
|
||||
the interfaces of libc and libm may be contained in a single "libc" API
|
||||
archive because they are closely related to each other. Conversely, an API
|
||||
archive may contain a single header file only. The granularity of those
|
||||
archives may vary. But they have in common that they are used at build time
|
||||
only, not at runtime.
|
||||
|
||||
|
||||
Source archive
|
||||
==============
|
||||
|
||||
Like an API archive, a source archive has the structure of a Genode
|
||||
source-tree repository and is expected to contain all the typical content of
|
||||
such a source repository along with a LICENSE file. But unlike an API archive,
|
||||
it contains descriptions of actual build targets in the form of Genode's usual
|
||||
'target.mk' files.
|
||||
|
||||
In addition to the source code, a source archive contains a file
|
||||
called 'used_apis', which contains a list of API-archive names with each
|
||||
name on a separate line. For example, the 'used_apis' file of the 'report_rom'
|
||||
source archive looks as follows:
|
||||
|
||||
! base-2017-05-14
|
||||
! os-2017-05-13
|
||||
! report_session-2017-05-13
|
||||
|
||||
The 'used_apis' file declares the APIs needed to incorporate into the build
|
||||
process when building the source archive. Hence, they represent _build-time_
|
||||
_dependencies_ on the specific API versions.
|
||||
|
||||
A source archive may be equipped with a top-level file called 'api' containing
|
||||
the name of exactly one API archive. If present, it declares that the source
|
||||
archive _implements_ the specified API. For example, the 'libc-2017-05-14'
|
||||
source archive contains the actual source code of the libc and libm as well as
|
||||
an 'api' file with the content 'libc-2017-04-13'. The latter refers to the API
|
||||
implemented by this version of the libc source package (note the differing
|
||||
versions of the API and source archives)
|
||||
|
||||
|
||||
Binary archive
|
||||
==============
|
||||
|
||||
A binary archive contains the build result of the equally-named source archive
|
||||
when built for a particular architecture. That is, all files that would appear
|
||||
at the _<build-dir>/bin/_ subdirectory when building all targets present in
|
||||
the source archive. There is no meta data present in a binary archive.
|
||||
|
||||
A binary archive is created out of the content of its corresponding source
|
||||
archive and all API archives listed in the source archive's 'used_apis' file.
|
||||
Note that since a binary archive depends on only one source archive, which
|
||||
has no further dependencies, all binary archives can be built independently
|
||||
from each other.
|
||||
For example, a libc-using application needs the source code of the
|
||||
application as well as the libc's API archive (the libc's header file and
|
||||
ABI) but it does not need the actual libc library to be present.
|
||||
|
||||
|
||||
Package archive
|
||||
===============
|
||||
|
||||
A package archive contains an 'archives' file with a list of archive names
|
||||
that belong together at runtime. Each listed archive appears on a separate line.
|
||||
For example, the 'archives' file of the package archive for the window
|
||||
manager 'wm-2017-05-15' may look as follows:
|
||||
|
||||
! genodelabs/raw/wm-2017-05-13
|
||||
! genodelabs/src/wm-2017-05-15
|
||||
! genodelabs/src/report_rom-2017-05-14
|
||||
! genodelabs/src/decorator-2017-05-15
|
||||
! genodelabs/src/floating_window_layouter-2017-05-15
|
||||
|
||||
In contrast to the list of 'used_apis' of a source archive, the content of
|
||||
the 'archives' file denotes the origin of the respective archives
|
||||
("genodelabs"), the archive type, followed by the versioned name of the
|
||||
archive.
|
||||
|
||||
An 'archives' file may specify raw archives, source archives, or package
|
||||
archives (as type 'pkg'). It thereby allows the expression of _runtime
|
||||
dependencies_. If a package archive lists another package archive, it inherits
|
||||
the content of the listed archive. This way, a new package archive may easily
|
||||
customize an existing package archive.
|
||||
|
||||
A package archive does not specify binary archives directly as they differ
|
||||
between the architecture and are already referenced by the source archives.
|
||||
|
||||
In addition to an 'archives' file, a package archive is expected to contain
|
||||
a 'README' file explaining the purpose of the collection.
|
||||
|
||||
|
||||
Depot structure
|
||||
###############
|
||||
|
||||
Archives are stored within a directory tree called _depot/_. The depot
|
||||
is structured as follows:
|
||||
|
||||
! <user>/pubkey
|
||||
! <user>/download
|
||||
! <user>/src/<name>-<version>/
|
||||
! <user>/api/<name>-<version>/
|
||||
! <user>/raw/<name>-<version>/
|
||||
! <user>/pkg/<name>-<version>/
|
||||
! <user>/bin/<arch>/<src-name>-<src-version>/
|
||||
! <user>/bin/<arch>/<api-name>-<api-version>/<src-name>-<src-version>/
|
||||
|
||||
The <user> stands for the origin of the contained archives. For example, the
|
||||
official archives provided by Genode Labs reside in a _genodelabs/_
|
||||
subdirectory. Within this directory, there is a 'pubkey' file with the
|
||||
user's public key that is used to verify the integrity of archives downloaded
|
||||
from the user. The file 'download' specifies the download location as an URL.
|
||||
|
||||
Subsuming archives in a subdirectory that correspond to their the origin
|
||||
(user) serves two purposes. First, it provides a user-local name space for
|
||||
versioning archives. E.g., there might be two versions of a
|
||||
'nitpicker-2017-04-15' source archive, one by "genodelabs" and one by
|
||||
"nfeske". However, since each version resides under its origin's subdirectory,
|
||||
version-naming conflicts between different origins cannot happen. Second, by
|
||||
allowing multiple archive origins in the depot side-by-side, package archives
|
||||
may incorporate archives of different origins, which fosters the goal of a
|
||||
federalistic development, where contributions of different origins can be
|
||||
easily combined.
|
||||
|
||||
The actual archives are stored in the subdirectories named after the archive
|
||||
types ('raw', 'api', 'src', 'bin', 'pkg'). Archives contained in the _bin/_
|
||||
subdirectories are further subdivided in the various architectures (like
|
||||
'x86_64', or 'arm_v7'). Note that for binaries created for source archives
|
||||
that implement an API (libraries), there exists a further nesting level with
|
||||
API version. Therefore, multiple library implementations (or versions) that
|
||||
implement the same API are located in the same API subdirectory.
|
||||
|
||||
|
||||
Depot management
|
||||
################
|
||||
|
||||
The tools for managing the depot content reside under the _tool/depot/_
|
||||
directory. When invoked without arguments, each tool prints a brief
|
||||
description of the tool and its arguments.
|
||||
|
||||
Unless stated otherwise, the tools are able to consume any number of archives
|
||||
as arguments. By default, they perform their work sequentially. This can be
|
||||
changed by the '-j<N>' argument, where <N> denotes the desired level of
|
||||
parallelization. For example, by specifying '-j4' to the _tool/depot/build_
|
||||
tool, four concurrent jobs are executed during the creation of binary archives.
|
||||
|
||||
|
||||
Downloading archives
|
||||
====================
|
||||
|
||||
The depot can be populated with archives in two ways, either by creating
|
||||
the content from locally available source codes as explained by Section
|
||||
[Automated extraction of archives from the source tree], or by downloading
|
||||
ready-to-use archives from a web server.
|
||||
|
||||
In order to download archives originating from a specific user, the depot's
|
||||
corresponding user subdirectory must contain two files:
|
||||
|
||||
:_pubkey_: contains the public key of the GPG key pair used by the creator
|
||||
(aka "user") of the to-be-downloaded archives for signing the archives. The
|
||||
file contains the ASCII-armored version of the public key.
|
||||
|
||||
:_download_: contains the base URL of the web server where to fetch archives
|
||||
from. The web server is expected to mirror the structure of the depot.
|
||||
That is, the base URL is followed by a sub directory for the user,
|
||||
which contains the archive-type-specific subdirectories.
|
||||
|
||||
If both the public key and the download locations are defined, the download
|
||||
tool can be used as follows:
|
||||
|
||||
! ./tool/depot/download nfeske/src/zlib-2017-05-30
|
||||
|
||||
The tool automatically downloads the specified archives and their
|
||||
dependencies. For example, as the zlib depends on the libc API, the libc API
|
||||
archive is downloaded as well. All archive types are accepted as arguments
|
||||
including binary and package archives. Furthermore, it is possible to download
|
||||
all binary archives referenced by a package archive. For example, the
|
||||
following command downloads the window-manager (wm) package archive including
|
||||
all binary archives for the 32-bit x86 architecture. Downloaded binary
|
||||
archives are always accompanied with their corresponding source and used API
|
||||
archives.
|
||||
|
||||
! ./tool/depot/download nfeske/pkg/x86_32/wm-2017-05-30
|
||||
|
||||
Archive content is not downloaded directly to the depot. Instead, the
|
||||
individual archives and signature files are downloaded to a quarantine area in
|
||||
the form of a _public/_ directory located in the root of Genode's source tree.
|
||||
As its name suggests, the _public/_ directory contains data that is imported
|
||||
from or to-be exported to the public. The download tool populates it with the
|
||||
downloaded archives in their compressed form accompanied with their
|
||||
signatures.
|
||||
|
||||
The compressed archives are not extracted before their signature is checked
|
||||
against the public key defined at _depot/<user>/pubkey_. If however the
|
||||
signature is valid, the archive content is imported to the target destination
|
||||
within the depot. This procedure ensures that depot content - whenever
|
||||
downloaded - is blessed by a cryptographic signature of its creator.
|
||||
|
||||
|
||||
Building binary archives from source archives
|
||||
=============================================
|
||||
|
||||
With the depot populated with source and API archives, one can use the
|
||||
_tool/depot/build_ tool to produce binary archives. The arguments have the
|
||||
form '<user>/bin/<arch>/<src-name>' where '<arch>' stands for the targeted
|
||||
CPU architecture. For example, the following command builds the 'zlib'
|
||||
library for the 64-bit x86 architecture. It executes four concurrent jobs
|
||||
during the build process.
|
||||
|
||||
! ./tool/depot/build nfeske/bin/x86_64/zlib-2017-05-30 -j4
|
||||
|
||||
Note that the command expects a specific version of the source archive as
|
||||
argument. The depot may contain several versions. So the user has to decide,
|
||||
which one to build.
|
||||
|
||||
After the tool is finished, the freshly built binary archive can be found in the
|
||||
depot within the _genodelabs/bin/_ subdirectory. If the source archive
|
||||
implements an API (if it is a library), the result is stored at
|
||||
_bin/<arch>/<api>-<version>/<src>-<version>/_. Otherwise, the result is stored
|
||||
at _bin/<arch>/<src>-<version>/_. Only the final result of the built process
|
||||
is preserved. In the example above, that would be the _zlib.lib.so_ library.
|
||||
|
||||
For debugging purposes, it might be interesting to inspect the intermediate
|
||||
state of the build. This is possible by adding 'KEEP_BUILD_DIR=1' as argument
|
||||
to the build command. The binary's intermediate build directory can be
|
||||
found besides the binary archive's location named with a '.build' suffix.
|
||||
|
||||
By default, the build tool won't attempt to rebuild a binary archive that is
|
||||
already present in the depot. However, it is possible to force a rebuild via
|
||||
the 'FORCE=1' argument.
|
||||
|
||||
|
||||
Publishing archives
|
||||
===================
|
||||
|
||||
Archives located in the depot can be conveniently made available to the public
|
||||
using the _tool/depot/publish_ tool. Given an archive path, the tool takes
|
||||
care of determining all archives that are implicitly needed by the specified
|
||||
one, wrapping the archive's content into compressed tar archives, and signing
|
||||
those.
|
||||
|
||||
As a precondition, the tool requires you to possess the private key that
|
||||
matches the _depot/<you>/pubkey_ file within your depot. The key pair should
|
||||
be present in the key ring of your GNU privacy guard.
|
||||
|
||||
To publish archives, one needs to specify the specific version to publish.
|
||||
For example:
|
||||
|
||||
! ./tool/depot/publish <you>/pkg/wm-2017-05-30
|
||||
|
||||
The command checks that the specified archive and all dependencies are present
|
||||
in the depot. It then proceeds with the archiving and signing operations. For
|
||||
the latter, the pass phrase for your private key will be requested. The
|
||||
publish tool prints the information about the processed archives, e.g.:
|
||||
|
||||
! publish /.../genode/public/<you>/pkg/wm-2017-05-30.tgz
|
||||
! publish /.../genode/public/<you>/src/decorator-2017-05-30.tgz
|
||||
! publish /.../genode/public/<you>/src/floating_window_layouter-2017-05-30.tgz
|
||||
! publish /.../genode/public/<you>/src/report_rom-2017-05-30.tgz
|
||||
! publish /.../genode/public/<you>/src/wm-2017-05-30.tgz
|
||||
! publish /.../genode/public/<you>/raw/wm-2017-05-30.tgz
|
||||
! publish /.../genode/public/<you>/api/base-2017-05-30.tgz
|
||||
! publish /.../genode/public/<you>/api/framebuffer_session-2017-05-30.tgz
|
||||
! publish /.../genode/public/<you>/api/gems-2017-05-30.tgz
|
||||
! publish /.../genode/public/<you>/api/input_session-2017-05-30.tgz
|
||||
! publish /.../genode/public/<you>/api/nitpicker_gfx-2017-04-24.tgz
|
||||
! publish /.../genode/public/<you>/api/nitpicker_session-2017-05-30.tgz
|
||||
! publish /.../genode/public/<you>/api/os-2017-05-30.tgz
|
||||
! publish /.../genode/public/<you>/api/report_session-2017-05-30.tgz
|
||||
! publish /.../genode/public/<you>/api/scout_gfx-2017-04-24.tgz
|
||||
|
||||
According to the output, the tool populates a directory called _public/_
|
||||
at the root of the Genode source tree with the to-be-published archives.
|
||||
The content of the _public/_ directory is now ready to be copied to a
|
||||
web server, e.g., by using rsync.
|
||||
|
||||
|
||||
Automated extraction of archives from the source tree
|
||||
#####################################################
|
||||
|
||||
Genode users are expected to populate their local depot with content obtained
|
||||
via the _tool/depot/download_ tool. However, Genode developers need a way to
|
||||
create depot archives locally in order to make them available to users. Thanks
|
||||
to the _tool/depot/extract_ tool, the assembly of archives does not need to be
|
||||
a manual process. Instead, archives can be conveniently generated out of the
|
||||
source codes present in the Genode source tree and the _contrib/_ directory.
|
||||
|
||||
However, the granularity of splitting source code into archives, the
|
||||
definition of what a particular API entails, and the relationship between
|
||||
archives must be augmented by the archive creator as this kind of information
|
||||
is not present in the source tree as is. This is where so-called "archive
|
||||
recipes" enter the picture. An archive recipe defines the content of an
|
||||
archive. Such recipes can be located at an _recipes/_ subdirectory of any
|
||||
source-code repository, similar to how port descriptions and run scripts
|
||||
are organized. Each _recipe/_ directory contains subdirectories for the
|
||||
archive types, which, in turn, contain a directory for each archive. The
|
||||
latter is called a _recipe directory_.
|
||||
|
||||
Recipe directory
|
||||
----------------
|
||||
|
||||
The recipe directory is named after the archive _omitting the archive version_
|
||||
and contains at least one file named _hash_. This file defines the version
|
||||
of the archive along with a hash value of the archive's content
|
||||
separated by a space character. By tying the version name to a particular hash
|
||||
value, the _extract_ tool is able to detect the appropriate points in time
|
||||
whenever the version should be increased due to a change of the archive's
|
||||
content.
|
||||
|
||||
API, source, and raw-data archive recipes
|
||||
-----------------------------------------
|
||||
|
||||
Recipe directories for API, source, or raw-data archives contain a
|
||||
_content.mk_ file that defines the archive content in the form of make
|
||||
rules. The content.mk file is executed from the archive's location within
|
||||
the depot. Hence, the contained rules can refer to archive-relative files as targets.
|
||||
The first (default) rule of the content.mk file is executed with a customized
|
||||
make environment:
|
||||
|
||||
:GENODE_DIR: A variable that holds the path to root of the Genode source tree,
|
||||
:REP_DIR: A variable with the path to source code repository where the recipe
|
||||
is located
|
||||
:port_dir: A make function that returns the directory of a port within the
|
||||
_contrib/_ directory. The function expects the location of the
|
||||
corresponding port file as argument, for example, the 'zlib' recipe
|
||||
residing in the _libports/_ repository may specify '$(REP_DIR)/ports/zlib'
|
||||
to access the 3rd-party zlib source code.
|
||||
|
||||
Source archive recipes contain simplified versions of the 'used_apis' and
|
||||
(for libraries) 'api' files as found in the archives. In contrast to the
|
||||
depot's counterparts of these files, which contain version-suffixed names,
|
||||
the files contained in recipe directories omit the version suffix. This
|
||||
is possible because the extract tool always extracts the _current_ version
|
||||
of a given archive from the source tree. This current version is already
|
||||
defined in the corresponding recipe directory.
|
||||
|
||||
Package-archive recipes
|
||||
-----------------------
|
||||
|
||||
The recipe directory for a package archive contains the verbatim content of
|
||||
the to-be-created package archive except for the _archives_ file. All other
|
||||
files are copied verbatim to the archive. The content of the recipe's
|
||||
_archives_ file may omit the version information from the listed ingredients.
|
||||
Furthermore, the user part of each entry can be left blank by using '_' as a
|
||||
wildcard. When generating the package archive from the recipe, the extract
|
||||
tool will replace this wildcard with the user that creates the archive.
|
||||
|
||||
|
||||
Convenience front-end to the extract, build tools
|
||||
#################################################
|
||||
|
||||
For developers, the work flow of interacting with the depot is most often the
|
||||
combination of the _extract_ and _build_ tools whereas the latter expects
|
||||
concrete version names as arguments. The _create_ tool accelerates this common
|
||||
usage pattern by allowing the user to omit the version names. Operations
|
||||
implicitly refer to the _current_ version of the archives as defined in
|
||||
the recipes.
|
||||
|
||||
Furthermore, the _create_ tool is able to manage version updates for the
|
||||
developer. If invoked with the argument 'UPDATE_VERSIONS=1', it automatically
|
||||
updates hash files of the involved recipes by taking the current date as
|
||||
version name. This is a valuable assistance in situations where a commonly
|
||||
used API changes. In this case, the versions of the API and all dependent
|
||||
archives must be increased, which would be a labour-intensive task otherwise.
|
||||
|
||||
|
||||
Accessing depot content from run scripts
|
||||
########################################
|
||||
|
||||
The depot tools are not meant to replace the run tool but rather to complement
|
||||
it. When both tools are combined, the run tool implicitly refers to "current"
|
||||
archive versions as defined for the archive's corresponding recipes. This way,
|
||||
the regular run-tool work flow can be maintained while attaining a
|
||||
productivity boost by fetching content from the depot instead of building it.
|
||||
|
||||
Run scripts can use the 'import_from_depot' function to incorporate archive
|
||||
content from the depot into a scenario. The function must be called after the
|
||||
'create_boot_directory' function and takes any number of pkg, src, or raw
|
||||
archives as arguments. An archive is specified as depot-relative path of the
|
||||
form '<user>/<type>/name'. Run scripts may call 'import_from_depot'
|
||||
repeatedly. Each argument can refer to a specific version of an archive or
|
||||
just the version-less archive name. In the latter case, the current version
|
||||
(as defined by a corresponding archive recipe in the source tree) is used.
|
||||
|
||||
If a 'src' archive is specified, the run tool integrates the content of
|
||||
the corresponding binary archive into the scenario. The binary archives
|
||||
are selected according the spec values as defined for the build directory.
|
||||
|
||||
70
doc/news.txt
70
doc/news.txt
@@ -4,6 +4,76 @@
|
||||
===========
|
||||
|
||||
|
||||
Genode OS Framework release 17.05 | 2017-05-31
|
||||
##############################################
|
||||
|
||||
| With a profoundly updated framework infrastructure such as GCC 6.3,
|
||||
| Qt 5.8, and VirtualBox 5.1.22 for NOVA, the just released version 17.05
|
||||
| promises to be a suitable basis for longer-term maintenance and is
|
||||
| accompanied with a new edition of the "Genode Foundations" book.
|
||||
|
||||
With the mid-year release of Genode, we hope to provide a solid basis for
|
||||
long-living projects built on top of the framework. For this reason, we
|
||||
updated the official tool chain as well as our ports of Qt and VirtualBox
|
||||
to current versions, which are there to stay in the foreseeable future.
|
||||
We also finalized the series of architectural and API-related changes that
|
||||
we started one year ago. The release is accompanied with a new edition of
|
||||
the "Genode Foundations" book that reflects the current state of the framework.
|
||||
|
||||
Feature-wise, the most visible improvement is a new approach and the
|
||||
corresponding tooling for package management. While still officially declared
|
||||
as experimental, it already becomes apparent that it will bring Genode to a
|
||||
new level of scalability. Among the many further improvements are the support
|
||||
for the Ada and Nim programming languages, a new timing API, and new tools for
|
||||
monitoring network traffic and CPU load. All changes are covered in full
|
||||
detail in the
|
||||
[https:/documentation/release-notes/17.05 - release documentation of version 17.05...]
|
||||
|
||||
|
||||
Google Summer of Code | 2017-03-01
|
||||
##################################
|
||||
|
||||
| Genode will participate under the umbrella of the FOSDEM microkernel
|
||||
| devroom as mentoring organization in this year's Google Summer of Code
|
||||
| program.
|
||||
|
||||
Thanks to the initiative of Jakub Jermar and Martin Decky of the
|
||||
HelenOS project, multiple prominent open-source microkernel projects submitted
|
||||
a joint application to this year's Google Summer of Code (GSoC) program under
|
||||
the umbrella of FOSDEM microkernel devroom.
|
||||
|
||||
As announced on the umbrella's [http://gsoc.microkernel.info - official GSoC page],
|
||||
the involved projects are HelenOS, Redox, MINIX 3, and Genode. In anticipation
|
||||
of the application, we have largely revisited our list of future technical
|
||||
challenges:
|
||||
|
||||
*Genode-related topics:* [https://genode.org/about/challenges]
|
||||
|
||||
Those topics are meant as inspiration. It goes without saying that we
|
||||
welcome other suggestions. If you are interested to participate in this
|
||||
year's GSoC with a Genode-related topic, the following steps are best way
|
||||
to get started:
|
||||
|
||||
Learn the basics about Genode by skimming through the
|
||||
[https://genode.org/documentation/genode-foundations-16-05.pdf - Genode Foundations book],
|
||||
downloading the code, and experimenting with a few simple example scenarios.
|
||||
You will find the steps described in the book.
|
||||
|
||||
If this experience leaves a good impression on you, please continue with
|
||||
making yourself known at the
|
||||
[https://genode.org/community/mailing-lists - Genode mailing list] by posting
|
||||
a short introduction of yourself, your primary interests, and possibly a topic
|
||||
that you'd like to engage in. Please don't hesitate to consult the list with
|
||||
any technical questions you might have. Note that the mailing list will be the
|
||||
tool of choice for mentoring you during GSoC. Hence, you should be comfortable
|
||||
in using it. Please keep in mind that friendly and concise written
|
||||
communication is crucial for our project, and will thereby be an important
|
||||
criterion for considering your application.
|
||||
|
||||
We thank Google for accepting the microkernel devroom as a mentoring
|
||||
organization this year and look forward to GSoC students engaging with us!
|
||||
|
||||
|
||||
Genode OS Framework release 17.02 | 2017-02-28
|
||||
##############################################
|
||||
|
||||
|
||||
1033
doc/release_notes-17-05.txt
Normal file
1033
doc/release_notes-17-05.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -9,6 +9,5 @@ include $(BASE_DIR)/lib/mk/base-common.inc
|
||||
LIBS += startup-fiasco syscall-fiasco
|
||||
|
||||
SRC_CC += capability.cc capability_raw.cc
|
||||
SRC_CC += signal_submit.cc
|
||||
SRC_CC += rpc_dispatch_loop.cc
|
||||
SRC_CC += thread.cc thread_bootstrap.cc thread_myself.cc
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
include $(BASE_DIR)/lib/mk/base.inc
|
||||
|
||||
LIBS += syscall-fiasco
|
||||
LIBS += syscall-fiasco base-fiasco-common cxx timeout
|
||||
|
||||
SRC_CC += thread_start.cc
|
||||
SRC_CC += cache.cc
|
||||
SRC_CC += capability_space.cc
|
||||
SRC_CC += signal_transmitter.cc signal.cc
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
GEN_CORE_DIR = $(BASE_DIR)/src/core
|
||||
GEN_CORE_DIR := $(dir $(call select_from_repositories,src/core/main.cc))
|
||||
GEN_SRC_DIR := $(realpath $(GEN_CORE_DIR)/..)
|
||||
|
||||
SRC_CC += stack_area.cc \
|
||||
core_log.cc \
|
||||
@@ -20,42 +21,44 @@ SRC_CC += stack_area.cc \
|
||||
pager.cc \
|
||||
pager_ep.cc \
|
||||
pager_object.cc \
|
||||
pd_session_component.cc \
|
||||
rpc_cap_factory_l4.cc \
|
||||
ram_dataspace_factory.cc \
|
||||
pd_assign_pci.cc \
|
||||
pd_upgrade_ram_quota.cc \
|
||||
platform.cc \
|
||||
platform_pd.cc \
|
||||
platform_services.cc \
|
||||
platform_thread.cc \
|
||||
ram_session_component.cc \
|
||||
ram_session_support.cc \
|
||||
pd_session_component.cc \
|
||||
ram_dataspace_support.cc \
|
||||
region_map_component.cc \
|
||||
region_map_support.cc \
|
||||
rom_session_component.cc \
|
||||
signal_source_component.cc \
|
||||
signal_transmitter_proxy.cc \
|
||||
signal_receiver.cc \
|
||||
thread_start.cc \
|
||||
trace_session_component.cc
|
||||
|
||||
INC_DIR += $(REP_DIR)/src/core/include \
|
||||
$(GEN_CORE_DIR)/include \
|
||||
$(REP_DIR)/src/include \
|
||||
$(BASE_DIR)/src/include
|
||||
$(GEN_SRC_DIR)/include
|
||||
|
||||
LIBS += base-fiasco-common syscall-fiasco cxx
|
||||
|
||||
include $(GEN_CORE_DIR)/version.inc
|
||||
|
||||
vpath main.cc $(GEN_CORE_DIR)
|
||||
vpath ram_session_component.cc $(GEN_CORE_DIR)
|
||||
vpath pd_session_component.cc $(GEN_CORE_DIR)
|
||||
vpath rom_session_component.cc $(GEN_CORE_DIR)
|
||||
vpath cap_session_component.cc $(GEN_CORE_DIR)
|
||||
vpath cpu_session_component.cc $(GEN_CORE_DIR)
|
||||
vpath cpu_session_support.cc $(GEN_CORE_DIR)
|
||||
vpath cpu_thread_component.cc $(GEN_CORE_DIR)
|
||||
vpath pd_session_component.cc $(GEN_CORE_DIR)
|
||||
vpath capability_space.cc $(GEN_CORE_DIR)
|
||||
vpath rpc_cap_factory_l4.cc $(GEN_CORE_DIR)
|
||||
vpath ram_dataspace_factory.cc $(GEN_CORE_DIR)
|
||||
vpath core_rpc_cap_alloc.cc $(GEN_CORE_DIR)
|
||||
vpath core_region_map.cc $(GEN_CORE_DIR)
|
||||
vpath pd_assign_pci.cc $(GEN_CORE_DIR)
|
||||
@@ -64,10 +67,11 @@ vpath region_map_component.cc $(GEN_CORE_DIR)
|
||||
vpath io_mem_session_component.cc $(GEN_CORE_DIR)
|
||||
vpath io_mem_session_support.cc $(GEN_CORE_DIR)
|
||||
vpath signal_source_component.cc $(GEN_CORE_DIR)
|
||||
vpath signal_transmitter_proxy.cc $(GEN_CORE_DIR)
|
||||
vpath signal_receiver.cc $(GEN_CORE_DIR)
|
||||
vpath trace_session_component.cc $(GEN_CORE_DIR)
|
||||
vpath dataspace_component.cc $(GEN_CORE_DIR)
|
||||
vpath default_log.cc $(GEN_CORE_DIR)
|
||||
vpath dump_alloc.cc $(GEN_CORE_DIR)
|
||||
vpath stack_area.cc $(GEN_CORE_DIR)
|
||||
vpath pager_ep.cc $(GEN_CORE_DIR)
|
||||
vpath %.cc $(REP_DIR)/src/core
|
||||
|
||||
@@ -7,17 +7,22 @@ FIASCO_SRC = $(L4_SRC_DIR)/kernel/fiasco
|
||||
KERNEL_BUILD_OUTPUT_FILTER = 2>&1 | sed "s/^/ [fiasco] /"
|
||||
|
||||
$(FIASCO_BUILD_DIR):
|
||||
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
|
||||
$(VERBOSE_MK) set -o pipefail; \
|
||||
MAKEFLAGS= $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
|
||||
$(VERBOSE_DIR) -C $(FIASCO_SRC) BUILDDIR=$@ \
|
||||
$(KERNEL_BUILD_OUTPUT_FILTER)
|
||||
$(VERBOSE)cp $(KERNEL_CONFIG) $@/globalconfig.out
|
||||
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
|
||||
$(VERBOSE_MK) set -o pipefail; \
|
||||
MAKEFLAGS= $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
|
||||
$(VERBOSE_DIR) -C $@ oldconfig \
|
||||
$(KERNEL_BUILD_OUTPUT_FILTER)
|
||||
$(VERBOSE)cp $(KERNEL_CONFIG) $@/globalconfig.out
|
||||
|
||||
$(FIASCO): $(FIASCO_BUILD_DIR)
|
||||
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
|
||||
$(VERBOSE_MK) set -o pipefail; \
|
||||
MAKEFLAGS= CFLAGS="-std=gnu89" \
|
||||
CXXFLAGS="-std=gnu++98 -fno-delete-null-pointer-checks" \
|
||||
$(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
|
||||
$(VERBOSE_DIR) -C $(FIASCO_BUILD_DIR) \
|
||||
$(KERNEL_BUILD_OUTPUT_FILTER)
|
||||
|
||||
|
||||
@@ -53,8 +53,10 @@ endif
|
||||
# 'off64_t' type, which is used by bootstrap.
|
||||
#
|
||||
%.tag:
|
||||
$(VERBOSE_MK) MAKEFLAGS= CPPFLAGS="$(CC_MARCH)" \
|
||||
CFLAGS="$(CC_MARCH)" CXXFLAGS="$(CC_MARCH) -D_GNU_SOURCE" \
|
||||
$(VERBOSE_MK) set -o pipefail; \
|
||||
MAKEFLAGS= CPPFLAGS="$(CC_MARCH)" \
|
||||
CFLAGS="$(CC_MARCH) -std=gnu89" \
|
||||
CXXFLAGS="$(CC_MARCH) -D_GNU_SOURCE -std=gnu++98" \
|
||||
ASFLAGS="$(CC_MARCH)" LDFLAGS="$(LD_MARCH)" \
|
||||
$(MAKE) $(VERBOSE_DIR) O=$(L4_BUILD_DIR) $(L4_VERBOSE) \
|
||||
-C $(L4_PKG_DIR)/$* \
|
||||
|
||||
@@ -7,3 +7,4 @@ vpath io_port_session_component.cc $(GEN_CORE_DIR)/spec/x86
|
||||
vpath io_port_session_support.cc $(GEN_CORE_DIR)/spec/x86
|
||||
vpath platform_services.cc $(GEN_CORE_DIR)/spec/x86
|
||||
vpath platform_x86.cc $(REP_DIR)/src/core/spec/x86
|
||||
vpath %.cc $(REP_DIR)/src/core
|
||||
|
||||
@@ -15,7 +15,8 @@ L4_BUILD_DIR := $(shell pwd)
|
||||
.Makeconf.bid.old:
|
||||
$(VERBOSE)mkdir -p $(dir $@)
|
||||
$(VERBOSE)cp $(L4_CONFIG) $(@:.old=)
|
||||
$(VERBOSE_MK) MAKEFLAGS= make $(VERBOSE_DIR) -C $(L4_SRC_DIR)/l4 \
|
||||
$(VERBOSE_MK) set -o pipefail; \
|
||||
MAKEFLAGS= make $(VERBOSE_DIR) -C $(L4_SRC_DIR)/l4 \
|
||||
O=$(L4_BUILD_DIR) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" oldconfig \
|
||||
2>&1 | sed "s/^/ [l4build] /"
|
||||
$(VERBOSE)touch $@
|
||||
|
||||
242
repos/base-fiasco/patches/gcc6.patch
Normal file
242
repos/base-fiasco/patches/gcc6.patch
Normal file
@@ -0,0 +1,242 @@
|
||||
gcc6.patch
|
||||
|
||||
From: Christian Prochaska <christian.prochaska@genode-labs.com>
|
||||
|
||||
|
||||
---
|
||||
fiasco/snapshot/kernel/fiasco/src/Makeconf | 4 +-
|
||||
.../snapshot/kernel/fiasco/src/kern/shared/gdt.cpp | 10 +++--
|
||||
.../kernel/fiasco/src/kern/shared/kdb_ke.cpp | 9 ++--
|
||||
fiasco/snapshot/l4/pkg/crtx/lib/src/construction.c | 44 ++++++++++----------
|
||||
.../snapshot/l4/pkg/cxx/lib/start/src/cxx_main.cc | 6 +--
|
||||
5 files changed, 38 insertions(+), 35 deletions(-)
|
||||
|
||||
diff --git fiasco/snapshot/kernel/fiasco/src/Makeconf fiasco/snapshot/kernel/fiasco/src/Makeconf
|
||||
index 07401e1..daee531 100644
|
||||
--- fiasco/snapshot/kernel/fiasco/src/Makeconf
|
||||
+++ fiasco/snapshot/kernel/fiasco/src/Makeconf
|
||||
@@ -28,8 +28,8 @@ ECHO := echo
|
||||
ECHO_E := bash --norc -c 'echo -e "$$0" "$$@"'
|
||||
CP := cp
|
||||
AWKP ?= gawk --posix
|
||||
-CFLAGS :=
|
||||
-CXXFLAGS :=
|
||||
+CFLAGS := $(CFLAGS)
|
||||
+CXXFLAGS := $(CXXFLAGS)
|
||||
OPT_CFLAGS := -O2
|
||||
OPT_CXXFLAGS := -O2
|
||||
NOOPT_CFLAGS := -Os
|
||||
diff --git fiasco/snapshot/kernel/fiasco/src/kern/shared/gdt.cpp fiasco/snapshot/kernel/fiasco/src/kern/shared/gdt.cpp
|
||||
index 2113170..d0eafd0 100644
|
||||
--- fiasco/snapshot/kernel/fiasco/src/kern/shared/gdt.cpp
|
||||
+++ fiasco/snapshot/kernel/fiasco/src/kern/shared/gdt.cpp
|
||||
@@ -43,9 +43,6 @@ public:
|
||||
Selector_user = 0x03,
|
||||
Selector_kernel = 0x00,
|
||||
};
|
||||
-
|
||||
-private:
|
||||
- Gdt_entry _entries[];
|
||||
};
|
||||
|
||||
|
||||
@@ -130,6 +127,7 @@ void
|
||||
Gdt::set_entry_byte(int nr, Address base, Unsigned32 limit,
|
||||
Unsigned8 access, Unsigned8 szbits)
|
||||
{
|
||||
+ Gdt_entry *_entries = reinterpret_cast<Gdt_entry*>(this);
|
||||
_entries[nr] = Gdt_entry(base, limit, access, szbits);
|
||||
}
|
||||
|
||||
@@ -138,6 +136,7 @@ void
|
||||
Gdt::set_entry_4k(int nr, Address base, Unsigned32 limit,
|
||||
Unsigned8 access, Unsigned8 szbits)
|
||||
{
|
||||
+ Gdt_entry *_entries = reinterpret_cast<Gdt_entry*>(this);
|
||||
_entries[nr] = Gdt_entry(base, limit >> 12, access, szbits | 0x08);
|
||||
}
|
||||
|
||||
@@ -145,6 +144,7 @@ PUBLIC inline
|
||||
void
|
||||
Gdt::set_raw(int nr, Unsigned32 low, Unsigned32 high)
|
||||
{
|
||||
+ Gdt_entry *_entries = reinterpret_cast<Gdt_entry*>(this);
|
||||
_entries[nr].set_raw(low, high);
|
||||
}
|
||||
|
||||
@@ -152,6 +152,7 @@ PUBLIC inline
|
||||
void
|
||||
Gdt::set_raw(int nr, Unsigned64 val)
|
||||
{
|
||||
+ Gdt_entry *_entries = reinterpret_cast<Gdt_entry*>(this);
|
||||
_entries[nr].set_raw(val);
|
||||
}
|
||||
|
||||
@@ -159,6 +160,7 @@ PUBLIC inline
|
||||
void
|
||||
Gdt::get_raw(int nr, Unsigned32 *low, Unsigned32 *high)
|
||||
{
|
||||
+ Gdt_entry *_entries = reinterpret_cast<Gdt_entry*>(this);
|
||||
_entries[nr].get_raw(low, high);
|
||||
}
|
||||
|
||||
@@ -173,7 +175,7 @@ PUBLIC inline
|
||||
Gdt_entry*
|
||||
Gdt::entries()
|
||||
{
|
||||
- return _entries;
|
||||
+ return reinterpret_cast<Gdt_entry*>(this);
|
||||
}
|
||||
|
||||
|
||||
diff --git fiasco/snapshot/kernel/fiasco/src/kern/shared/kdb_ke.cpp fiasco/snapshot/kernel/fiasco/src/kern/shared/kdb_ke.cpp
|
||||
index 77a51aa..9978b3b 100644
|
||||
--- fiasco/snapshot/kernel/fiasco/src/kern/shared/kdb_ke.cpp
|
||||
+++ fiasco/snapshot/kernel/fiasco/src/kern/shared/kdb_ke.cpp
|
||||
@@ -1,15 +1,16 @@
|
||||
INTERFACE [ia32,ux,amd64]:
|
||||
|
||||
#define kdb_ke(msg) \
|
||||
- asm ("int3 \n\t" \
|
||||
+ asm volatile ("int3 \n\t" \
|
||||
"jmp 1f \n\t" \
|
||||
".ascii " #msg " \n\t" \
|
||||
- "1: \n\t");
|
||||
+ "1: \n\t" \
|
||||
+ : : : "memory");
|
||||
|
||||
#define kdb_ke_sequence(msg) \
|
||||
- asm ("int3 \n\t" \
|
||||
+ asm volatile ("int3 \n\t" \
|
||||
"jmp 1f \n\t" \
|
||||
".ascii \"*##\" \n\t" \
|
||||
"1: \n\t" \
|
||||
- : : "a"(msg));
|
||||
+ : : "a"(msg) : "memory");
|
||||
|
||||
diff --git fiasco/snapshot/l4/pkg/crtx/lib/src/construction.c fiasco/snapshot/l4/pkg/crtx/lib/src/construction.c
|
||||
index 17e8b99..9020245 100644
|
||||
--- fiasco/snapshot/l4/pkg/crtx/lib/src/construction.c
|
||||
+++ fiasco/snapshot/l4/pkg/crtx/lib/src/construction.c
|
||||
@@ -7,8 +7,8 @@
|
||||
|
||||
int __cxa_atexit(void (*function)(void *), void *arg, void *dso_handle);
|
||||
|
||||
-#define BEG { (crt0_hook) ~1U }
|
||||
-#define END { (crt0_hook) 0 }
|
||||
+#define BEG (crt0_hook) ~1U
|
||||
+#define END (crt0_hook) 0
|
||||
|
||||
// make sure that unused symbols are not discarded
|
||||
#if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ >= 4
|
||||
@@ -19,22 +19,22 @@ int __cxa_atexit(void (*function)(void *), void *arg, void *dso_handle);
|
||||
|
||||
typedef void (*const crt0_hook)(void);
|
||||
|
||||
-static crt0_hook __L4DDE_CTOR_BEG__[1] SECTION(".mark_beg_l4dde_ctors") = BEG;
|
||||
-static crt0_hook __L4DDE_CTOR_END__[1] SECTION(".mark_end_l4dde_ctors") = END;
|
||||
-static crt0_hook __CTOR_BEG__[1] SECTION(".mark_beg_ctors") = BEG;
|
||||
-static crt0_hook __CTOR_END__[1] SECTION(".mark_end_ctors") = END;
|
||||
-static crt0_hook __C_CTOR_BEG__[1] SECTION(".mark_beg_c_ctors") = BEG;
|
||||
-static crt0_hook __C_CTOR_END__[1] SECTION(".mark_end_c_ctors") = END;
|
||||
-static crt0_hook __DTOR_BEG__[1] SECTION(".mark_beg_dtors") = BEG;
|
||||
-static crt0_hook __DTOR_END__[1] SECTION(".mark_end_dtors") = END;
|
||||
-static crt0_hook __C_SYS_DTOR_BEG__[1] SECTION(".mark_beg_c_sys_dtors") = BEG;
|
||||
-static crt0_hook __C_SYS_DTOR_END__[1] SECTION(".mark_end_c_sys_dtors") = END;
|
||||
-static crt0_hook __C_DTOR_BEG__[1] SECTION(".mark_beg_c_dtors") = BEG;
|
||||
-static crt0_hook __C_DTOR_END__[1] SECTION(".mark_end_c_dtors") = END;
|
||||
+static crt0_hook __L4DDE_CTOR_BEG__ SECTION(".mark_beg_l4dde_ctors") = BEG;
|
||||
+static crt0_hook __L4DDE_CTOR_END__ SECTION(".mark_end_l4dde_ctors") = END;
|
||||
+static crt0_hook __CTOR_BEG__ SECTION(".mark_beg_ctors") = BEG;
|
||||
+static crt0_hook __CTOR_END__ SECTION(".mark_end_ctors") = END;
|
||||
+static crt0_hook __C_CTOR_BEG__ SECTION(".mark_beg_c_ctors") = BEG;
|
||||
+static crt0_hook __C_CTOR_END__ SECTION(".mark_end_c_ctors") = END;
|
||||
+static crt0_hook __DTOR_BEG__ SECTION(".mark_beg_dtors") = BEG;
|
||||
+static crt0_hook __DTOR_END__ SECTION(".mark_end_dtors") = END;
|
||||
+static crt0_hook __C_SYS_DTOR_BEG__ SECTION(".mark_beg_c_sys_dtors") = BEG;
|
||||
+static crt0_hook __C_SYS_DTOR_END__ SECTION(".mark_end_c_sys_dtors") = END;
|
||||
+static crt0_hook __C_DTOR_BEG__ SECTION(".mark_beg_c_dtors") = BEG;
|
||||
+static crt0_hook __C_DTOR_END__ SECTION(".mark_end_c_dtors") = END;
|
||||
|
||||
|
||||
static void
|
||||
-run_hooks_forward(crt0_hook list[], const char *name)
|
||||
+run_hooks_forward(crt0_hook *list, const char *name)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
outstring("list (forward) ");
|
||||
@@ -57,7 +57,7 @@ run_hooks_forward(crt0_hook list[], const char *name)
|
||||
}
|
||||
|
||||
static void
|
||||
-run_hooks_backward(crt0_hook list[], const char *name)
|
||||
+run_hooks_backward(crt0_hook *list, const char *name)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
outstring("list (backward) ");
|
||||
@@ -83,11 +83,11 @@ static void
|
||||
static_construction(void)
|
||||
{
|
||||
/* call constructors made with L4_C_CTOR */
|
||||
- run_hooks_forward(__C_CTOR_BEG__, "__C_CTOR_BEG__");
|
||||
+ run_hooks_forward(&__C_CTOR_BEG__, "__C_CTOR_BEG__");
|
||||
|
||||
/* call constructors made with __attribute__((constructor))
|
||||
* and static C++ constructors */
|
||||
- run_hooks_backward(__CTOR_END__, "__CTOR_END__");
|
||||
+ run_hooks_backward(&__CTOR_END__, "__CTOR_END__");
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -95,17 +95,17 @@ static_destruction(void *x __attribute__((unused)))
|
||||
{
|
||||
/* call destructors made with __attribute__((destructor))
|
||||
* and static C++ destructors */
|
||||
- run_hooks_forward(__DTOR_BEG__, "__DTOR_BEG__");
|
||||
+ run_hooks_forward(&__DTOR_BEG__, "__DTOR_BEG__");
|
||||
|
||||
/* call destructors made with L4_C_DTOR except system destructors */
|
||||
- run_hooks_backward(__C_DTOR_END__, "__C_DTOR_END__");
|
||||
+ run_hooks_backward(&__C_DTOR_END__, "__C_DTOR_END__");
|
||||
}
|
||||
|
||||
/* call system destructors */
|
||||
void
|
||||
crt0_sys_destruction(void)
|
||||
{
|
||||
- run_hooks_forward(__C_SYS_DTOR_BEG__, "__C_SYS_DTOR_BEG__");
|
||||
+ run_hooks_forward(&__C_SYS_DTOR_BEG__, "__C_SYS_DTOR_BEG__");
|
||||
}
|
||||
|
||||
extern void *__dso_handle __attribute__((weak));
|
||||
@@ -121,7 +121,7 @@ crt0_construction(void)
|
||||
void
|
||||
crt0_dde_construction(void)
|
||||
{
|
||||
- run_hooks_forward(__L4DDE_CTOR_BEG__, "__L4DDE_CTOR_BEG__");
|
||||
+ run_hooks_forward(&__L4DDE_CTOR_BEG__, "__L4DDE_CTOR_BEG__");
|
||||
}
|
||||
|
||||
asm (".hidden _init");
|
||||
diff --git fiasco/snapshot/l4/pkg/cxx/lib/start/src/cxx_main.cc fiasco/snapshot/l4/pkg/cxx/lib/start/src/cxx_main.cc
|
||||
index e202139..22e8ddb 100644
|
||||
--- fiasco/snapshot/l4/pkg/cxx/lib/start/src/cxx_main.cc
|
||||
+++ fiasco/snapshot/l4/pkg/cxx/lib/start/src/cxx_main.cc
|
||||
@@ -13,14 +13,14 @@
|
||||
|
||||
#include "cxx_atexit.h"
|
||||
|
||||
-extern L4::MainThread *main;
|
||||
+extern L4::MainThread *main_thread;
|
||||
|
||||
extern "C"
|
||||
void __main()
|
||||
{
|
||||
crt0_construction();
|
||||
- if(main)
|
||||
- main->run();
|
||||
+ if(main_thread)
|
||||
+ main_thread->run();
|
||||
__cxa_finalize(0);
|
||||
crt0_sys_destruction();
|
||||
l4_sleep_forever();
|
||||
@@ -1 +1 @@
|
||||
7df3c35beaecb0915782bb9d572e2ee973d572c6
|
||||
fbf9086843359c2f94b5e0a9891abfc51dc3dbe6
|
||||
|
||||
7
repos/base-fiasco/recipes/src/base-fiasco/README
Normal file
7
repos/base-fiasco/recipes/src/base-fiasco/README
Normal file
@@ -0,0 +1,7 @@
|
||||
This archive contains the L4/Fiasco-specific part of Genode.
|
||||
|
||||
It also contains the source code of the Fiasco kernel in the
|
||||
'src/kernel/fiasco' directory.
|
||||
|
||||
Please note that Fiasco has a license distinct from Genode. Fiasco's
|
||||
license can be found at 'src/kernel/fiasco/fiasco/snapshot/l4/COPYING'.
|
||||
42
repos/base-fiasco/recipes/src/base-fiasco/content.mk
Normal file
42
repos/base-fiasco/recipes/src/base-fiasco/content.mk
Normal file
@@ -0,0 +1,42 @@
|
||||
include $(GENODE_DIR)/repos/base/recipes/src/base_content.inc
|
||||
|
||||
|
||||
TIMER_SRC := main.cc target.inc include periodic fiasco
|
||||
|
||||
content: src/drivers/timer
|
||||
src/drivers/timer:
|
||||
mkdir -p $@
|
||||
cp -r $(addprefix $(GENODE_DIR)/repos/os/$@/,$(TIMER_SRC)) $@
|
||||
|
||||
content: include/spec/x86_32/trace/timestamp.h include/spec/x86_64/trace/timestamp.h
|
||||
|
||||
include/spec/%/trace/timestamp.h:
|
||||
mkdir -p $(dir $@)
|
||||
cp $(GENODE_DIR)/repos/os/$@ $@
|
||||
|
||||
|
||||
content: README
|
||||
README:
|
||||
cp $(REP_DIR)/recipes/src/base-fiasco/README $@
|
||||
|
||||
content: lib/import config etc
|
||||
lib/import config etc:
|
||||
$(mirror_from_rep_dir)
|
||||
|
||||
content: src/kernel/fiasco
|
||||
src/kernel:
|
||||
$(mirror_from_rep_dir)
|
||||
|
||||
KERNEL_PORT_DIR := $(call port_dir,$(REP_DIR)/ports/fiasco)
|
||||
|
||||
src/kernel/fiasco: src/kernel
|
||||
cp -r $(KERNEL_PORT_DIR)/src/kernel/fiasco/* $@
|
||||
|
||||
|
||||
content:
|
||||
for spec in x86_32; do \
|
||||
mv lib/mk/spec/$$spec/ld-fiasco.mk lib/mk/spec/$$spec/ld.mk; \
|
||||
done;
|
||||
sed -i "s/ld-fiasco/ld/" src/lib/ld/fiasco/target.mk
|
||||
sed -i "s/fiasco_timer_drv/timer/" src/drivers/timer/fiasco/target.mk
|
||||
|
||||
1
repos/base-fiasco/recipes/src/base-fiasco/hash
Normal file
1
repos/base-fiasco/recipes/src/base-fiasco/hash
Normal file
@@ -0,0 +1 @@
|
||||
2017-05-31 e68ed89e8ecd8809dfc51396937867bc5ab7771c
|
||||
1
repos/base-fiasco/recipes/src/base-fiasco/used_apis
Normal file
1
repos/base-fiasco/recipes/src/base-fiasco/used_apis
Normal file
@@ -0,0 +1 @@
|
||||
base
|
||||
@@ -1,3 +1,4 @@
|
||||
LIBS = core-fiasco
|
||||
LIBS := core-fiasco
|
||||
CORE_OBJ := core-fiasco.o
|
||||
|
||||
include $(BASE_DIR)/src/core/target.inc
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#define _CORE__INCLUDE__PLATFORM_H_
|
||||
|
||||
#include <base/allocator_avl.h>
|
||||
#include <base/internal/capability_space.h>
|
||||
|
||||
#include "synced_range_allocator.h"
|
||||
#include "platform_generic.h"
|
||||
@@ -139,15 +140,17 @@ namespace Genode {
|
||||
** Generic platform interface **
|
||||
********************************/
|
||||
|
||||
Range_allocator *core_mem_alloc() { return &_ram_alloc; }
|
||||
Range_allocator *ram_alloc() { return &_ram_alloc; }
|
||||
Range_allocator *io_mem_alloc() { return &_io_mem_alloc; }
|
||||
Range_allocator *io_port_alloc() { return &_io_port_alloc; }
|
||||
Range_allocator *irq_alloc() { return &_irq_alloc; }
|
||||
Range_allocator *region_alloc() { return &_region_alloc; }
|
||||
addr_t vm_start() const { return _vm_start; }
|
||||
size_t vm_size() const { return _vm_size; }
|
||||
Rom_fs *rom_fs() { return &_rom_fs; }
|
||||
Range_allocator *core_mem_alloc() override { return &_ram_alloc; }
|
||||
Range_allocator *ram_alloc() override { return &_ram_alloc; }
|
||||
Range_allocator *io_mem_alloc() override { return &_io_mem_alloc; }
|
||||
Range_allocator *io_port_alloc() override { return &_io_port_alloc; }
|
||||
Range_allocator *irq_alloc() override { return &_irq_alloc; }
|
||||
Range_allocator *region_alloc() override { return &_region_alloc; }
|
||||
addr_t vm_start() const override { return _vm_start; }
|
||||
size_t vm_size() const override { return _vm_size; }
|
||||
Rom_fs *rom_fs() override { return &_rom_fs; }
|
||||
|
||||
size_t max_caps() const { return Capability_space::max_caps(); }
|
||||
|
||||
void wait_for_exit();
|
||||
};
|
||||
|
||||
@@ -130,11 +130,11 @@ Irq_session_component::Irq_session_component(Range_allocator *irq_alloc,
|
||||
{
|
||||
long msi = Arg_string::find_arg(args, "device_config_phys").long_value(0);
|
||||
if (msi)
|
||||
throw Root::Unavailable();
|
||||
throw Service_denied();
|
||||
|
||||
if (!irq_alloc || irq_alloc->alloc_addr(1, _irq_number).error()) {
|
||||
error("Unavailable IRQ ", _irq_number, " requested");
|
||||
throw Root::Unavailable();
|
||||
error("unavailable IRQ ", _irq_number, " requested");
|
||||
throw Service_denied();
|
||||
}
|
||||
|
||||
_irq_object.start();
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
#include <base/internal/globals.h>
|
||||
|
||||
/* core includes */
|
||||
#include <core_parent.h>
|
||||
#include <platform.h>
|
||||
#include <platform_thread.h>
|
||||
#include <platform_pd.h>
|
||||
@@ -104,7 +103,7 @@ static void _core_pager_loop()
|
||||
/* NULL pointer access */
|
||||
error("possible null pointer ", rw ? "WRITE" : "READ", " "
|
||||
"in ", (int)t.id.task, ".", (int)t.id.lthread, " "
|
||||
"at ", Hex(pfa), " IP ", dw1);
|
||||
"at ", Hex(pfa), " IP ", Hex(dw1));
|
||||
/* do not unblock faulter */
|
||||
send_reply = false;
|
||||
continue;
|
||||
@@ -113,7 +112,7 @@ static void _core_pager_loop()
|
||||
/* page-fault address is not in RAM */
|
||||
error(rw ? "WRITE" : "READ", " access outside of RAM "
|
||||
"in ", (int)t.id.task, ".", (int)t.id.lthread, " "
|
||||
"at ", Hex(pfa), " IP ", dw1);
|
||||
"at ", Hex(pfa), " IP ", Hex(dw1));
|
||||
/* do not unblock faulter */
|
||||
send_reply = false;
|
||||
continue;
|
||||
@@ -485,5 +484,3 @@ void Platform::wait_for_exit()
|
||||
sleep_forever();
|
||||
}
|
||||
|
||||
|
||||
void Core_parent::exit(int exit_value) { }
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
* under the terms of the GNU Affero General Public License version 3.
|
||||
*/
|
||||
|
||||
#include "ram_session_component.h"
|
||||
#include <ram_dataspace_factory.h>
|
||||
|
||||
using namespace Genode;
|
||||
|
||||
void Ram_session_component::_export_ram_ds(Dataspace_component *ds) { }
|
||||
void Ram_session_component::_revoke_ram_ds(Dataspace_component *ds) { }
|
||||
void Ram_dataspace_factory::_export_ram_ds(Dataspace_component *ds) { }
|
||||
void Ram_dataspace_factory::_revoke_ram_ds(Dataspace_component *ds) { }
|
||||
|
||||
void Ram_session_component::_clear_ds(Dataspace_component *ds)
|
||||
void Ram_dataspace_factory::_clear_ds(Dataspace_component *ds)
|
||||
{
|
||||
memset((void *)ds->phys_addr(), 0, ds->size());
|
||||
}
|
||||
@@ -1,18 +1,18 @@
|
||||
TARGET = kernel-fiasco
|
||||
LIBS = kernel-fiasco
|
||||
|
||||
$(TARGET): sigma0 bootstrap kernel
|
||||
$(TARGET): $(INSTALL_DIR)/fiasco $(INSTALL_DIR)/sigma0-fiasco $(INSTALL_DIR)/bootstrap-fiasco
|
||||
|
||||
L4_BUILD_DIR = $(LIB_CACHE_DIR)/syscall-fiasco
|
||||
|
||||
kernel:
|
||||
$(INSTALL_DIR)/fiasco:
|
||||
$(VERBOSE)ln -sf $(LIB_CACHE_DIR)/kernel-fiasco/build/fiasco $@
|
||||
|
||||
sigma0:
|
||||
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/bin/x86_586/l4v2/sigma0
|
||||
$(INSTALL_DIR)/sigma0-fiasco:
|
||||
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/bin/x86_586/l4v2/sigma0 $@
|
||||
|
||||
bootstrap:
|
||||
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/bin/x86_586/bootstrap
|
||||
$(INSTALL_DIR)/bootstrap-fiasco:
|
||||
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/bin/x86_586/bootstrap $@
|
||||
|
||||
clean cleanall:
|
||||
$(VERBOSE)rm -f kernel sigma0 bootstrap
|
||||
|
||||
@@ -15,6 +15,9 @@
|
||||
#include <base/thread.h>
|
||||
#include <base/env.h>
|
||||
|
||||
/* base-internal includes */
|
||||
#include <base/internal/globals.h>
|
||||
|
||||
using namespace Genode;
|
||||
|
||||
|
||||
@@ -22,8 +25,7 @@ using namespace Genode;
|
||||
** Startup library support **
|
||||
*****************************/
|
||||
|
||||
void prepare_init_main_thread() { }
|
||||
|
||||
void prepare_init_main_thread() { }
|
||||
void prepare_reinit_main_thread() { }
|
||||
|
||||
|
||||
@@ -36,6 +38,7 @@ void Thread::_thread_bootstrap() { }
|
||||
|
||||
void Thread::_init_platform_thread(size_t, Type type)
|
||||
{
|
||||
if (type == NORMAL) { return; }
|
||||
_thread_cap = Genode::env_deprecated()->parent()->main_thread_cap();
|
||||
if (type == NORMAL) return;
|
||||
|
||||
_thread_cap = main_thread_cap();
|
||||
}
|
||||
|
||||
@@ -2,6 +2,11 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Fiasco configuration
|
||||
#
|
||||
CONFIG_HAS_FPU_OPTION=y
|
||||
CONFIG_HAS_VIRT_OBJ_SPACE_OPTION=y
|
||||
CONFIG_HAS_SERIAL_OPTION=y
|
||||
CONFIG_HAS_MP_OPTION=y
|
||||
CONFIG_HAS_CPU_VIRT=y
|
||||
|
||||
#
|
||||
# Target configuration
|
||||
@@ -9,37 +14,50 @@
|
||||
# CONFIG_IA32 is not set
|
||||
# CONFIG_AMD64 is not set
|
||||
CONFIG_ARM=y
|
||||
# CONFIG_MIPS is not set
|
||||
# CONFIG_PF_ARMADA38X is not set
|
||||
# CONFIG_PF_BCM2835 is not set
|
||||
CONFIG_PF_EXYNOS=y
|
||||
# CONFIG_PF_IMX is not set
|
||||
# CONFIG_PF_INTEGRATOR is not set
|
||||
# CONFIG_PF_KIRKWOOD is not set
|
||||
# CONFIG_PF_LS1021A is not set
|
||||
# CONFIG_PF_OMAP is not set
|
||||
# CONFIG_PF_REALVIEW is not set
|
||||
# CONFIG_PF_S3C2410 is not set
|
||||
# CONFIG_PF_TEGRA is not set
|
||||
# CONFIG_PF_OMAP is not set
|
||||
# CONFIG_PF_SA1100 is not set
|
||||
# CONFIG_PF_SUNXI is not set
|
||||
# CONFIG_PF_TEGRA is not set
|
||||
# CONFIG_PF_XSCALE is not set
|
||||
CONFIG_PF_EXYNOS=y
|
||||
# CONFIG_PF_KIRKWOOD is not set
|
||||
# CONFIG_PF_INTEGRATOR is not set
|
||||
# CONFIG_PF_BCM2835 is not set
|
||||
# CONFIG_PF_ZYNQ is not set
|
||||
CONFIG_BSP_NAME="exynos"
|
||||
CONFIG_CAN_ARM_CPU_CORTEX_A15=y
|
||||
CONFIG_ARM_V7=y
|
||||
CONFIG_ARM_V6PLUS=y
|
||||
CONFIG_PF_EXYNOS5=y
|
||||
CONFIG_CPU_SUSPEND=y
|
||||
CONFIG_PF_EXYNOS_PKG_IDS=""
|
||||
# CONFIG_PF_EXYNOS4_4210 is not set
|
||||
# CONFIG_PF_EXYNOS4_4412 is not set
|
||||
CONFIG_PF_EXYNOS5_5250=y
|
||||
# CONFIG_PF_EXYNOS5_5410 is not set
|
||||
CONFIG_PF_EXYNOS_UART_NATIVE=y
|
||||
CONFIG_PF_EXYNOS_UART_NR=2
|
||||
CONFIG_PF_EXYNOS_TIMER_MCT=y
|
||||
# CONFIG_PF_EXYNOS_TIMER_PWM is not set
|
||||
# CONFIG_PF_EXYNOS_TIMER_GEN is not set
|
||||
CONFIG_ABI_VF=y
|
||||
CONFIG_PF_ARM_MP_CAPABLE=y
|
||||
CONFIG_CAN_ARM_CPU_CORTEX_A15=y
|
||||
CONFIG_ARM_CORTEX_A15=y
|
||||
# CONFIG_CPU_VIRT is not set
|
||||
CONFIG_FPU=y
|
||||
CONFIG_HAVE_ARM_SECMONIF_NONE=y
|
||||
CONFIG_HAVE_ARM_SECMONIF_MC=y
|
||||
# CONFIG_ARM_ALIGNMENT_CHECK is not set
|
||||
CONFIG_ARM_EM_STD=y
|
||||
# CONFIG_ARM_EM_NS is not set
|
||||
# CONFIG_ARM_EM_TZ is not set
|
||||
# CONFIG_ARM_ENABLE_SWP is not set
|
||||
# CONFIG_ARM_LPAE is not set
|
||||
CONFIG_FPU=y
|
||||
CONFIG_ARM_CPU_ERRATA=y
|
||||
|
||||
#
|
||||
@@ -47,6 +65,7 @@ CONFIG_ARM_CPU_ERRATA=y
|
||||
#
|
||||
CONFIG_MP=y
|
||||
CONFIG_MP_MAX_CPUS=4
|
||||
# CONFIG_CONTEXT_8K is not set
|
||||
CONFIG_CONTEXT_4K=y
|
||||
# CONFIG_FINE_GRAINED_CPUTIME is not set
|
||||
CONFIG_SCHED_FIXED_PRIO=y
|
||||
@@ -63,14 +82,17 @@ CONFIG_INLINE=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_JDB=y
|
||||
# CONFIG_JDB_LOGGING is not set
|
||||
CONFIG_JDB_DISASM=y
|
||||
CONFIG_JDB_GZIP=y
|
||||
# CONFIG_VMEM_ALLOC_TEST is not set
|
||||
# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set
|
||||
# CONFIG_JDB_ACCOUNTING is not set
|
||||
# CONFIG_WARN_NONE is not set
|
||||
CONFIG_WARN_WARNING=y
|
||||
# CONFIG_WARN_ANY is not set
|
||||
|
||||
#
|
||||
# ARM debugging options
|
||||
#
|
||||
# CONFIG_VMEM_ALLOC_TEST is not set
|
||||
# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set
|
||||
|
||||
#
|
||||
# Compiling
|
||||
#
|
||||
@@ -83,8 +105,6 @@ CONFIG_LABEL=""
|
||||
# CONFIG_EXPERIMENTAL is not set
|
||||
CONFIG_PERF_CNT=y
|
||||
CONFIG_BIT32=y
|
||||
CONFIG_ARM_V7=y
|
||||
CONFIG_ARM_V6PLUS=y
|
||||
CONFIG_WARN_LEVEL=1
|
||||
CONFIG_XARCH="arm"
|
||||
CONFIG_ABI="vf"
|
||||
|
||||
@@ -2,15 +2,16 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# L4Re Configuration
|
||||
#
|
||||
# CONFIG_BUILD_ARCH_x86 is not set
|
||||
CONFIG_ARCH_ENABLE_STACK_PROTECTOR=y
|
||||
# CONFIG_BUILD_ARCH_amd64 is not set
|
||||
CONFIG_BUILD_ARCH_arm=y
|
||||
# CONFIG_BUILD_ARCH_mips is not set
|
||||
# CONFIG_BUILD_ARCH_ppc32 is not set
|
||||
# CONFIG_BUILD_ARCH_sparc is not set
|
||||
# CONFIG_BUILD_ARCH_x86 is not set
|
||||
CONFIG_BUILD_ARCH="arm"
|
||||
CONFIG_BUILD_ABI_l4f=y
|
||||
CONFIG_BUILD_ABI="l4f"
|
||||
CONFIG_CPU="armv7a"
|
||||
# CONFIG_CPU_ARM_ARMV4 is not set
|
||||
# CONFIG_CPU_ARM_ARMV4T is not set
|
||||
# CONFIG_CPU_ARM_ARMV5 is not set
|
||||
@@ -20,30 +21,37 @@ CONFIG_CPU="armv7a"
|
||||
# CONFIG_CPU_ARM_ARMV6T2 is not set
|
||||
# CONFIG_CPU_ARM_ARMV6ZK is not set
|
||||
CONFIG_CPU_ARM_ARMV7A=y
|
||||
# CONFIG_CPU_ARM_ARMV7R is not set
|
||||
CONFIG_CPU="armv7a"
|
||||
CONFIG_CPU_ARMV6KPLUS=y
|
||||
CONFIG_CPU_ARMV6PLUS=y
|
||||
# CONFIG_PLATFORM_TYPE_imx53 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx35 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_pbx is not set
|
||||
CONFIG_PLATFORM_TYPE_exynos5=y
|
||||
# CONFIG_PLATFORM_TYPE_rv is not set
|
||||
# CONFIG_PLATFORM_TYPE_kirkwood is not set
|
||||
# CONFIG_PLATFORM_TYPE_pandaboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra3 is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra2 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx6 is not set
|
||||
# CONFIG_PLATFORM_TYPE_exynos4 is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3_am33xx is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_b is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress_a15 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx51 is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3evm is not set
|
||||
# CONFIG_PLATFORM_TYPE_armada38x is not set
|
||||
# CONFIG_PLATFORM_TYPE_beagleboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_cubieboard2 is not set
|
||||
# CONFIG_PLATFORM_TYPE_exynos4 is not set
|
||||
CONFIG_PLATFORM_TYPE_exynos5=y
|
||||
# CONFIG_PLATFORM_TYPE_imx21 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_a is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx28 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx35 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx51 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx6 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx6ul is not set
|
||||
# CONFIG_PLATFORM_TYPE_integrator is not set
|
||||
# CONFIG_PLATFORM_TYPE_kirkwood is not set
|
||||
# CONFIG_PLATFORM_TYPE_ls1021atwr is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3_am33xx is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3evm is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap5 is not set
|
||||
# CONFIG_PLATFORM_TYPE_pandaboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_parallella is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_a is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_b is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_pbx is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress_a15 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra2 is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra3 is not set
|
||||
# CONFIG_PLATFORM_TYPE_zedboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_custom is not set
|
||||
CONFIG_PLATFORM_TYPE="exynos5"
|
||||
# CONFIG_USE_DROPS_STDDIR is not set
|
||||
@@ -64,7 +72,9 @@ CONFIG_INT_CPP_NAME_SWITCH=y
|
||||
CONFIG_INT_LD_NAME_SWITCH=y
|
||||
# CONFIG_BID_STRIP_PROGS is not set
|
||||
# CONFIG_BID_GCC_OMIT_FP is not set
|
||||
# CONFIG_BID_GENERATE_MAPFILE is not set
|
||||
CONFIG_BID_GCC_ENABLE_STACK_PROTECTOR=y
|
||||
# CONFIG_BID_GCC_STACK_PROTECTOR_ALL is not set
|
||||
CONFIG_BID_GCC_STACK_PROTECTOR=y
|
||||
# CONFIG_BID_BUILD_DOC is not set
|
||||
# CONFIG_RELEASE_MODE is not set
|
||||
CONFIG_MAKECONFS_ADD=""
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Fiasco configuration
|
||||
#
|
||||
|
||||
#
|
||||
# Target configuration
|
||||
#
|
||||
# CONFIG_IA32 is not set
|
||||
# CONFIG_AMD64 is not set
|
||||
CONFIG_ARM=y
|
||||
CONFIG_PF_IMX=y
|
||||
# CONFIG_PF_REALVIEW is not set
|
||||
# CONFIG_PF_S3C2410 is not set
|
||||
# CONFIG_PF_TEGRA is not set
|
||||
# CONFIG_PF_OMAP is not set
|
||||
# CONFIG_PF_SA1100 is not set
|
||||
# CONFIG_PF_XSCALE is not set
|
||||
# CONFIG_PF_EXYNOS is not set
|
||||
# CONFIG_PF_KIRKWOOD is not set
|
||||
# CONFIG_PF_INTEGRATOR is not set
|
||||
# CONFIG_PF_BCM2835 is not set
|
||||
CONFIG_BSP_NAME="imx"
|
||||
# CONFIG_PF_IMX_21 is not set
|
||||
# CONFIG_PF_IMX_35 is not set
|
||||
# CONFIG_PF_IMX_51 is not set
|
||||
# CONFIG_PF_IMX_6 is not set
|
||||
CONFIG_PF_IMX_53=y
|
||||
CONFIG_PF_IMX_RAM_PHYS_BASE=0x70000000
|
||||
CONFIG_ABI_VF=y
|
||||
CONFIG_CAN_ARM_CPU_CORTEX_A8=y
|
||||
CONFIG_ARM_CORTEX_A8=y
|
||||
# CONFIG_ARM_ALIGNMENT_CHECK is not set
|
||||
CONFIG_ARM_EM_STD=y
|
||||
# CONFIG_ARM_EM_NS is not set
|
||||
# CONFIG_ARM_EM_TZ is not set
|
||||
# CONFIG_FPU is not set
|
||||
# CONFIG_ARM_CPU_ERRATA is not set
|
||||
|
||||
#
|
||||
# Kernel options
|
||||
#
|
||||
CONFIG_CONTEXT_4K=y
|
||||
# CONFIG_FINE_GRAINED_CPUTIME is not set
|
||||
CONFIG_SCHED_FIXED_PRIO=y
|
||||
CONFIG_VIRT_OBJ_SPACE=y
|
||||
|
||||
#
|
||||
# Debugging
|
||||
#
|
||||
CONFIG_INLINE=y
|
||||
# CONFIG_NDEBUG is not set
|
||||
# CONFIG_NO_FRAME_PTR is not set
|
||||
# CONFIG_STACK_DEPTH is not set
|
||||
# CONFIG_LIST_ALLOC_SANITY is not set
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_JDB=y
|
||||
# CONFIG_JDB_LOGGING is not set
|
||||
# CONFIG_JDB_DISASM is not set
|
||||
# CONFIG_JDB_GZIP is not set
|
||||
# CONFIG_VMEM_ALLOC_TEST is not set
|
||||
# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set
|
||||
# CONFIG_WARN_NONE is not set
|
||||
CONFIG_WARN_WARNING=y
|
||||
# CONFIG_WARN_ANY is not set
|
||||
|
||||
#
|
||||
# Compiling
|
||||
#
|
||||
CONFIG_CC="gcc"
|
||||
CONFIG_CXX="g++"
|
||||
CONFIG_HOST_CC="gcc"
|
||||
CONFIG_HOST_CXX="g++"
|
||||
# CONFIG_MAINTAINER_MODE is not set
|
||||
CONFIG_LABEL=""
|
||||
# CONFIG_EXPERIMENTAL is not set
|
||||
CONFIG_PERF_CNT=y
|
||||
CONFIG_BIT32=y
|
||||
CONFIG_ARM_V7=y
|
||||
CONFIG_ARM_V6PLUS=y
|
||||
CONFIG_WARN_LEVEL=1
|
||||
CONFIG_XARCH="arm"
|
||||
CONFIG_ABI="vf"
|
||||
@@ -1,70 +0,0 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# L4Re Configuration
|
||||
#
|
||||
# CONFIG_BUILD_ARCH_x86 is not set
|
||||
# CONFIG_BUILD_ARCH_amd64 is not set
|
||||
CONFIG_BUILD_ARCH_arm=y
|
||||
# CONFIG_BUILD_ARCH_ppc32 is not set
|
||||
# CONFIG_BUILD_ARCH_sparc is not set
|
||||
CONFIG_BUILD_ARCH="arm"
|
||||
CONFIG_BUILD_ABI_l4f=y
|
||||
CONFIG_BUILD_ABI="l4f"
|
||||
CONFIG_CPU="armv7a"
|
||||
# CONFIG_CPU_ARM_ARMV4 is not set
|
||||
# CONFIG_CPU_ARM_ARMV4T is not set
|
||||
# CONFIG_CPU_ARM_ARMV5 is not set
|
||||
# CONFIG_CPU_ARM_ARMV5T is not set
|
||||
# CONFIG_CPU_ARM_ARMV5TE is not set
|
||||
# CONFIG_CPU_ARM_ARMV6 is not set
|
||||
# CONFIG_CPU_ARM_ARMV6T2 is not set
|
||||
# CONFIG_CPU_ARM_ARMV6ZK is not set
|
||||
CONFIG_CPU_ARM_ARMV7A=y
|
||||
# CONFIG_CPU_ARM_ARMV7R is not set
|
||||
CONFIG_CPU_ARMV6KPLUS=y
|
||||
CONFIG_CPU_ARMV6PLUS=y
|
||||
CONFIG_PLATFORM_TYPE_imx53=y
|
||||
# CONFIG_PLATFORM_TYPE_imx35 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_pbx is not set
|
||||
# CONFIG_PLATFORM_TYPE_exynos5 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv is not set
|
||||
# CONFIG_PLATFORM_TYPE_kirkwood is not set
|
||||
# CONFIG_PLATFORM_TYPE_pandaboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra3 is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra2 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx6 is not set
|
||||
# CONFIG_PLATFORM_TYPE_exynos4 is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3_am33xx is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_b is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress_a15 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx51 is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3evm is not set
|
||||
# CONFIG_PLATFORM_TYPE_beagleboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx21 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_a is not set
|
||||
# CONFIG_PLATFORM_TYPE_integrator is not set
|
||||
# CONFIG_PLATFORM_TYPE_custom is not set
|
||||
CONFIG_PLATFORM_TYPE="imx53"
|
||||
# CONFIG_USE_DROPS_STDDIR is not set
|
||||
# CONFIG_USE_DICE is not set
|
||||
CONFIG_DROPS_STDDIR="/path/to/l4re"
|
||||
CONFIG_DROPS_INSTDIR="/path/to/l4re"
|
||||
CONFIG_BID_COLORED_PHASES=y
|
||||
|
||||
#
|
||||
# Building
|
||||
#
|
||||
CONFIG_YACC="yacc"
|
||||
CONFIG_LEX="flex"
|
||||
CONFIG_CTAGS="ctags"
|
||||
CONFIG_ETAGS="etags"
|
||||
CONFIG_HAVE_LDSO=y
|
||||
CONFIG_INT_CPP_NAME_SWITCH=y
|
||||
CONFIG_INT_LD_NAME_SWITCH=y
|
||||
# CONFIG_BID_STRIP_PROGS is not set
|
||||
# CONFIG_BID_GCC_OMIT_FP is not set
|
||||
# CONFIG_BID_GENERATE_MAPFILE is not set
|
||||
# CONFIG_BID_BUILD_DOC is not set
|
||||
# CONFIG_RELEASE_MODE is not set
|
||||
CONFIG_MAKECONFS_ADD=""
|
||||
@@ -2,6 +2,10 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Fiasco configuration
|
||||
#
|
||||
CONFIG_HAS_FPU_OPTION=y
|
||||
CONFIG_HAS_VIRT_OBJ_SPACE_OPTION=y
|
||||
CONFIG_HAS_SERIAL_OPTION=y
|
||||
CONFIG_HAS_MP_OPTION=y
|
||||
|
||||
#
|
||||
# Target configuration
|
||||
@@ -9,41 +13,53 @@
|
||||
# CONFIG_IA32 is not set
|
||||
# CONFIG_AMD64 is not set
|
||||
CONFIG_ARM=y
|
||||
# CONFIG_PF_TEGRA is not set
|
||||
# CONFIG_PF_REALVIEW is not set
|
||||
# CONFIG_MIPS is not set
|
||||
# CONFIG_PF_ARMADA38X is not set
|
||||
# CONFIG_PF_BCM2835 is not set
|
||||
# CONFIG_PF_IMX is not set
|
||||
# CONFIG_PF_S3C2410 is not set
|
||||
# CONFIG_PF_SA1100 is not set
|
||||
CONFIG_PF_EXYNOS=y
|
||||
# CONFIG_PF_IMX is not set
|
||||
# CONFIG_PF_INTEGRATOR is not set
|
||||
# CONFIG_PF_KIRKWOOD is not set
|
||||
# CONFIG_PF_LS1021A is not set
|
||||
# CONFIG_PF_OMAP is not set
|
||||
# CONFIG_PF_REALVIEW is not set
|
||||
# CONFIG_PF_S3C2410 is not set
|
||||
# CONFIG_PF_SA1100 is not set
|
||||
# CONFIG_PF_SUNXI is not set
|
||||
# CONFIG_PF_TEGRA is not set
|
||||
# CONFIG_PF_XSCALE is not set
|
||||
# CONFIG_PF_ZYNQ is not set
|
||||
CONFIG_BSP_NAME="exynos"
|
||||
CONFIG_CAN_ARM_CPU_CORTEX_A9=y
|
||||
CONFIG_CAN_ARM_CACHE_L2CXX0=y
|
||||
CONFIG_ARM_V7=y
|
||||
CONFIG_ARM_V6PLUS=y
|
||||
CONFIG_PF_EXYNOS4=y
|
||||
CONFIG_CPU_SUSPEND=y
|
||||
CONFIG_PF_EXYNOS_PKG_IDS=""
|
||||
# CONFIG_PF_EXYNOS4_4210 is not set
|
||||
CONFIG_PF_EXYNOS4_4412=y
|
||||
# CONFIG_PF_EXYNOS5_5250 is not set
|
||||
# CONFIG_PF_EXYNOS5_5410 is not set
|
||||
CONFIG_PF_EXYNOS_UART_NATIVE=y
|
||||
CONFIG_PF_EXYNOS_UART_NR=1
|
||||
CONFIG_PF_EXYNOS_TIMER_MCT=y
|
||||
# CONFIG_PF_EXYNOS_TIMER_MP is not set
|
||||
# CONFIG_PF_EXYNOS_TIMER_PWM is not set
|
||||
CONFIG_PF_EXYNOS_EXTGIC=y
|
||||
CONFIG_ABI_VF=y
|
||||
CONFIG_PF_ARM_MP_CAPABLE=y
|
||||
CONFIG_CAN_ARM_CPU_CORTEX_A9=y
|
||||
CONFIG_CAN_ARM_CACHE_L2CXX0=y
|
||||
CONFIG_ARM_CORTEX_A9=y
|
||||
CONFIG_FPU=y
|
||||
CONFIG_HAVE_ARM_SECMONIF_NONE=y
|
||||
CONFIG_HAVE_ARM_SECMONIF_MC=y
|
||||
# CONFIG_ARM_ALIGNMENT_CHECK is not set
|
||||
# CONFIG_ARM_EM_STD is not set
|
||||
CONFIG_ARM_EM_NS=y
|
||||
# CONFIG_ARM_EM_TZ is not set
|
||||
# CONFIG_ARM_SECMONIF_NONE is not set
|
||||
CONFIG_ARM_SECMONIF_MC=y
|
||||
# CONFIG_ARM_ENABLE_SWP is not set
|
||||
CONFIG_ARM_CACHE_L2CXX0=y
|
||||
CONFIG_FPU=y
|
||||
# CONFIG_ARM_ENABLE_SWP is not set
|
||||
# CONFIG_ARM_CPU_ERRATA is not set
|
||||
|
||||
#
|
||||
@@ -51,6 +67,7 @@ CONFIG_FPU=y
|
||||
#
|
||||
CONFIG_MP=y
|
||||
CONFIG_MP_MAX_CPUS=4
|
||||
# CONFIG_CONTEXT_8K is not set
|
||||
CONFIG_CONTEXT_4K=y
|
||||
# CONFIG_FINE_GRAINED_CPUTIME is not set
|
||||
CONFIG_SCHED_FIXED_PRIO=y
|
||||
@@ -67,14 +84,17 @@ CONFIG_NO_FRAME_PTR=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_JDB=y
|
||||
# CONFIG_JDB_LOGGING is not set
|
||||
# CONFIG_JDB_DISASM is not set
|
||||
# CONFIG_JDB_GZIP is not set
|
||||
# CONFIG_VMEM_ALLOC_TEST is not set
|
||||
# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set
|
||||
# CONFIG_JDB_ACCOUNTING is not set
|
||||
# CONFIG_WARN_NONE is not set
|
||||
CONFIG_WARN_WARNING=y
|
||||
# CONFIG_WARN_ANY is not set
|
||||
|
||||
#
|
||||
# ARM debugging options
|
||||
#
|
||||
# CONFIG_VMEM_ALLOC_TEST is not set
|
||||
# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set
|
||||
|
||||
#
|
||||
# Compiling
|
||||
#
|
||||
@@ -87,8 +107,6 @@ CONFIG_LABEL=""
|
||||
# CONFIG_EXPERIMENTAL is not set
|
||||
CONFIG_PERF_CNT=y
|
||||
CONFIG_BIT32=y
|
||||
CONFIG_ARM_V7=y
|
||||
CONFIG_ARM_V6PLUS=y
|
||||
CONFIG_WARN_LEVEL=1
|
||||
CONFIG_XARCH="arm"
|
||||
CONFIG_ABI="vf"
|
||||
|
||||
@@ -2,15 +2,16 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# L4Re Configuration
|
||||
#
|
||||
# CONFIG_BUILD_ARCH_x86 is not set
|
||||
CONFIG_ARCH_ENABLE_STACK_PROTECTOR=y
|
||||
# CONFIG_BUILD_ARCH_amd64 is not set
|
||||
CONFIG_BUILD_ARCH_arm=y
|
||||
# CONFIG_BUILD_ARCH_mips is not set
|
||||
# CONFIG_BUILD_ARCH_ppc32 is not set
|
||||
# CONFIG_BUILD_ARCH_sparc is not set
|
||||
# CONFIG_BUILD_ARCH_x86 is not set
|
||||
CONFIG_BUILD_ARCH="arm"
|
||||
CONFIG_BUILD_ABI_l4f=y
|
||||
CONFIG_BUILD_ABI="l4f"
|
||||
CONFIG_CPU="armv7a"
|
||||
# CONFIG_CPU_ARM_ARMV4 is not set
|
||||
# CONFIG_CPU_ARM_ARMV4T is not set
|
||||
# CONFIG_CPU_ARM_ARMV5 is not set
|
||||
@@ -20,30 +21,37 @@ CONFIG_CPU="armv7a"
|
||||
# CONFIG_CPU_ARM_ARMV6T2 is not set
|
||||
# CONFIG_CPU_ARM_ARMV6ZK is not set
|
||||
CONFIG_CPU_ARM_ARMV7A=y
|
||||
# CONFIG_CPU_ARM_ARMV7R is not set
|
||||
CONFIG_CPU="armv7a"
|
||||
CONFIG_CPU_ARMV6KPLUS=y
|
||||
CONFIG_CPU_ARMV6PLUS=y
|
||||
CONFIG_PLATFORM_TYPE_exynos4=y
|
||||
# CONFIG_PLATFORM_TYPE_imx6 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx35 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_pbx is not set
|
||||
# CONFIG_PLATFORM_TYPE_exynos5 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv is not set
|
||||
# CONFIG_PLATFORM_TYPE_kirkwood is not set
|
||||
# CONFIG_PLATFORM_TYPE_pandaboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra3 is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra2 is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3_am33xx is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_b is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress_a15 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx51 is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3evm is not set
|
||||
# CONFIG_PLATFORM_TYPE_armada38x is not set
|
||||
# CONFIG_PLATFORM_TYPE_beagleboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_cubieboard2 is not set
|
||||
CONFIG_PLATFORM_TYPE_exynos4=y
|
||||
# CONFIG_PLATFORM_TYPE_exynos5 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx21 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx53 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_a is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx28 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx35 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx51 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx6 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx6ul is not set
|
||||
# CONFIG_PLATFORM_TYPE_integrator is not set
|
||||
# CONFIG_PLATFORM_TYPE_kirkwood is not set
|
||||
# CONFIG_PLATFORM_TYPE_ls1021atwr is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3_am33xx is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3evm is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap5 is not set
|
||||
# CONFIG_PLATFORM_TYPE_pandaboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_parallella is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_a is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_b is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_pbx is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress_a15 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra2 is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra3 is not set
|
||||
# CONFIG_PLATFORM_TYPE_zedboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_custom is not set
|
||||
CONFIG_PLATFORM_TYPE="exynos4"
|
||||
# CONFIG_USE_DROPS_STDDIR is not set
|
||||
@@ -64,7 +72,9 @@ CONFIG_INT_CPP_NAME_SWITCH=y
|
||||
CONFIG_INT_LD_NAME_SWITCH=y
|
||||
# CONFIG_BID_STRIP_PROGS is not set
|
||||
# CONFIG_BID_GCC_OMIT_FP is not set
|
||||
# CONFIG_BID_GENERATE_MAPFILE is not set
|
||||
CONFIG_BID_GCC_ENABLE_STACK_PROTECTOR=y
|
||||
# CONFIG_BID_GCC_STACK_PROTECTOR_ALL is not set
|
||||
CONFIG_BID_GCC_STACK_PROTECTOR=y
|
||||
# CONFIG_BID_BUILD_DOC is not set
|
||||
# CONFIG_RELEASE_MODE is not set
|
||||
CONFIG_MAKECONFS_ADD=""
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Fiasco configuration
|
||||
#
|
||||
CONFIG_HAS_FPU_OPTION=y
|
||||
CONFIG_HAS_VIRT_OBJ_SPACE_OPTION=y
|
||||
CONFIG_HAS_SERIAL_OPTION=y
|
||||
CONFIG_HAS_MP_OPTION=y
|
||||
|
||||
#
|
||||
# Target configuration
|
||||
@@ -9,34 +13,41 @@
|
||||
# CONFIG_IA32 is not set
|
||||
# CONFIG_AMD64 is not set
|
||||
CONFIG_ARM=y
|
||||
# CONFIG_MIPS is not set
|
||||
# CONFIG_PF_ARMADA38X is not set
|
||||
# CONFIG_PF_BCM2835 is not set
|
||||
# CONFIG_PF_EXYNOS is not set
|
||||
# CONFIG_PF_IMX is not set
|
||||
# CONFIG_PF_INTEGRATOR is not set
|
||||
# CONFIG_PF_KIRKWOOD is not set
|
||||
# CONFIG_PF_LS1021A is not set
|
||||
CONFIG_PF_OMAP=y
|
||||
# CONFIG_PF_REALVIEW is not set
|
||||
# CONFIG_PF_S3C2410 is not set
|
||||
# CONFIG_PF_TEGRA is not set
|
||||
CONFIG_PF_OMAP=y
|
||||
# CONFIG_PF_SA1100 is not set
|
||||
# CONFIG_PF_SUNXI is not set
|
||||
# CONFIG_PF_TEGRA is not set
|
||||
# CONFIG_PF_XSCALE is not set
|
||||
# CONFIG_PF_EXYNOS is not set
|
||||
# CONFIG_PF_KIRKWOOD is not set
|
||||
# CONFIG_PF_INTEGRATOR is not set
|
||||
# CONFIG_PF_BCM2835 is not set
|
||||
# CONFIG_PF_ZYNQ is not set
|
||||
CONFIG_BSP_NAME="omap"
|
||||
CONFIG_CAN_ARM_CPU_CORTEX_A9=y
|
||||
CONFIG_CAN_ARM_CACHE_L2CXX0=y
|
||||
CONFIG_ARM_V7=y
|
||||
CONFIG_ARM_V6PLUS=y
|
||||
# CONFIG_PF_OMAP3_OMAP35XEVM is not set
|
||||
# CONFIG_PF_OMAP3_BEAGLEBOARD is not set
|
||||
# CONFIG_PF_OMAP3_AM33XX is not set
|
||||
CONFIG_PF_OMAP4_PANDABOARD=y
|
||||
# CONFIG_PF_OMAP5_5432EVM is not set
|
||||
CONFIG_ABI_VF=y
|
||||
CONFIG_PF_ARM_MP_CAPABLE=y
|
||||
CONFIG_CAN_ARM_CPU_CORTEX_A9=y
|
||||
CONFIG_CAN_ARM_CACHE_L2CXX0=y
|
||||
CONFIG_ARM_CORTEX_A9=y
|
||||
CONFIG_FPU=y
|
||||
# CONFIG_ARM_ALIGNMENT_CHECK is not set
|
||||
CONFIG_ARM_EM_STD=y
|
||||
# CONFIG_ARM_EM_NS is not set
|
||||
# CONFIG_ARM_EM_TZ is not set
|
||||
# CONFIG_ARM_ENABLE_SWP is not set
|
||||
CONFIG_ARM_CACHE_L2CXX0=y
|
||||
CONFIG_FPU=y
|
||||
# CONFIG_ARM_ENABLE_SWP is not set
|
||||
# CONFIG_ARM_CPU_ERRATA is not set
|
||||
|
||||
#
|
||||
@@ -44,6 +55,7 @@ CONFIG_FPU=y
|
||||
#
|
||||
CONFIG_MP=y
|
||||
CONFIG_MP_MAX_CPUS=4
|
||||
# CONFIG_CONTEXT_8K is not set
|
||||
CONFIG_CONTEXT_4K=y
|
||||
# CONFIG_FINE_GRAINED_CPUTIME is not set
|
||||
CONFIG_SCHED_FIXED_PRIO=y
|
||||
@@ -63,14 +75,17 @@ CONFIG_INLINE=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_JDB=y
|
||||
CONFIG_JDB_LOGGING=y
|
||||
# CONFIG_JDB_DISASM is not set
|
||||
# CONFIG_JDB_GZIP is not set
|
||||
# CONFIG_VMEM_ALLOC_TEST is not set
|
||||
# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set
|
||||
# CONFIG_JDB_ACCOUNTING is not set
|
||||
# CONFIG_WARN_NONE is not set
|
||||
CONFIG_WARN_WARNING=y
|
||||
# CONFIG_WARN_ANY is not set
|
||||
|
||||
#
|
||||
# ARM debugging options
|
||||
#
|
||||
# CONFIG_VMEM_ALLOC_TEST is not set
|
||||
# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set
|
||||
|
||||
#
|
||||
# Compiling
|
||||
#
|
||||
@@ -83,8 +98,6 @@ CONFIG_LABEL=""
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_PERF_CNT=y
|
||||
CONFIG_BIT32=y
|
||||
CONFIG_ARM_V7=y
|
||||
CONFIG_ARM_V6PLUS=y
|
||||
CONFIG_WARN_LEVEL=1
|
||||
CONFIG_XARCH="arm"
|
||||
CONFIG_ABI="vf"
|
||||
|
||||
@@ -2,15 +2,16 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# L4Re Configuration
|
||||
#
|
||||
# CONFIG_BUILD_ARCH_x86 is not set
|
||||
CONFIG_ARCH_ENABLE_STACK_PROTECTOR=y
|
||||
# CONFIG_BUILD_ARCH_amd64 is not set
|
||||
CONFIG_BUILD_ARCH_arm=y
|
||||
# CONFIG_BUILD_ARCH_mips is not set
|
||||
# CONFIG_BUILD_ARCH_ppc32 is not set
|
||||
# CONFIG_BUILD_ARCH_sparc is not set
|
||||
# CONFIG_BUILD_ARCH_x86 is not set
|
||||
CONFIG_BUILD_ARCH="arm"
|
||||
CONFIG_BUILD_ABI_l4f=y
|
||||
CONFIG_BUILD_ABI="l4f"
|
||||
CONFIG_CPU="armv7a"
|
||||
# CONFIG_CPU_ARM_ARMV4 is not set
|
||||
# CONFIG_CPU_ARM_ARMV4T is not set
|
||||
# CONFIG_CPU_ARM_ARMV5 is not set
|
||||
@@ -20,30 +21,37 @@ CONFIG_CPU="armv7a"
|
||||
# CONFIG_CPU_ARM_ARMV6T2 is not set
|
||||
# CONFIG_CPU_ARM_ARMV6ZK is not set
|
||||
CONFIG_CPU_ARM_ARMV7A=y
|
||||
# CONFIG_CPU_ARM_ARMV7R is not set
|
||||
CONFIG_CPU="armv7a"
|
||||
CONFIG_CPU_ARMV6KPLUS=y
|
||||
CONFIG_CPU_ARMV6PLUS=y
|
||||
# CONFIG_PLATFORM_TYPE_imx53 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx35 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_pbx is not set
|
||||
# CONFIG_PLATFORM_TYPE_exynos5 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv is not set
|
||||
# CONFIG_PLATFORM_TYPE_kirkwood is not set
|
||||
CONFIG_PLATFORM_TYPE_pandaboard=y
|
||||
# CONFIG_PLATFORM_TYPE_tegra3 is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra2 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx6 is not set
|
||||
# CONFIG_PLATFORM_TYPE_exynos4 is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3_am33xx is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_b is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress_a15 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx51 is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3evm is not set
|
||||
# CONFIG_PLATFORM_TYPE_armada38x is not set
|
||||
# CONFIG_PLATFORM_TYPE_beagleboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_cubieboard2 is not set
|
||||
# CONFIG_PLATFORM_TYPE_exynos4 is not set
|
||||
# CONFIG_PLATFORM_TYPE_exynos5 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx21 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_a is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx28 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx35 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx51 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx6 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx6ul is not set
|
||||
# CONFIG_PLATFORM_TYPE_integrator is not set
|
||||
# CONFIG_PLATFORM_TYPE_kirkwood is not set
|
||||
# CONFIG_PLATFORM_TYPE_ls1021atwr is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3_am33xx is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3evm is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap5 is not set
|
||||
CONFIG_PLATFORM_TYPE_pandaboard=y
|
||||
# CONFIG_PLATFORM_TYPE_parallella is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_a is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_b is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_pbx is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress_a15 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra2 is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra3 is not set
|
||||
# CONFIG_PLATFORM_TYPE_zedboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_custom is not set
|
||||
CONFIG_PLATFORM_TYPE="pandaboard"
|
||||
# CONFIG_USE_DROPS_STDDIR is not set
|
||||
@@ -64,7 +72,7 @@ CONFIG_INT_CPP_NAME_SWITCH=y
|
||||
CONFIG_INT_LD_NAME_SWITCH=y
|
||||
# CONFIG_BID_STRIP_PROGS is not set
|
||||
# CONFIG_BID_GCC_OMIT_FP is not set
|
||||
# CONFIG_BID_GENERATE_MAPFILE is not set
|
||||
# CONFIG_BID_GCC_ENABLE_STACK_PROTECTOR is not set
|
||||
# CONFIG_BID_BUILD_DOC is not set
|
||||
# CONFIG_RELEASE_MODE is not set
|
||||
CONFIG_MAKECONFS_ADD=""
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Fiasco configuration
|
||||
#
|
||||
CONFIG_HAS_FPU_OPTION=y
|
||||
CONFIG_HAS_VIRT_OBJ_SPACE_OPTION=y
|
||||
CONFIG_HAS_SERIAL_OPTION=y
|
||||
CONFIG_HAS_MP_OPTION=y
|
||||
|
||||
#
|
||||
# Target configuration
|
||||
@@ -9,18 +13,27 @@
|
||||
# CONFIG_IA32 is not set
|
||||
# CONFIG_AMD64 is not set
|
||||
CONFIG_ARM=y
|
||||
# CONFIG_MIPS is not set
|
||||
# CONFIG_PF_ARMADA38X is not set
|
||||
# CONFIG_PF_BCM2835 is not set
|
||||
# CONFIG_PF_EXYNOS is not set
|
||||
# CONFIG_PF_IMX is not set
|
||||
# CONFIG_PF_INTEGRATOR is not set
|
||||
# CONFIG_PF_KIRKWOOD is not set
|
||||
# CONFIG_PF_LS1021A is not set
|
||||
# CONFIG_PF_OMAP is not set
|
||||
CONFIG_PF_REALVIEW=y
|
||||
# CONFIG_PF_S3C2410 is not set
|
||||
# CONFIG_PF_TEGRA is not set
|
||||
# CONFIG_PF_OMAP is not set
|
||||
# CONFIG_PF_SA1100 is not set
|
||||
# CONFIG_PF_SUNXI is not set
|
||||
# CONFIG_PF_TEGRA is not set
|
||||
# CONFIG_PF_XSCALE is not set
|
||||
# CONFIG_PF_EXYNOS is not set
|
||||
# CONFIG_PF_KIRKWOOD is not set
|
||||
# CONFIG_PF_INTEGRATOR is not set
|
||||
# CONFIG_PF_BCM2835 is not set
|
||||
# CONFIG_PF_ZYNQ is not set
|
||||
CONFIG_BSP_NAME="realview"
|
||||
CONFIG_CAN_ARM_CPU_CORTEX_A9=y
|
||||
CONFIG_CAN_ARM_CACHE_L2CXX0=y
|
||||
CONFIG_ARM_V7=y
|
||||
CONFIG_ARM_V6PLUS=y
|
||||
# CONFIG_PF_REALVIEW_EB is not set
|
||||
# CONFIG_PF_REALVIEW_PB11MP is not set
|
||||
CONFIG_PF_REALVIEW_PBX=y
|
||||
@@ -30,23 +43,21 @@ CONFIG_PF_REALVIEW_PBX=y
|
||||
CONFIG_PF_REALVIEW_RAM_PHYS_BASE_0x7=y
|
||||
CONFIG_PF_REALVIEW_RAM_PHYS_BASE=0x70000000
|
||||
CONFIG_ABI_VF=y
|
||||
CONFIG_PF_ARM_MP_CAPABLE=y
|
||||
CONFIG_CAN_ARM_CPU_CORTEX_A9=y
|
||||
CONFIG_CAN_ARM_CACHE_L2CXX0=y
|
||||
CONFIG_ARM_CORTEX_A9=y
|
||||
CONFIG_FPU=y
|
||||
# CONFIG_ARM_ALIGNMENT_CHECK is not set
|
||||
CONFIG_ARM_EM_STD=y
|
||||
# CONFIG_ARM_EM_NS is not set
|
||||
# CONFIG_ARM_EM_TZ is not set
|
||||
CONFIG_ARM_CACHE_L2CXX0=y
|
||||
# CONFIG_ARM_ENABLE_SWP is not set
|
||||
# CONFIG_ARM_CACHE_L2CXX0 is not set
|
||||
CONFIG_FPU=y
|
||||
CONFIG_ARM_CPU_ERRATA=y
|
||||
|
||||
#
|
||||
# Kernel options
|
||||
#
|
||||
# CONFIG_MP is not set
|
||||
# CONFIG_CONTEXT_8K is not set
|
||||
CONFIG_CONTEXT_4K=y
|
||||
# CONFIG_FINE_GRAINED_CPUTIME is not set
|
||||
CONFIG_SCHED_FIXED_PRIO=y
|
||||
@@ -63,14 +74,17 @@ CONFIG_NO_FRAME_PTR=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_JDB=y
|
||||
CONFIG_JDB_LOGGING=y
|
||||
CONFIG_JDB_DISASM=y
|
||||
# CONFIG_JDB_GZIP is not set
|
||||
# CONFIG_VMEM_ALLOC_TEST is not set
|
||||
# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set
|
||||
# CONFIG_JDB_ACCOUNTING is not set
|
||||
# CONFIG_WARN_NONE is not set
|
||||
CONFIG_WARN_WARNING=y
|
||||
# CONFIG_WARN_ANY is not set
|
||||
|
||||
#
|
||||
# ARM debugging options
|
||||
#
|
||||
# CONFIG_VMEM_ALLOC_TEST is not set
|
||||
# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set
|
||||
|
||||
#
|
||||
# Compiling
|
||||
#
|
||||
@@ -83,8 +97,6 @@ CONFIG_LABEL=""
|
||||
# CONFIG_EXPERIMENTAL is not set
|
||||
CONFIG_PERF_CNT=y
|
||||
CONFIG_BIT32=y
|
||||
CONFIG_ARM_V7=y
|
||||
CONFIG_ARM_V6PLUS=y
|
||||
CONFIG_WARN_LEVEL=1
|
||||
CONFIG_XARCH="arm"
|
||||
CONFIG_ABI="vf"
|
||||
|
||||
@@ -2,15 +2,16 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# L4Re Configuration
|
||||
#
|
||||
# CONFIG_BUILD_ARCH_x86 is not set
|
||||
CONFIG_ARCH_ENABLE_STACK_PROTECTOR=y
|
||||
# CONFIG_BUILD_ARCH_amd64 is not set
|
||||
CONFIG_BUILD_ARCH_arm=y
|
||||
# CONFIG_BUILD_ARCH_mips is not set
|
||||
# CONFIG_BUILD_ARCH_ppc32 is not set
|
||||
# CONFIG_BUILD_ARCH_sparc is not set
|
||||
# CONFIG_BUILD_ARCH_x86 is not set
|
||||
CONFIG_BUILD_ARCH="arm"
|
||||
CONFIG_BUILD_ABI_l4f=y
|
||||
CONFIG_BUILD_ABI="l4f"
|
||||
CONFIG_CPU="armv7a"
|
||||
# CONFIG_CPU_ARM_ARMV4 is not set
|
||||
# CONFIG_CPU_ARM_ARMV4T is not set
|
||||
# CONFIG_CPU_ARM_ARMV5 is not set
|
||||
@@ -20,30 +21,37 @@ CONFIG_CPU="armv7a"
|
||||
# CONFIG_CPU_ARM_ARMV6T2 is not set
|
||||
# CONFIG_CPU_ARM_ARMV6ZK is not set
|
||||
CONFIG_CPU_ARM_ARMV7A=y
|
||||
# CONFIG_CPU_ARM_ARMV7R is not set
|
||||
CONFIG_CPU="armv7a"
|
||||
CONFIG_CPU_ARMV6KPLUS=y
|
||||
CONFIG_CPU_ARMV6PLUS=y
|
||||
# CONFIG_PLATFORM_TYPE_imx53 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx35 is not set
|
||||
CONFIG_PLATFORM_TYPE_rv_pbx=y
|
||||
# CONFIG_PLATFORM_TYPE_exynos5 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv is not set
|
||||
# CONFIG_PLATFORM_TYPE_kirkwood is not set
|
||||
# CONFIG_PLATFORM_TYPE_pandaboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra3 is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra2 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx6 is not set
|
||||
# CONFIG_PLATFORM_TYPE_exynos4 is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3_am33xx is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_b is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress_a15 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx51 is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3evm is not set
|
||||
# CONFIG_PLATFORM_TYPE_armada38x is not set
|
||||
# CONFIG_PLATFORM_TYPE_beagleboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_cubieboard2 is not set
|
||||
# CONFIG_PLATFORM_TYPE_exynos4 is not set
|
||||
# CONFIG_PLATFORM_TYPE_exynos5 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx21 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_a is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx28 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx35 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx51 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx6 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx6ul is not set
|
||||
# CONFIG_PLATFORM_TYPE_integrator is not set
|
||||
# CONFIG_PLATFORM_TYPE_kirkwood is not set
|
||||
# CONFIG_PLATFORM_TYPE_ls1021atwr is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3_am33xx is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3evm is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap5 is not set
|
||||
# CONFIG_PLATFORM_TYPE_pandaboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_parallella is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_a is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_b is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv is not set
|
||||
CONFIG_PLATFORM_TYPE_rv_pbx=y
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress_a15 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra2 is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra3 is not set
|
||||
# CONFIG_PLATFORM_TYPE_zedboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_custom is not set
|
||||
CONFIG_PLATFORM_TYPE="rv_pbx"
|
||||
# CONFIG_USE_DROPS_STDDIR is not set
|
||||
@@ -64,7 +72,7 @@ CONFIG_INT_CPP_NAME_SWITCH=y
|
||||
CONFIG_INT_LD_NAME_SWITCH=y
|
||||
# CONFIG_BID_STRIP_PROGS is not set
|
||||
# CONFIG_BID_GCC_OMIT_FP is not set
|
||||
# CONFIG_BID_GENERATE_MAPFILE is not set
|
||||
# CONFIG_BID_GCC_ENABLE_STACK_PROTECTOR is not set
|
||||
# CONFIG_BID_BUILD_DOC is not set
|
||||
# CONFIG_RELEASE_MODE is not set
|
||||
CONFIG_MAKECONFS_ADD=""
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Fiasco configuration
|
||||
#
|
||||
CONFIG_HAS_FPU_OPTION=y
|
||||
CONFIG_HAS_VIRT_OBJ_SPACE_OPTION=y
|
||||
CONFIG_HAS_SERIAL_OPTION=y
|
||||
|
||||
#
|
||||
# Target configuration
|
||||
@@ -9,35 +12,44 @@
|
||||
# CONFIG_IA32 is not set
|
||||
# CONFIG_AMD64 is not set
|
||||
CONFIG_ARM=y
|
||||
# CONFIG_PF_REALVIEW is not set
|
||||
# CONFIG_PF_IMX is not set
|
||||
# CONFIG_PF_S3C2410 is not set
|
||||
# CONFIG_PF_TEGRA is not set
|
||||
# CONFIG_PF_OMAP is not set
|
||||
# CONFIG_PF_XSCALE is not set
|
||||
# CONFIG_PF_SA1100 is not set
|
||||
# CONFIG_PF_EXYNOS is not set
|
||||
# CONFIG_PF_KIRKWOOD is not set
|
||||
# CONFIG_PF_INTEGRATOR is not set
|
||||
# CONFIG_MIPS is not set
|
||||
# CONFIG_PF_ARMADA38X is not set
|
||||
CONFIG_PF_BCM2835=y
|
||||
# CONFIG_PF_EXYNOS is not set
|
||||
# CONFIG_PF_IMX is not set
|
||||
# CONFIG_PF_INTEGRATOR is not set
|
||||
# CONFIG_PF_KIRKWOOD is not set
|
||||
# CONFIG_PF_LS1021A is not set
|
||||
# CONFIG_PF_OMAP is not set
|
||||
# CONFIG_PF_REALVIEW is not set
|
||||
# CONFIG_PF_S3C2410 is not set
|
||||
# CONFIG_PF_SA1100 is not set
|
||||
# CONFIG_PF_SUNXI is not set
|
||||
# CONFIG_PF_TEGRA is not set
|
||||
# CONFIG_PF_XSCALE is not set
|
||||
# CONFIG_PF_ZYNQ is not set
|
||||
CONFIG_BSP_NAME="bcm2835"
|
||||
CONFIG_ABI_VF=y
|
||||
CONFIG_CAN_ARM_CPU_1176=y
|
||||
CONFIG_ARM_V6=y
|
||||
CONFIG_ARM_V6PLUS=y
|
||||
CONFIG_ABI_VF=y
|
||||
CONFIG_ARM_1176=y
|
||||
# CONFIG_FPU is not set
|
||||
# CONFIG_ARM_ALIGNMENT_CHECK is not set
|
||||
CONFIG_ARM_EM_STD=y
|
||||
# CONFIG_ARM_EM_NS is not set
|
||||
# CONFIG_ARM_EM_TZ is not set
|
||||
# CONFIG_FPU is not set
|
||||
# CONFIG_ARM_1176_CACHE_ALIAS_FIX is not set
|
||||
# CONFIG_ARM_CPU_ERRATA is not set
|
||||
|
||||
#
|
||||
# Kernel options
|
||||
#
|
||||
# CONFIG_CONTEXT_8K is not set
|
||||
CONFIG_CONTEXT_4K=y
|
||||
# CONFIG_FINE_GRAINED_CPUTIME is not set
|
||||
CONFIG_SCHED_FIXED_PRIO=y
|
||||
CONFIG_VIRT_OBJ_SPACE=y
|
||||
|
||||
#
|
||||
# Debugging
|
||||
@@ -50,14 +62,17 @@ CONFIG_NO_FRAME_PTR=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_JDB=y
|
||||
# CONFIG_JDB_LOGGING is not set
|
||||
# CONFIG_JDB_DISASM is not set
|
||||
# CONFIG_JDB_GZIP is not set
|
||||
# CONFIG_VMEM_ALLOC_TEST is not set
|
||||
# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set
|
||||
# CONFIG_JDB_ACCOUNTING is not set
|
||||
# CONFIG_WARN_NONE is not set
|
||||
CONFIG_WARN_WARNING=y
|
||||
# CONFIG_WARN_ANY is not set
|
||||
|
||||
#
|
||||
# ARM debugging options
|
||||
#
|
||||
# CONFIG_VMEM_ALLOC_TEST is not set
|
||||
# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set
|
||||
|
||||
#
|
||||
# Compiling
|
||||
#
|
||||
@@ -70,8 +85,6 @@ CONFIG_LABEL=""
|
||||
# CONFIG_EXPERIMENTAL is not set
|
||||
CONFIG_PERF_CNT=y
|
||||
CONFIG_BIT32=y
|
||||
CONFIG_ARM_V6=y
|
||||
CONFIG_ARM_V6PLUS=y
|
||||
CONFIG_WARN_LEVEL=1
|
||||
CONFIG_XARCH="arm"
|
||||
CONFIG_ABI="vf"
|
||||
CONFIG_ABI="vf"
|
||||
|
||||
@@ -2,15 +2,16 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# L4Re Configuration
|
||||
#
|
||||
# CONFIG_BUILD_ARCH_x86 is not set
|
||||
CONFIG_ARCH_ENABLE_STACK_PROTECTOR=y
|
||||
# CONFIG_BUILD_ARCH_amd64 is not set
|
||||
CONFIG_BUILD_ARCH_arm=y
|
||||
# CONFIG_BUILD_ARCH_mips is not set
|
||||
# CONFIG_BUILD_ARCH_ppc32 is not set
|
||||
# CONFIG_BUILD_ARCH_sparc is not set
|
||||
# CONFIG_BUILD_ARCH_x86 is not set
|
||||
CONFIG_BUILD_ARCH="arm"
|
||||
CONFIG_BUILD_ABI_l4f=y
|
||||
CONFIG_BUILD_ABI="l4f"
|
||||
CONFIG_CPU="armv6"
|
||||
# CONFIG_CPU_ARM_ARMV4 is not set
|
||||
# CONFIG_CPU_ARM_ARMV4T is not set
|
||||
# CONFIG_CPU_ARM_ARMV5 is not set
|
||||
@@ -20,21 +21,27 @@ CONFIG_CPU_ARM_ARMV6=y
|
||||
# CONFIG_CPU_ARM_ARMV6T2 is not set
|
||||
# CONFIG_CPU_ARM_ARMV6ZK is not set
|
||||
# CONFIG_CPU_ARM_ARMV7A is not set
|
||||
# CONFIG_CPU_ARM_ARMV7R is not set
|
||||
CONFIG_CPU="armv6"
|
||||
CONFIG_CPU_ARMV6PLUS=y
|
||||
# CONFIG_PLATFORM_TYPE_armada38x is not set
|
||||
# CONFIG_PLATFORM_TYPE_beagleboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_cubieboard2 is not set
|
||||
# CONFIG_PLATFORM_TYPE_exynos4 is not set
|
||||
# CONFIG_PLATFORM_TYPE_exynos5 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx21 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx28 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx35 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx51 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx53 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx6 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx6ul is not set
|
||||
# CONFIG_PLATFORM_TYPE_integrator is not set
|
||||
# CONFIG_PLATFORM_TYPE_kirkwood is not set
|
||||
# CONFIG_PLATFORM_TYPE_ls1021atwr is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3_am33xx is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3evm is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap5 is not set
|
||||
# CONFIG_PLATFORM_TYPE_pandaboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_parallella is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_a is not set
|
||||
CONFIG_PLATFORM_TYPE_rpi_b=y
|
||||
# CONFIG_PLATFORM_TYPE_rv is not set
|
||||
@@ -43,6 +50,7 @@ CONFIG_PLATFORM_TYPE_rpi_b=y
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra2 is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra3 is not set
|
||||
# CONFIG_PLATFORM_TYPE_zedboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_custom is not set
|
||||
CONFIG_PLATFORM_TYPE="rpi_b"
|
||||
# CONFIG_USE_DROPS_STDDIR is not set
|
||||
@@ -63,7 +71,9 @@ CONFIG_INT_CPP_NAME_SWITCH=y
|
||||
CONFIG_INT_LD_NAME_SWITCH=y
|
||||
# CONFIG_BID_STRIP_PROGS is not set
|
||||
# CONFIG_BID_GCC_OMIT_FP is not set
|
||||
# CONFIG_BID_GENERATE_MAPFILE is not set
|
||||
CONFIG_BID_GCC_ENABLE_STACK_PROTECTOR=y
|
||||
# CONFIG_BID_GCC_STACK_PROTECTOR_ALL is not set
|
||||
CONFIG_BID_GCC_STACK_PROTECTOR=y
|
||||
# CONFIG_BID_BUILD_DOC is not set
|
||||
# CONFIG_RELEASE_MODE is not set
|
||||
CONFIG_MAKECONFS_ADD=""
|
||||
|
||||
@@ -2,6 +2,14 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Fiasco configuration
|
||||
#
|
||||
CONFIG_HAS_VIRT_OBJ_SPACE_OPTION=y
|
||||
CONFIG_HAS_SERIAL_OPTION=y
|
||||
CONFIG_HAS_WATCHDOG_OPTION=y
|
||||
CONFIG_HAS_JDB_DISASM_OPTION=y
|
||||
CONFIG_HAS_JDB_GZIP_OPTION=y
|
||||
CONFIG_HAS_IOMMU_OPTION=y
|
||||
CONFIG_HAS_MP_OPTION=y
|
||||
CONFIG_HAS_CPU_VIRT=y
|
||||
|
||||
#
|
||||
# Target configuration
|
||||
@@ -9,6 +17,7 @@
|
||||
CONFIG_IA32=y
|
||||
# CONFIG_AMD64 is not set
|
||||
# CONFIG_ARM is not set
|
||||
# CONFIG_MIPS is not set
|
||||
CONFIG_PF_PC=y
|
||||
# CONFIG_PF_UX is not set
|
||||
CONFIG_ABI_VF=y
|
||||
@@ -20,6 +29,7 @@ CONFIG_IA32_586=y
|
||||
# CONFIG_IA32_P4 is not set
|
||||
# CONFIG_IA32_PM is not set
|
||||
# CONFIG_IA32_CORE2 is not set
|
||||
# CONFIG_IA32_CORE_I is not set
|
||||
# CONFIG_IA32_ATOM is not set
|
||||
# CONFIG_IA32_K6 is not set
|
||||
# CONFIG_IA32_K7 is not set
|
||||
@@ -35,10 +45,12 @@ CONFIG_REGPARM3=y
|
||||
#
|
||||
CONFIG_MP=y
|
||||
CONFIG_MP_MAX_CPUS=4
|
||||
# CONFIG_CONTEXT_8K is not set
|
||||
CONFIG_CONTEXT_4K=y
|
||||
# CONFIG_SYNC_TSC is not set
|
||||
# CONFIG_FINE_GRAINED_CPUTIME is not set
|
||||
CONFIG_SCHED_FIXED_PRIO=y
|
||||
# CONFIG_IOMMU is not set
|
||||
CONFIG_VIRT_OBJ_SPACE=y
|
||||
|
||||
#
|
||||
@@ -46,7 +58,7 @@ CONFIG_VIRT_OBJ_SPACE=y
|
||||
#
|
||||
CONFIG_INLINE=y
|
||||
# CONFIG_NDEBUG is not set
|
||||
CONFIG_NO_FRAME_PTR=y
|
||||
# CONFIG_NO_FRAME_PTR is not set
|
||||
# CONFIG_STACK_DEPTH is not set
|
||||
# CONFIG_LIST_ALLOC_SANITY is not set
|
||||
# CONFIG_BEFORE_IRET_SANITY is not set
|
||||
@@ -60,7 +72,6 @@ CONFIG_JDB_GZIP=y
|
||||
# CONFIG_JDB_ACCOUNTING is not set
|
||||
# CONFIG_JDB_MISC is not set
|
||||
CONFIG_POWERSAVE_GETCHAR=y
|
||||
CONFIG_USER_SINGLE_STEP=y
|
||||
# CONFIG_WARN_NONE is not set
|
||||
CONFIG_WARN_WARNING=y
|
||||
# CONFIG_WARN_ANY is not set
|
||||
|
||||
@@ -2,14 +2,17 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# L4Re Configuration
|
||||
#
|
||||
CONFIG_BUILD_ARCH_x86=y
|
||||
CONFIG_ARCH_ENABLE_STACK_PROTECTOR=y
|
||||
# CONFIG_BUILD_ARCH_amd64 is not set
|
||||
# CONFIG_BUILD_ARCH_arm is not set
|
||||
# CONFIG_BUILD_ARCH_mips is not set
|
||||
# CONFIG_BUILD_ARCH_ppc32 is not set
|
||||
# CONFIG_BUILD_ARCH_sparc is not set
|
||||
CONFIG_BUILD_ARCH_x86=y
|
||||
CONFIG_BUILD_ARCH="x86"
|
||||
CONFIG_BUILD_ABI_l4f=y
|
||||
CONFIG_BUILD_ABI="l4f"
|
||||
CONFIG_CPU="586"
|
||||
CONFIG_CPU_X86_586=y
|
||||
# CONFIG_CPU_X86_PENTIUM is not set
|
||||
# CONFIG_CPU_X86_PENTIUMMMX is not set
|
||||
@@ -28,8 +31,6 @@ CONFIG_CPU_X86_586=y
|
||||
# CONFIG_CPU_X86_K8 is not set
|
||||
# CONFIG_CPU_X86_K10 is not set
|
||||
# CONFIG_CPU_X86_OPTERON is not set
|
||||
CONFIG_CPU="586"
|
||||
# CONFIG_PLATFORM_TYPE_imx53 is not set
|
||||
CONFIG_PLATFORM_TYPE_pc=y
|
||||
# CONFIG_PLATFORM_TYPE_custom is not set
|
||||
CONFIG_PLATFORM_TYPE="pc"
|
||||
@@ -51,7 +52,7 @@ CONFIG_INT_CPP_NAME_SWITCH=y
|
||||
CONFIG_INT_LD_NAME_SWITCH=y
|
||||
# CONFIG_BID_STRIP_PROGS is not set
|
||||
# CONFIG_BID_GCC_OMIT_FP is not set
|
||||
# CONFIG_BID_GENERATE_MAPFILE is not set
|
||||
# CONFIG_BID_GCC_ENABLE_STACK_PROTECTOR is not set
|
||||
# CONFIG_BID_BUILD_DOC is not set
|
||||
# CONFIG_RELEASE_MODE is not set
|
||||
CONFIG_MAKECONFS_ADD=""
|
||||
|
||||
@@ -2,6 +2,14 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Fiasco configuration
|
||||
#
|
||||
CONFIG_HAS_VIRT_OBJ_SPACE_OPTION=y
|
||||
CONFIG_HAS_SERIAL_OPTION=y
|
||||
CONFIG_HAS_WATCHDOG_OPTION=y
|
||||
CONFIG_HAS_JDB_DISASM_OPTION=y
|
||||
CONFIG_HAS_JDB_GZIP_OPTION=y
|
||||
CONFIG_HAS_IOMMU_OPTION=y
|
||||
CONFIG_HAS_MP_OPTION=y
|
||||
CONFIG_HAS_CPU_VIRT=y
|
||||
|
||||
#
|
||||
# Target configuration
|
||||
@@ -9,10 +17,12 @@
|
||||
# CONFIG_IA32 is not set
|
||||
CONFIG_AMD64=y
|
||||
# CONFIG_ARM is not set
|
||||
# CONFIG_MIPS is not set
|
||||
CONFIG_PF_PC=y
|
||||
CONFIG_ABI_VF=y
|
||||
CONFIG_AMD64_K8=y
|
||||
# CONFIG_AMD64_K8 is not set
|
||||
# CONFIG_AMD64_CORE2 is not set
|
||||
CONFIG_AMD64_CORE_I=y
|
||||
# CONFIG_AMD64_ATOM is not set
|
||||
# CONFIG_AMD64_K10 is not set
|
||||
# CONFIG_CPU_VIRT is not set
|
||||
@@ -24,11 +34,13 @@ CONFIG_SCHED_APIC=y
|
||||
#
|
||||
CONFIG_MP=y
|
||||
CONFIG_MP_MAX_CPUS=4
|
||||
CONFIG_CONTEXT_4K=y
|
||||
CONFIG_CONTEXT_8K=y
|
||||
# CONFIG_SYNC_TSC is not set
|
||||
# CONFIG_FINE_GRAINED_CPUTIME is not set
|
||||
CONFIG_SCHED_FIXED_PRIO=y
|
||||
# CONFIG_SCHED_WFQ is not set
|
||||
# CONFIG_SCHED_FP_WFQ is not set
|
||||
# CONFIG_IOMMU is not set
|
||||
# CONFIG_DISABLE_VIRT_OBJ_SPACE is not set
|
||||
CONFIG_VIRT_OBJ_SPACE=y
|
||||
|
||||
@@ -48,6 +60,7 @@ CONFIG_JDB=y
|
||||
CONFIG_JDB_LOGGING=y
|
||||
CONFIG_JDB_DISASM=y
|
||||
CONFIG_JDB_GZIP=y
|
||||
# CONFIG_JDB_ACCOUNTING is not set
|
||||
CONFIG_JDB_MISC=y
|
||||
CONFIG_POWERSAVE_GETCHAR=y
|
||||
# CONFIG_WARN_NONE is not set
|
||||
@@ -68,5 +81,5 @@ CONFIG_PERF_CNT=y
|
||||
CONFIG_BIT64=y
|
||||
CONFIG_WARN_LEVEL=1
|
||||
CONFIG_XARCH="amd64"
|
||||
CONFIG_IA32_TARGET="AMD Opteron"
|
||||
CONFIG_IA32_TARGET="Intel Core-i"
|
||||
CONFIG_ABI="vf"
|
||||
|
||||
@@ -2,19 +2,20 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# L4Re Configuration
|
||||
#
|
||||
# CONFIG_BUILD_ARCH_x86 is not set
|
||||
CONFIG_ARCH_ENABLE_STACK_PROTECTOR=y
|
||||
CONFIG_BUILD_ARCH_amd64=y
|
||||
# CONFIG_BUILD_ARCH_arm is not set
|
||||
# CONFIG_BUILD_ARCH_mips is not set
|
||||
# CONFIG_BUILD_ARCH_ppc32 is not set
|
||||
# CONFIG_BUILD_ARCH_sparc is not set
|
||||
# CONFIG_BUILD_ARCH_x86 is not set
|
||||
CONFIG_BUILD_ARCH="amd64"
|
||||
CONFIG_BUILD_ABI_l4f=y
|
||||
CONFIG_BUILD_ABI="l4f"
|
||||
CONFIG_CPU="K8"
|
||||
CONFIG_CPU_X86_K8=y
|
||||
# CONFIG_CPU_X86_K10 is not set
|
||||
# CONFIG_CPU_X86_OPTERON is not set
|
||||
CONFIG_CPU="K8"
|
||||
# CONFIG_PLATFORM_TYPE_imx53 is not set
|
||||
CONFIG_PLATFORM_TYPE_pc=y
|
||||
# CONFIG_PLATFORM_TYPE_custom is not set
|
||||
CONFIG_PLATFORM_TYPE="pc"
|
||||
@@ -36,7 +37,9 @@ CONFIG_INT_CPP_NAME_SWITCH=y
|
||||
CONFIG_INT_LD_NAME_SWITCH=y
|
||||
# CONFIG_BID_STRIP_PROGS is not set
|
||||
# CONFIG_BID_GCC_OMIT_FP is not set
|
||||
# CONFIG_BID_GENERATE_MAPFILE is not set
|
||||
CONFIG_BID_GCC_ENABLE_STACK_PROTECTOR=y
|
||||
# CONFIG_BID_GCC_STACK_PROTECTOR_ALL is not set
|
||||
CONFIG_BID_GCC_STACK_PROTECTOR=y
|
||||
# CONFIG_BID_BUILD_DOC is not set
|
||||
# CONFIG_RELEASE_MODE is not set
|
||||
CONFIG_MAKECONFS_ADD=""
|
||||
|
||||
@@ -29,13 +29,14 @@ namespace Fiasco {
|
||||
TASK_CAP = L4_BASE_TASK_CAP, /* use the same task cap selector
|
||||
like L4Re for compatibility in
|
||||
L4Linux */
|
||||
DEBUG_CAP = L4_BASE_DEBUGGER_CAP,
|
||||
|
||||
/*
|
||||
* To not clash with other L4Re cap selector constants (e.g.: L4Linux)
|
||||
* leave the following selectors (2-7) empty
|
||||
* leave the following selectors (2-8) empty
|
||||
*/
|
||||
|
||||
PARENT_CAP = 0x8UL << L4_CAP_SHIFT, /* cap to parent session */
|
||||
PARENT_CAP = 0xbUL << L4_CAP_SHIFT, /* cap to parent session */
|
||||
|
||||
/*
|
||||
* Each thread has a designated slot in the core controlled cap
|
||||
@@ -43,7 +44,7 @@ namespace Fiasco {
|
||||
* its irq capability (for locks), and the capability to its pager
|
||||
* gate are stored
|
||||
*/
|
||||
THREAD_AREA_BASE = 0x9UL << L4_CAP_SHIFT, /* offset to thread area */
|
||||
THREAD_AREA_BASE = 0xcUL << L4_CAP_SHIFT, /* offset to thread area */
|
||||
THREAD_AREA_SLOT = 0x3UL << L4_CAP_SHIFT, /* size of one thread slot */
|
||||
THREAD_GATE_CAP = 0, /* offset to the ipc gate
|
||||
cap selector in the slot */
|
||||
|
||||
@@ -26,15 +26,9 @@ struct Genode::Foc_native_cpu_client : Rpc_client<Foc_native_cpu>
|
||||
explicit Foc_native_cpu_client(Capability<Native_cpu> cap)
|
||||
: Rpc_client<Foc_native_cpu>(static_cap_cast<Foc_native_cpu>(cap)) { }
|
||||
|
||||
void enable_vcpu(Thread_capability cap, addr_t vcpu_state) override {
|
||||
call<Rpc_enable_vcpu>(cap, vcpu_state); }
|
||||
|
||||
Native_capability native_cap(Thread_capability cap) override {
|
||||
return call<Rpc_native_cap>(cap); }
|
||||
|
||||
Native_capability alloc_irq() override {
|
||||
return call<Rpc_alloc_irq>(); }
|
||||
|
||||
Foc_thread_state thread_state(Thread_capability cap) override {
|
||||
return call<Rpc_thread_state>(cap); }
|
||||
};
|
||||
|
||||
@@ -24,9 +24,7 @@ namespace Genode { struct Foc_native_cpu; }
|
||||
|
||||
struct Genode::Foc_native_cpu : Cpu_session::Native_cpu
|
||||
{
|
||||
virtual void enable_vcpu(Thread_capability cap, addr_t vcpu_state) = 0;
|
||||
virtual Native_capability native_cap(Thread_capability) = 0;
|
||||
virtual Native_capability alloc_irq() = 0;
|
||||
virtual Foc_thread_state thread_state(Thread_capability) = 0;
|
||||
|
||||
|
||||
@@ -34,12 +32,10 @@ struct Genode::Foc_native_cpu : Cpu_session::Native_cpu
|
||||
** RPC declaration **
|
||||
*********************/
|
||||
|
||||
GENODE_RPC(Rpc_enable_vcpu, void, enable_vcpu, Thread_capability, addr_t);
|
||||
GENODE_RPC(Rpc_native_cap, Native_capability, native_cap, Thread_capability);
|
||||
GENODE_RPC(Rpc_alloc_irq, Native_capability, alloc_irq);
|
||||
GENODE_RPC(Rpc_thread_state, Foc_thread_state, thread_state, Thread_capability);
|
||||
|
||||
GENODE_RPC_INTERFACE(Rpc_enable_vcpu, Rpc_native_cap, Rpc_alloc_irq, Rpc_thread_state);
|
||||
GENODE_RPC_INTERFACE(Rpc_native_cap, Rpc_thread_state);
|
||||
};
|
||||
|
||||
#endif /* _INCLUDE__FOC_NATIVE_CPU__FOC_NATIVE_CPU_H_ */
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
/*
|
||||
* \brief Client-side Fiasco.OC specific PD session interface
|
||||
* \author Stefan Kalkowski
|
||||
* \author Norman Feske
|
||||
* \date 2011-04-14
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011-2017 Genode Labs GmbH
|
||||
*
|
||||
* This file is part of the Genode OS framework, which is distributed
|
||||
* under the terms of the GNU Affero General Public License version 3.
|
||||
*/
|
||||
|
||||
#ifndef _INCLUDE__FOC_NATIVE_PD__CLIENT_H_
|
||||
#define _INCLUDE__FOC_NATIVE_PD__CLIENT_H_
|
||||
|
||||
#include <foc_native_pd/foc_native_pd.h>
|
||||
#include <base/rpc_client.h>
|
||||
|
||||
namespace Genode { struct Foc_native_pd_client; }
|
||||
|
||||
|
||||
struct Genode::Foc_native_pd_client : Rpc_client<Foc_native_pd>
|
||||
{
|
||||
explicit Foc_native_pd_client(Capability<Native_pd> cap)
|
||||
: Rpc_client<Foc_native_pd>(static_cap_cast<Foc_native_pd>(cap)) { }
|
||||
|
||||
Native_capability task_cap() { return call<Rpc_task_cap>(); }
|
||||
};
|
||||
|
||||
#endif /* _INCLUDE__FOC_NATIVE_PD__CLIENT_H_ */
|
||||
@@ -1,33 +0,0 @@
|
||||
/*
|
||||
* \brief Fiasco.OC-specific part of the PD session interface
|
||||
* \author Stefan Kalkowski
|
||||
* \author Norman Feske
|
||||
* \date 2011-04-14
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011-2017 Genode Labs GmbH
|
||||
*
|
||||
* This file is part of the Genode OS framework, which is distributed
|
||||
* under the terms of the GNU Affero General Public License version 3.
|
||||
*/
|
||||
|
||||
#ifndef _INCLUDE__FOC_NATIVE_PD__FOC_NATIVE_PD_H_
|
||||
#define _INCLUDE__FOC_NATIVE_PD__FOC_NATIVE_PD_H_
|
||||
|
||||
#include <base/capability.h>
|
||||
#include <base/rpc.h>
|
||||
#include <pd_session/pd_session.h>
|
||||
|
||||
namespace Genode { struct Foc_native_pd; }
|
||||
|
||||
|
||||
struct Genode::Foc_native_pd : Pd_session::Native_pd
|
||||
{
|
||||
virtual Native_capability task_cap() = 0;
|
||||
|
||||
GENODE_RPC(Rpc_task_cap, Native_capability, task_cap);
|
||||
GENODE_RPC_INTERFACE(Rpc_task_cap);
|
||||
};
|
||||
|
||||
#endif /* _INCLUDE__FOC_NATIVE_PD__FOC_NATIVE_PD_H_ */
|
||||
@@ -9,7 +9,6 @@ include $(BASE_DIR)/lib/mk/base-common.inc
|
||||
LIBS += syscall-foc startup-foc
|
||||
|
||||
SRC_CC += spin_lock.cc cap_map.cc
|
||||
SRC_CC += signal_submit.cc
|
||||
SRC_CC += rpc_dispatch_loop.cc
|
||||
SRC_CC += thread.cc thread_bootstrap.cc thread_myself.cc utcb.cc
|
||||
SRC_CC += capability.cc
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
include $(BASE_DIR)/lib/mk/base.inc
|
||||
|
||||
LIBS += base-foc-common syscall-foc cxx
|
||||
LIBS += base-foc-common syscall-foc cxx timeout
|
||||
|
||||
SRC_CC += cap_map_remove.cc cap_alloc.cc
|
||||
SRC_CC += thread_start.cc
|
||||
SRC_CC += signal_transmitter.cc signal.cc
|
||||
|
||||
@@ -19,22 +19,23 @@ SRC_CC += stack_area.cc \
|
||||
main.cc \
|
||||
pager.cc \
|
||||
pager_object.cc \
|
||||
pd_session_component.cc \
|
||||
pd_assign_pci.cc \
|
||||
pd_upgrade_ram_quota.cc \
|
||||
native_pd_component.cc \
|
||||
native_cpu_component.cc \
|
||||
rpc_cap_factory.cc \
|
||||
platform.cc \
|
||||
platform_pd.cc \
|
||||
platform_services.cc \
|
||||
platform_thread.cc \
|
||||
ram_session_component.cc \
|
||||
ram_session_support.cc \
|
||||
pd_session_component.cc \
|
||||
ram_dataspace_support.cc \
|
||||
ram_dataspace_factory.cc \
|
||||
region_map_component.cc \
|
||||
region_map_support.cc \
|
||||
rom_session_component.cc \
|
||||
signal_source_component.cc \
|
||||
signal_transmitter_proxy.cc \
|
||||
signal_receiver.cc \
|
||||
thread_start.cc \
|
||||
trace_session_component.cc
|
||||
|
||||
@@ -55,13 +56,15 @@ vpath default_log.cc $(GEN_CORE_DIR)
|
||||
vpath io_mem_session_component.cc $(GEN_CORE_DIR)
|
||||
vpath io_mem_session_support.cc $(GEN_CORE_DIR)
|
||||
vpath main.cc $(GEN_CORE_DIR)
|
||||
vpath pd_session_component.cc $(GEN_CORE_DIR)
|
||||
vpath pd_assign_pci.cc $(GEN_CORE_DIR)
|
||||
vpath pd_upgrade_ram_quota.cc $(GEN_CORE_DIR)
|
||||
vpath ram_session_component.cc $(GEN_CORE_DIR)
|
||||
vpath pd_session_component.cc $(GEN_CORE_DIR)
|
||||
vpath region_map_component.cc $(GEN_CORE_DIR)
|
||||
vpath rom_session_component.cc $(GEN_CORE_DIR)
|
||||
vpath trace_session_component.cc $(GEN_CORE_DIR)
|
||||
vpath ram_dataspace_factory.cc $(GEN_CORE_DIR)
|
||||
vpath signal_transmitter_proxy.cc $(GEN_CORE_DIR)
|
||||
vpath signal_receiver.cc $(GEN_CORE_DIR)
|
||||
vpath core_rpc_cap_alloc.cc $(GEN_CORE_DIR)
|
||||
vpath core_region_map.cc $(GEN_CORE_DIR)
|
||||
vpath %.cc $(REP_DIR)/src/core
|
||||
|
||||
@@ -8,13 +8,15 @@ MAKEOVERRIDES := $(filter-out KERNEL=%,$(MAKEOVERRIDES))
|
||||
unexport KERNEL
|
||||
|
||||
$(FOC_BUILD_DIR):
|
||||
$(VERBOSE_MK) $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
|
||||
$(VERBOSE_MK) set -o pipefail; \
|
||||
$(MAKE) CROSS_COMPILE="$(CROSS_DEV_PREFIX)" \
|
||||
$(VERBOSE_DIR) -C $(FOC_SRC) BUILDDIR=$@ \
|
||||
$(KERNEL_BUILD_OUTPUT_FILTER)
|
||||
$(VERBOSE)cp $(KERNEL_CONFIG) $@/globalconfig.out
|
||||
|
||||
$(FOC): $(FOC_BUILD_DIR)
|
||||
$(VERBOSE_MK) $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
|
||||
$(VERBOSE_MK) set -o pipefail; \
|
||||
$(MAKE) CROSS_COMPILE="$(CROSS_DEV_PREFIX)" \
|
||||
CC="$(CC)" CXX="$(CXX)" \
|
||||
$(VERBOSE_DIR) -C $(FOC_BUILD_DIR) \
|
||||
$(KERNEL_BUILD_OUTPUT_FILTER)
|
||||
@@ -29,16 +31,25 @@ $(FOC): $(FOC_BUILD_DIR)
|
||||
|
||||
LIBS += syscall-foc
|
||||
|
||||
PKGS := uclibc-headers \
|
||||
uclibc-minimal \
|
||||
l4util \
|
||||
cxx \
|
||||
sigma0 \
|
||||
PKGS := l4re-core/crtn \
|
||||
l4re-core/uclibc-headers \
|
||||
l4re-core/l4util \
|
||||
l4re-core/cxx \
|
||||
l4re-core/uclibc-minimal \
|
||||
l4re-core/libstdc++-headers \
|
||||
l4re-core/sigma0 \
|
||||
drivers-frst/include drivers-frst/of drivers-frst/uart \
|
||||
bootstrap
|
||||
|
||||
L4_BUILD_DIR := $(LIB_CACHE_DIR)/syscall-foc/build
|
||||
|
||||
#
|
||||
# Supress several warnings especially of the uclibc-minimal
|
||||
#
|
||||
WARNINGS += -Wno-cpp -Wno-nonnull-compare -Wno-shift-overflow \
|
||||
-Wno-unused-but-set-variable -Wno-maybe-uninitialized \
|
||||
-Wno-unused-value -Wno-deprecated-declarations -Wno-attributes
|
||||
|
||||
include $(REP_DIR)/lib/mk/l4_pkg.inc
|
||||
|
||||
#
|
||||
|
||||
@@ -28,7 +28,7 @@ ifeq ($(L4_BUILD_ARCH),)
|
||||
$(error L4_BUILD_ARCH undefined, architecture not supported)
|
||||
endif
|
||||
|
||||
L4_BUILD_OPT = SYSTEM_TARGET=$(CROSS_DEV_PREFIX)
|
||||
L4_BUILD_OPT = CROSS_COMPILE=$(CROSS_DEV_PREFIX)
|
||||
L4_PKG_DIR := $(call select_from_ports,foc)/src/kernel/foc/l4/pkg
|
||||
PKG_TAGS = $(addsuffix .tag,$(PKGS))
|
||||
|
||||
@@ -50,7 +50,8 @@ endif
|
||||
.NOTPARALLEL: $(PKG_TAGS)
|
||||
|
||||
%.tag:
|
||||
$(VERBOSE_MK) $(MAKE) $(VERBOSE_DIR) O=$(L4_BUILD_DIR) -C $(L4_PKG_DIR)/$* \
|
||||
"$(L4_BUILD_OPT)" $(BUILD_OUTPUT_FILTER)
|
||||
$(VERBOSE_MK) set -o pipefail; \
|
||||
$(MAKE) $(VERBOSE_DIR) O=$(L4_BUILD_DIR) -C $(L4_PKG_DIR)/$* \
|
||||
"$(L4_BUILD_OPT)" WARNINGS=$(WARNINGS) $(BUILD_OUTPUT_FILTER)
|
||||
$(VERBOSE)mkdir -p $(dir $@) && touch $@
|
||||
|
||||
|
||||
@@ -10,9 +10,9 @@ SRC_C += utcb.c
|
||||
SRC_S += atomic_ops_s.S
|
||||
|
||||
utcb.c:
|
||||
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4sys/lib/src/utcb.c
|
||||
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4re-core/l4sys/lib/src/utcb.c
|
||||
|
||||
atomic_ops_s.S:
|
||||
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4sys/lib/src/ARCH-arm/atomic_ops_s.S
|
||||
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4re-core/l4sys/lib/src/ARCH-arm/atomic_ops_s.S
|
||||
|
||||
utcb.c atomic_ops_s.S: $(PKG_TAGS)
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
L4_CONFIG := $(call select_from_repositories,config/arndale.user)
|
||||
|
||||
L4_BIN_DIR := $(LIB_CACHE_DIR)/syscall-foc/build/bin/arm_armv7a
|
||||
|
||||
include $(REP_DIR)/lib/mk/spec/arm/syscall-foc.inc
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
KERNEL_CONFIG := $(REP_DIR)/config/imx53.kernel
|
||||
|
||||
include $(REP_DIR)/lib/mk/kernel-foc.inc
|
||||
@@ -1,3 +0,0 @@
|
||||
L4_CONFIG := $(call select_from_repositories,config/imx53.user)
|
||||
|
||||
include $(REP_DIR)/lib/mk/spec/arm/syscall-foc.inc
|
||||
@@ -1,3 +1,5 @@
|
||||
L4_CONFIG := $(call select_from_repositories,config/odroid_x2.user)
|
||||
|
||||
L4_BIN_DIR := $(LIB_CACHE_DIR)/syscall-foc/build/bin/arm_armv7a
|
||||
|
||||
include $(REP_DIR)/lib/mk/spec/arm/syscall-foc.inc
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
L4_CONFIG := $(call select_from_repositories,config/panda.user)
|
||||
|
||||
L4_BIN_DIR := $(LIB_CACHE_DIR)/syscall-foc/build/bin/arm_armv7a
|
||||
|
||||
include $(REP_DIR)/lib/mk/spec/arm/syscall-foc.inc
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
L4_CONFIG := $(call select_from_repositories,config/pbxa9.user)
|
||||
|
||||
L4_BIN_DIR := $(LIB_CACHE_DIR)/syscall-foc/build/bin/arm_armv7a
|
||||
|
||||
include $(REP_DIR)/lib/mk/spec/arm/syscall-foc.inc
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
L4_CONFIG := $(call select_from_repositories,config/rpi.user)
|
||||
|
||||
L4_BIN_DIR := $(LIB_CACHE_DIR)/syscall-foc/build/bin/arm_armv6
|
||||
|
||||
include $(REP_DIR)/lib/mk/spec/arm/syscall-foc.inc
|
||||
|
||||
@@ -4,9 +4,9 @@ SRC_S += syscalls_direct.S
|
||||
include $(REP_DIR)/lib/mk/syscall-foc.inc
|
||||
|
||||
utcb.c:
|
||||
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4sys/lib/src/utcb.c
|
||||
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4re-core/l4sys/lib/src/utcb.c
|
||||
|
||||
syscalls_direct.S:
|
||||
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4sys/lib/src/ARCH-x86/syscalls_direct.S
|
||||
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4re-core/l4sys/lib/src/ARCH-x86/syscalls_direct.S
|
||||
|
||||
utcb.c syscalls_direct.S: $(PKG_TAGS)
|
||||
|
||||
@@ -4,6 +4,8 @@ L4_INC_TARGETS := x86/l4/sys x86/l4f/l4/sys x86/l4/vcpu
|
||||
|
||||
CC_OPT += -Iinclude/x86
|
||||
|
||||
L4_BIN_DIR := $(LIB_CACHE_DIR)/syscall-foc/build/bin/x86_586
|
||||
|
||||
include $(REP_DIR)/lib/mk/spec/x86/syscall-foc.inc
|
||||
|
||||
vpath syscalls_direct.S $(L4_PKG_DIR)/l4sys/lib/src/ARCH-x86
|
||||
|
||||
@@ -4,4 +4,6 @@ L4_INC_TARGETS := amd64/l4/sys amd64/l4f/l4/sys amd64/l4/vcpu
|
||||
|
||||
CC_OPT += -Iinclude/amd64
|
||||
|
||||
L4_BIN_DIR := $(LIB_CACHE_DIR)/syscall-foc/build/bin/amd64_K8
|
||||
|
||||
include $(REP_DIR)/lib/mk/spec/x86/syscall-foc.inc
|
||||
|
||||
@@ -36,17 +36,17 @@ CC_OPT += -DL4SYS_USE_UTCB_WRAP=1
|
||||
# build system will stuble over predefined variables, i.e., 'LIB'
|
||||
#
|
||||
$(L4_BUILD_DIR)/.kconfig:
|
||||
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) $(VERBOSE_DIR) -C $(L4_SRC_DIR)/l4 \
|
||||
$(VERBOSE_MK) set -o pipefail; \
|
||||
MAKEFLAGS= $(MAKE) $(VERBOSE_DIR) -C $(L4_SRC_DIR)/l4 \
|
||||
B=$(L4_BUILD_DIR) DROPSCONF_DEFCONFIG="$(L4_CONFIG)" \
|
||||
VERBOSE="$(VERBOSE)" SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
|
||||
VERBOSE="$(VERBOSE)" CROSS_COMPILE="$(CROSS_DEV_PREFIX)" \
|
||||
2>&1 | sed "s/^/ [l4build] /"
|
||||
|
||||
PKGS := ldscripts \
|
||||
libgcc-pure \
|
||||
l4sys \
|
||||
libgcc \
|
||||
libsigma0 \
|
||||
libvcpu/include
|
||||
PKGS := l4re-core/ldscripts \
|
||||
l4re-core/libgcc-pure \
|
||||
l4re-core/l4sys \
|
||||
l4re-core/libgcc \
|
||||
l4re-core/libsigma0
|
||||
|
||||
include $(REP_DIR)/lib/mk/l4_pkg.inc
|
||||
|
||||
@@ -57,3 +57,21 @@ $(PKG_TAGS): $(addprefix include/,$(L4_INC_TARGETS))
|
||||
# Compile 'syscall-foc.lib.a' not before the 'PKGS' are completely built
|
||||
#
|
||||
$(SRC_S) $(SRC_C) : $(PKG_TAGS)
|
||||
|
||||
#
|
||||
# Install sigma0 and bootstap to <build-dir>/bin such that the binaries will be
|
||||
# included in the depot's base-foc binary archives.
|
||||
#
|
||||
ifneq ($(INSTALL_DIR),)
|
||||
all: $(INSTALL_DIR)/sigma0-foc $(INSTALL_DIR)/bootstrap-foc
|
||||
|
||||
$(INSTALL_DIR)/sigma0-foc $(INSTALL_DIR)/bootstrap-foc: $(PKG_TAGS)
|
||||
|
||||
$(INSTALL_DIR)/sigma0-foc:
|
||||
$(VERBOSE)ln -sf $(L4_BIN_DIR)/l4f/sigma0 $@
|
||||
|
||||
$(INSTALL_DIR)/bootstrap-foc:
|
||||
$(VERBOSE)ln -sf $(L4_BIN_DIR)/bootstrap $@
|
||||
endif
|
||||
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
521140ea75494478740770721061509c6e7c6812
|
||||
db44371239ad6769073fae0a3f2bd0ff107c399d
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
LICENSE := GPLv2
|
||||
VERSION := git
|
||||
DOWNLOADS := foc.git
|
||||
URL(foc) := http://github.com/ssumpf/foc.git
|
||||
REV(foc) := 4e0373fe5e2ee179dde0eeb796cdf6918936e293
|
||||
URL(foc) := https://github.com/skalk/foc.git
|
||||
REV(foc) := c60f50987cdb2eb645caa63ab497f4f955256548
|
||||
DIR(foc) := src/kernel/foc
|
||||
|
||||
7
repos/base-foc/recipes/src/base-foc/README
Normal file
7
repos/base-foc/recipes/src/base-foc/README
Normal file
@@ -0,0 +1,7 @@
|
||||
This archive contains the Fiasco.OC-specific part of Genode.
|
||||
|
||||
It also contains the source code of the Fiasco.OC kernel in the
|
||||
'src/kernel/foc' directory.
|
||||
|
||||
Please note that Fiasco.OC has a license distinct from Genode. Fiasco.OC's
|
||||
license can be found at 'src/kernel/foc/COPYING-GPL-2'.
|
||||
49
repos/base-foc/recipes/src/base-foc/content.mk
Normal file
49
repos/base-foc/recipes/src/base-foc/content.mk
Normal file
@@ -0,0 +1,49 @@
|
||||
include $(GENODE_DIR)/repos/base/recipes/src/base_content.inc
|
||||
|
||||
FROM_BASE_FOC := include/foc include/foc_native_cpu include/foc_native_pd
|
||||
|
||||
content: $(FROM_BASE_FOC)
|
||||
|
||||
$(FROM_BASE_FOC):
|
||||
$(mirror_from_rep_dir)
|
||||
|
||||
|
||||
TIMER_SRC := main.cc target.inc foc include periodic fiasco
|
||||
|
||||
content: src/drivers/timer
|
||||
src/drivers/timer:
|
||||
mkdir -p $@
|
||||
cp -r $(addprefix $(GENODE_DIR)/repos/os/$@/,$(TIMER_SRC)) $@
|
||||
|
||||
content: include/spec/x86_32/trace/timestamp.h include/spec/x86_64/trace/timestamp.h
|
||||
|
||||
include/spec/%/trace/timestamp.h:
|
||||
mkdir -p $(dir $@)
|
||||
cp $(GENODE_DIR)/repos/os/$@ $@
|
||||
|
||||
|
||||
content: README
|
||||
README:
|
||||
cp $(REP_DIR)/recipes/src/base-foc/README $@
|
||||
|
||||
content: lib/import config etc
|
||||
lib/import config etc:
|
||||
$(mirror_from_rep_dir)
|
||||
|
||||
content: src/kernel/foc
|
||||
src/kernel:
|
||||
$(mirror_from_rep_dir)
|
||||
|
||||
KERNEL_PORT_DIR := $(call port_dir,$(REP_DIR)/ports/foc)
|
||||
|
||||
src/kernel/foc: src/kernel
|
||||
cp -r $(KERNEL_PORT_DIR)/src/kernel/foc/* $@
|
||||
|
||||
|
||||
content:
|
||||
for spec in x86_32 x86_64 arm; do \
|
||||
mv lib/mk/spec/$$spec/ld-foc.mk lib/mk/spec/$$spec/ld.mk; \
|
||||
done;
|
||||
sed -i "s/ld-foc/ld/" src/lib/ld/foc/target.mk
|
||||
sed -i "s/foc_timer_drv/timer/" src/drivers/timer/foc/target.mk
|
||||
|
||||
1
repos/base-foc/recipes/src/base-foc/hash
Normal file
1
repos/base-foc/recipes/src/base-foc/hash
Normal file
@@ -0,0 +1 @@
|
||||
2017-04-24 109db2ae66df71e2e1799b957870344d1a4b09ca
|
||||
1
repos/base-foc/recipes/src/base-foc/used_apis
Normal file
1
repos/base-foc/recipes/src/base-foc/used_apis
Normal file
@@ -0,0 +1 @@
|
||||
base
|
||||
@@ -6,7 +6,6 @@ install_config {
|
||||
<config>
|
||||
<parent-provides>
|
||||
<service name="ROM"/>
|
||||
<service name="RAM"/>
|
||||
<service name="CPU"/>
|
||||
<service name="RM"/>
|
||||
<service name="PD"/>
|
||||
@@ -23,7 +22,7 @@ install_config {
|
||||
|
||||
build_boot_image "core ld.lib.so init test-cap_integrity"
|
||||
|
||||
append qemu_args "-nographic -m 64"
|
||||
append qemu_args "-nographic "
|
||||
|
||||
# increase expect buffer size, since there might be many log messages
|
||||
match_max -d 100000
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
LIBS = core-foc
|
||||
LIBS := core-foc
|
||||
CORE_OBJ := core-foc.o
|
||||
|
||||
include $(BASE_DIR)/src/core/target.inc
|
||||
|
||||
@@ -124,11 +124,11 @@ namespace Genode {
|
||||
}
|
||||
|
||||
|
||||
static inline void unmap_local(addr_t local_base, size_t num_pages)
|
||||
static inline void unmap_local(addr_t const local_base, size_t const num_pages)
|
||||
{
|
||||
using namespace Fiasco;
|
||||
|
||||
size_t size = num_pages << get_page_size_log2();
|
||||
size_t const size = num_pages << get_page_size_log2();
|
||||
addr_t addr = local_base;
|
||||
|
||||
/*
|
||||
@@ -138,7 +138,8 @@ namespace Genode {
|
||||
l4_task_unmap(L4_BASE_TASK_CAP,
|
||||
l4_fpage(addr, L4_LOG2_PAGESIZE, L4_FPAGE_RW),
|
||||
L4_FP_OTHER_SPACES);
|
||||
l4_cache_dma_coherent(local_base, local_base + size);
|
||||
|
||||
l4_cache_dma_coherent(local_base, local_base + size);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -38,9 +38,7 @@ class Genode::Native_cpu_component : public Rpc_object<Foc_native_cpu,
|
||||
Native_cpu_component(Cpu_session_component &, char const *);
|
||||
~Native_cpu_component();
|
||||
|
||||
void enable_vcpu(Thread_capability, addr_t) override;
|
||||
Native_capability native_cap(Thread_capability) override;
|
||||
Native_capability alloc_irq() override;
|
||||
Foc_thread_state thread_state(Thread_capability) override;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
/*
|
||||
* \brief Kernel-specific part of the PD-session interface
|
||||
* \author Norman Feske
|
||||
* \date 2016-01-19
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2016-2017 Genode Labs GmbH
|
||||
*
|
||||
* This file is part of the Genode OS framework, which is distributed
|
||||
* under the terms of the GNU Affero General Public License version 3.
|
||||
*/
|
||||
|
||||
#ifndef _CORE__INCLUDE__NATIVE_PD_COMPONENT_H_
|
||||
#define _CORE__INCLUDE__NATIVE_PD_COMPONENT_H_
|
||||
|
||||
/* Genode includes */
|
||||
#include <foc_native_pd/foc_native_pd.h>
|
||||
|
||||
/* core-local includes */
|
||||
#include <rpc_cap_factory.h>
|
||||
|
||||
namespace Genode {
|
||||
|
||||
class Pd_session_component;
|
||||
class Native_pd_component;
|
||||
}
|
||||
|
||||
|
||||
class Genode::Native_pd_component : public Rpc_object<Foc_native_pd>
|
||||
{
|
||||
private:
|
||||
|
||||
Pd_session_component &_pd_session;
|
||||
|
||||
public:
|
||||
|
||||
Native_capability task_cap() override;
|
||||
|
||||
Native_pd_component(Pd_session_component &pd, char const *args);
|
||||
|
||||
~Native_pd_component();
|
||||
};
|
||||
|
||||
#endif /* _CORE__INCLUDE__NATIVE_PD_COMPONENT_H_ */
|
||||
@@ -158,6 +158,8 @@ namespace Genode {
|
||||
Rom_fs *rom_fs() { return &_rom_fs; }
|
||||
Affinity::Space affinity_space() const;
|
||||
|
||||
size_t max_caps() const override { return cap_idx_alloc()->max_caps(); }
|
||||
|
||||
void wait_for_exit();
|
||||
};
|
||||
}
|
||||
|
||||
@@ -57,6 +57,7 @@ namespace Genode {
|
||||
|
||||
Cap_mapping _task;
|
||||
Cap_mapping _parent;
|
||||
Cap_mapping _debug;
|
||||
Platform_thread *_threads[THREAD_MAX];
|
||||
|
||||
public:
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
/* Genode includes */
|
||||
#include <base/stdint.h>
|
||||
#include <base/log.h>
|
||||
#include <rm_session/rm_session.h>
|
||||
#include <util/touch.h>
|
||||
|
||||
@@ -28,27 +29,16 @@
|
||||
/* Fiasco includes */
|
||||
namespace Fiasco {
|
||||
#include <l4/sys/types.h>
|
||||
#include <l4/sys/kdebug.h>
|
||||
#include <l4/sys/ktrace.h>
|
||||
}
|
||||
|
||||
namespace Genode {
|
||||
|
||||
inline void log_event(const char *s)
|
||||
{
|
||||
Fiasco::fiasco_tbuf_log(s);
|
||||
}
|
||||
|
||||
inline void log_event(const char *s, unsigned v1, unsigned v2, unsigned v3)
|
||||
{
|
||||
Fiasco::fiasco_tbuf_log_3val(s, v1, v2, v3);
|
||||
}
|
||||
|
||||
inline void panic(const char *s)
|
||||
{
|
||||
using namespace Fiasco;
|
||||
outstring(s);
|
||||
enter_kdebug("> panic <");
|
||||
raw(s);
|
||||
raw("> panic <");
|
||||
while (1) ;
|
||||
}
|
||||
|
||||
inline void touch_ro(const void *addr, unsigned size)
|
||||
@@ -75,25 +65,10 @@ namespace Genode {
|
||||
touch_read_write(bptr);
|
||||
}
|
||||
|
||||
inline addr_t trunc_page(addr_t addr)
|
||||
{
|
||||
using namespace Fiasco;
|
||||
return l4_trunc_page(addr);
|
||||
}
|
||||
inline addr_t trunc_page(addr_t addr) { return Fiasco::l4_trunc_page(addr); }
|
||||
inline addr_t round_page(addr_t addr) { return Fiasco::l4_round_page(addr); }
|
||||
|
||||
inline addr_t round_page(addr_t addr)
|
||||
{
|
||||
using namespace Fiasco;
|
||||
return l4_round_page(addr);
|
||||
}
|
||||
|
||||
inline addr_t round_superpage(addr_t addr)
|
||||
{
|
||||
using namespace Fiasco;
|
||||
return (addr + L4_SUPERPAGESIZE-1) & L4_SUPERPAGEMASK;
|
||||
}
|
||||
|
||||
constexpr size_t get_super_page_size() { return L4_SUPERPAGESIZE; }
|
||||
constexpr size_t get_super_page_size() { return L4_SUPERPAGESIZE; }
|
||||
constexpr size_t get_super_page_size_log2() { return L4_LOG2_SUPERPAGESIZE; }
|
||||
|
||||
inline addr_t map_src_addr(addr_t core_local_addr, addr_t phys_addr) {
|
||||
|
||||
@@ -86,48 +86,48 @@ bool Genode::Irq_object::associate(unsigned irq, bool msi,
|
||||
Irq_session::Trigger trigger,
|
||||
Irq_session::Polarity polarity)
|
||||
{
|
||||
if (msi)
|
||||
/*
|
||||
* Local APIC address, See Intel x86 Spec - Section MSI 10.11.
|
||||
*
|
||||
* XXX local Apic ID encoding missing - address is constructed
|
||||
* assuming that local APIC id of boot CPU is 0 XXX
|
||||
*/
|
||||
_msi_addr = 0xfee00000UL;
|
||||
using namespace Fiasco;
|
||||
|
||||
_irq = irq;
|
||||
_trigger = trigger;
|
||||
_polarity = polarity;
|
||||
|
||||
using namespace Fiasco;
|
||||
if (msi) irq |= L4_ICU_FLAG_MSI;
|
||||
else
|
||||
/* set interrupt mode */
|
||||
Platform::setup_irq_mode(irq, _trigger, _polarity);
|
||||
|
||||
if (l4_error(l4_factory_create_irq(L4_BASE_FACTORY_CAP, _capability()))) {
|
||||
error("l4_factory_create_irq failed!");
|
||||
return false;
|
||||
}
|
||||
|
||||
unsigned long gsi = _irq;
|
||||
if (_msi_addr)
|
||||
gsi |= L4_ICU_FLAG_MSI;
|
||||
|
||||
if (l4_error(l4_icu_bind(L4_BASE_ICU_CAP, gsi, _capability()))) {
|
||||
if (l4_error(l4_icu_bind(L4_BASE_ICU_CAP, irq, _capability()))) {
|
||||
error("Binding IRQ ", _irq, " to the ICU failed");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!_msi_addr)
|
||||
/* set interrupt mode */
|
||||
Platform::setup_irq_mode(gsi, _trigger, _polarity);
|
||||
|
||||
if (l4_error(l4_irq_attach(_capability(), reinterpret_cast<l4_umword_t>(this),
|
||||
Interrupt_handler::handler_cap()))) {
|
||||
error("cannot attach to IRQ ", _irq);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (_msi_addr && l4_error(l4_icu_msi_info(L4_BASE_ICU_CAP, gsi,
|
||||
&_msi_data))) {
|
||||
error("cannot get MSI info");
|
||||
return false;
|
||||
if (msi) {
|
||||
/**
|
||||
* src_id represents bit 64-84 of the Interrupt Remap Table Entry Format
|
||||
* for Remapped Interrupts, reference section 9.10 of the
|
||||
* Intel ® Virtualization Technology for Directed I/O
|
||||
* Architecture Specification
|
||||
*/
|
||||
unsigned src_id = 0x0;
|
||||
Fiasco::l4_icu_msi_info_t info = l4_icu_msi_info_t();
|
||||
if (l4_error(l4_icu_msi_info(L4_BASE_ICU_CAP, irq,
|
||||
src_id, &info))) {
|
||||
error("cannot get MSI info");
|
||||
return false;
|
||||
}
|
||||
_msi_addr = info.msi_addr;
|
||||
_msi_data = info.msi_data;
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -161,14 +161,13 @@ Genode::Irq_object::~Irq_object()
|
||||
|
||||
using namespace Fiasco;
|
||||
|
||||
unsigned long gsi = _irq;
|
||||
if (_msi_addr)
|
||||
gsi |= L4_ICU_FLAG_MSI;
|
||||
unsigned long irq = _irq;
|
||||
if (_msi_addr) irq |= L4_ICU_FLAG_MSI;
|
||||
|
||||
if (l4_error(l4_irq_detach(_capability())))
|
||||
error("cannot detach IRQ");
|
||||
|
||||
if (l4_error(l4_icu_unbind(L4_BASE_ICU_CAP, gsi, _capability())))
|
||||
if (l4_error(l4_icu_unbind(L4_BASE_ICU_CAP, irq, _capability())))
|
||||
error("cannot unbind IRQ");
|
||||
|
||||
cap_map()->remove(_cap);
|
||||
@@ -182,27 +181,24 @@ Genode::Irq_object::~Irq_object()
|
||||
|
||||
Irq_session_component::Irq_session_component(Range_allocator *irq_alloc,
|
||||
const char *args)
|
||||
:
|
||||
_irq_number(~0U), _irq_alloc(irq_alloc)
|
||||
: _irq_number(Arg_string::find_arg(args, "irq_number").long_value(-1)),
|
||||
_irq_alloc(irq_alloc)
|
||||
{
|
||||
Irq_args const irq_args(args);
|
||||
|
||||
long msi = Arg_string::find_arg(args, "device_config_phys").long_value(0);
|
||||
if (msi) {
|
||||
if (msi_alloc.get(irq_args.irq_number(), 1)) {
|
||||
error("unavailable MSI ", irq_args.irq_number(), " requested");
|
||||
throw Root::Unavailable();
|
||||
if (msi_alloc.get(_irq_number, 1)) {
|
||||
error("unavailable MSI ", _irq_number, " requested");
|
||||
throw Service_denied();
|
||||
}
|
||||
msi_alloc.set(irq_args.irq_number(), 1);
|
||||
msi_alloc.set(_irq_number, 1);
|
||||
} else {
|
||||
if (!irq_alloc || irq_alloc->alloc_addr(1, irq_args.irq_number()).error()) {
|
||||
error("unavailable IRQ ", irq_args.irq_number(), " requested");
|
||||
throw Root::Unavailable();
|
||||
if (!irq_alloc || irq_alloc->alloc_addr(1, _irq_number).error()) {
|
||||
error("unavailable IRQ ", _irq_number, " requested");
|
||||
throw Service_denied();
|
||||
}
|
||||
}
|
||||
|
||||
_irq_number = irq_args.irq_number();
|
||||
|
||||
Irq_args const irq_args(args);
|
||||
_irq_object.associate(_irq_number, msi, irq_args.trigger(),
|
||||
irq_args.polarity());
|
||||
}
|
||||
@@ -233,7 +229,7 @@ void Irq_session_component::sigh(Genode::Signal_context_capability cap)
|
||||
|
||||
Genode::Irq_session::Info Irq_session_component::info()
|
||||
{
|
||||
if (!_irq_object.msi_address() || !_irq_object.msi_value())
|
||||
if (!_irq_object.msi_address())
|
||||
return { .type = Genode::Irq_session::Info::Type::INVALID };
|
||||
|
||||
return {
|
||||
|
||||
@@ -25,28 +25,6 @@ namespace Fiasco {
|
||||
#include <l4/sys/factory.h>
|
||||
}
|
||||
|
||||
static Genode::Avl_tree<Genode::Cpu_session_irqs> _irq_tree;
|
||||
|
||||
|
||||
|
||||
void Genode::Native_cpu_component::enable_vcpu(Genode::Thread_capability thread_cap,
|
||||
Genode::addr_t vcpu_state)
|
||||
{
|
||||
using namespace Genode;
|
||||
using namespace Fiasco;
|
||||
|
||||
auto lambda = [&] (Cpu_thread_component *thread) {
|
||||
if (!thread) return;
|
||||
|
||||
l4_cap_idx_t tid = thread->platform_thread().thread().local.data()->kcap();
|
||||
|
||||
l4_msgtag_t tag = l4_thread_vcpu_control(tid, vcpu_state);
|
||||
if (l4_msgtag_has_error(tag))
|
||||
warning("l4_thread_vcpu_control failed");
|
||||
};
|
||||
_thread_ep.apply(thread_cap, lambda);
|
||||
}
|
||||
|
||||
|
||||
Genode::Native_capability
|
||||
Genode::Native_cpu_component::native_cap(Genode::Thread_capability cap)
|
||||
@@ -61,36 +39,6 @@ Genode::Native_cpu_component::native_cap(Genode::Thread_capability cap)
|
||||
}
|
||||
|
||||
|
||||
Genode::Native_capability Genode::Native_cpu_component::alloc_irq()
|
||||
{
|
||||
using namespace Fiasco;
|
||||
using namespace Genode;
|
||||
|
||||
/* find irq object container of this cpu-session */
|
||||
Cpu_session_irqs* node = _irq_tree.first();
|
||||
if (node)
|
||||
node = node->find_by_session(&_cpu_session);
|
||||
|
||||
/* if not found, we've to create one */
|
||||
if (!node) {
|
||||
node = new (&_cpu_session._md_alloc) Cpu_session_irqs(&_cpu_session);
|
||||
_irq_tree.insert(node);
|
||||
}
|
||||
|
||||
/* construct irq kernel-object */
|
||||
Cap_index* i = cap_map()->insert(platform_specific()->cap_id_alloc()->alloc());
|
||||
l4_msgtag_t res = l4_factory_create_irq(L4_BASE_FACTORY_CAP, i->kcap());
|
||||
if (l4_error(res)) {
|
||||
warning("Allocation of irq object failed!");
|
||||
return Genode::Native_capability();
|
||||
}
|
||||
|
||||
/* construct cap and hold a reference in the irq container object */
|
||||
Genode::Native_capability cap(*i);
|
||||
return (node->add(cap)) ? cap : Genode::Native_capability();
|
||||
}
|
||||
|
||||
|
||||
Genode::Foc_thread_state
|
||||
Genode::Native_cpu_component::thread_state(Genode::Thread_capability cap)
|
||||
{
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
/*
|
||||
* \brief Kernel-specific part of the PD-session interface
|
||||
* \author Norman Feske
|
||||
* \date 2016-01-19
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2016-2017 Genode Labs GmbH
|
||||
*
|
||||
* This file is part of the Genode OS framework, which is distributed
|
||||
* under the terms of the GNU Affero General Public License version 3.
|
||||
*/
|
||||
|
||||
#include <pd_session_component.h>
|
||||
#include <native_pd_component.h>
|
||||
|
||||
using namespace Genode;
|
||||
|
||||
|
||||
Native_capability Native_pd_component::task_cap()
|
||||
{
|
||||
return Native_capability(_pd_session._pd.native_task());
|
||||
}
|
||||
|
||||
|
||||
Native_pd_component::Native_pd_component(Pd_session_component &pd_session,
|
||||
char const *args)
|
||||
:
|
||||
_pd_session(pd_session)
|
||||
{
|
||||
_pd_session._thread_ep.manage(this);
|
||||
}
|
||||
|
||||
|
||||
Native_pd_component::~Native_pd_component()
|
||||
{
|
||||
_pd_session._thread_ep.dissolve(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
|
||||
/* core includes */
|
||||
#include <boot_modules.h>
|
||||
#include <core_parent.h>
|
||||
#include <platform.h>
|
||||
#include <platform_thread.h>
|
||||
#include <platform_pd.h>
|
||||
@@ -512,5 +511,3 @@ Affinity::Space Platform::affinity_space() const
|
||||
return Affinity::Space(cpus_online, 1);
|
||||
}
|
||||
|
||||
|
||||
void Core_parent::exit(int exit_value) { }
|
||||
|
||||
@@ -69,8 +69,10 @@ bool Platform_pd::bind_thread(Platform_thread *thread)
|
||||
thread->_irq.remote = cap_offset + THREAD_IRQ_CAP;
|
||||
|
||||
/* if it's no core-thread we have to map parent and pager gate cap */
|
||||
if (!thread->core_thread())
|
||||
if (!thread->core_thread()) {
|
||||
_task.map(_task.local.data()->kcap());
|
||||
_debug.map(_task.local.data()->kcap());
|
||||
}
|
||||
|
||||
/* inform thread about binding */
|
||||
thread->bind(this);
|
||||
@@ -105,6 +107,13 @@ void Platform_pd::assign_parent(Native_capability parent)
|
||||
}
|
||||
|
||||
|
||||
static Core_cap_index & debug_cap()
|
||||
{
|
||||
unsigned long id = platform_specific()->cap_id_alloc()->alloc();
|
||||
static Cap_index * idx = cap_map()->insert(id, DEBUG_CAP);
|
||||
return *reinterpret_cast<Core_cap_index*>(idx);
|
||||
}
|
||||
|
||||
Platform_pd::Platform_pd(Core_cap_index* i)
|
||||
: _task(Native_capability(*i), TASK_CAP)
|
||||
{
|
||||
@@ -114,7 +123,7 @@ Platform_pd::Platform_pd(Core_cap_index* i)
|
||||
|
||||
|
||||
Platform_pd::Platform_pd(Allocator *, char const *)
|
||||
: _task(true, TASK_CAP)
|
||||
: _task(true, TASK_CAP), _debug(debug_cap(), DEBUG_CAP)
|
||||
{
|
||||
for (unsigned i = 0; i < THREAD_MAX; i++)
|
||||
_threads[i] = (Platform_thread*) 0;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
/* core-local includes */
|
||||
#include <ram_session_component.h>
|
||||
#include <ram_dataspace_factory.h>
|
||||
#include <map_local.h>
|
||||
|
||||
namespace Fiasco {
|
||||
@@ -21,11 +21,11 @@ namespace Fiasco {
|
||||
|
||||
using namespace Genode;
|
||||
|
||||
void Ram_session_component::_export_ram_ds(Dataspace_component *ds) { }
|
||||
void Ram_session_component::_revoke_ram_ds(Dataspace_component *ds) { }
|
||||
void Ram_dataspace_factory::_export_ram_ds(Dataspace_component *ds) { }
|
||||
void Ram_dataspace_factory::_revoke_ram_ds(Dataspace_component *ds) { }
|
||||
|
||||
|
||||
void Ram_session_component::_clear_ds(Dataspace_component *ds)
|
||||
void Ram_dataspace_factory::_clear_ds(Dataspace_component *ds)
|
||||
{
|
||||
memset((void *)ds->phys_addr(), 0, ds->size());
|
||||
|
||||
@@ -134,6 +134,8 @@ namespace Genode {
|
||||
{
|
||||
construct_at<Cap_index_allocator_tpl<T, SZ> >(this);
|
||||
}
|
||||
|
||||
size_t max_caps() const override { return SZ; }
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -113,6 +113,11 @@ namespace Genode {
|
||||
* Redo construction of the object
|
||||
*/
|
||||
virtual void reinit() = 0;
|
||||
|
||||
/**
|
||||
* Return capacity of allocator
|
||||
*/
|
||||
virtual size_t max_caps() const = 0;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -17,15 +17,14 @@
|
||||
/* Genode includes */
|
||||
#include <base/log.h>
|
||||
|
||||
/* Fiasco includes */
|
||||
namespace Fiasco {
|
||||
#include <l4/sys/kdebug.h>
|
||||
}
|
||||
|
||||
#define ASSERT(e, s) \
|
||||
do { if (!(e)) { \
|
||||
Genode::raw("assertion failed: ", s, __FILE__, __LINE__); \
|
||||
enter_kdebug("ASSERT"); \
|
||||
Genode::raw("assertion failed: ", s, " at ", __FILE__, ":", __LINE__); \
|
||||
Fiasco::enter_kdebug("ASSERT"); \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
|
||||
/* Fiasco.OC includes */
|
||||
namespace Fiasco {
|
||||
#include <l4/sys/kdebug.h>
|
||||
#include <l4/sys/irq.h>
|
||||
#include <l4/sys/thread.h>
|
||||
}
|
||||
|
||||
@@ -14,18 +14,13 @@
|
||||
#ifndef _INCLUDE__BASE__INTERNAL__RAW_WRITE_STRING_H_
|
||||
#define _INCLUDE__BASE__INTERNAL__RAW_WRITE_STRING_H_
|
||||
|
||||
/* Fiasco includes */
|
||||
namespace Fiasco {
|
||||
#include <l4/sys/kdebug.h>
|
||||
}
|
||||
#include <util/string.h>
|
||||
#include "foc_assert.h"
|
||||
|
||||
namespace Genode {
|
||||
|
||||
void raw_write_string(char const *str)
|
||||
{
|
||||
using namespace Fiasco;
|
||||
outstring(const_cast<char *>(str));
|
||||
}
|
||||
void raw_write_string(char const *str) {
|
||||
Fiasco::outstring(const_cast<char *>(str)); }
|
||||
}
|
||||
|
||||
#endif /* _INCLUDE__BASE__INTERNAL__RAW_WRITE_STRING_H_ */
|
||||
|
||||
@@ -1,2 +1,7 @@
|
||||
TARGET = kernel-foc
|
||||
LIBS = kernel-foc
|
||||
|
||||
$(TARGET): $(INSTALL_DIR)/foc
|
||||
|
||||
$(INSTALL_DIR)/foc: $(LIB_CACHE_DIR)/kernel-foc/build/fiasco
|
||||
$(VERBOSE)ln -sf $< $@
|
||||
|
||||
@@ -21,6 +21,33 @@
|
||||
/* kernel includes */
|
||||
#include <foc/capability_space.h>
|
||||
|
||||
/**
|
||||
* We had to change the sematic of l4_task_cap_equal to return whether two
|
||||
* capabilities point to the same kernel object instead of whether both
|
||||
* capabilities are equal with respect to thier rights. To easily check after
|
||||
* a Fiasco.OC upgrade whether the sematic of the kernel patch still matches
|
||||
* our expectations below macro can be used.
|
||||
*/
|
||||
#ifdef TEST_KERN_CAP_EQUAL
|
||||
namespace Fiasco {
|
||||
#include <l4/sys/debugger.h>
|
||||
}
|
||||
inline bool CHECK_CAP_EQUAL(bool equal, Genode::addr_t cap1,
|
||||
Genode::addr_t cap2)
|
||||
{
|
||||
unsigned long id1 = Fiasco::l4_debugger_global_id(cap1),
|
||||
id2 = Fiasco::l4_debugger_global_id(cap2);
|
||||
ASSERT(((id1 == id2) == equal), "CAPS NOT EQUAL!!!");
|
||||
return equal;
|
||||
}
|
||||
#else
|
||||
inline bool CHECK_CAP_EQUAL(bool equal, Genode::addr_t,
|
||||
Genode::addr_t)
|
||||
{
|
||||
return equal;
|
||||
}
|
||||
#endif /* TEST_KERN_CAP_EQUAL */
|
||||
|
||||
|
||||
/***********************
|
||||
** Cap_index class **
|
||||
@@ -136,7 +163,7 @@ Genode::Cap_index* Genode::Capability_map::insert_map(int id, addr_t kcap)
|
||||
/* if we own the capability already check whether it's the same */
|
||||
if (i) {
|
||||
l4_msgtag_t tag = l4_task_cap_equal(L4_BASE_TASK_CAP, i->kcap(), kcap);
|
||||
if (!l4_msgtag_label(tag)) {
|
||||
if (!CHECK_CAP_EQUAL(l4_msgtag_label(tag), i->kcap(), kcap)) {
|
||||
/*
|
||||
* they aren't equal, possibly an already revoked cap,
|
||||
* otherwise it's a fake capability and we return an invalid one
|
||||
|
||||
@@ -40,7 +40,6 @@ namespace Fiasco {
|
||||
#include <l4/sys/ipc.h>
|
||||
#include <l4/sys/types.h>
|
||||
#include <l4/sys/utcb.h>
|
||||
#include <l4/sys/kdebug.h>
|
||||
}
|
||||
|
||||
using namespace Genode;
|
||||
@@ -51,23 +50,14 @@ using namespace Fiasco;
|
||||
** Utilities **
|
||||
***************/
|
||||
|
||||
enum Debug { DEBUG_MSG = 1, HALT_ON_ERROR = 0 };
|
||||
enum Debug { DEBUG_MSG = 1 };
|
||||
|
||||
|
||||
static inline bool ipc_error(l4_msgtag_t tag, bool print)
|
||||
{
|
||||
int ipc_error = l4_ipc_error(tag, l4_utcb());
|
||||
if (ipc_error) {
|
||||
if (print) {
|
||||
outstring("Ipc error: ");
|
||||
outhex32(ipc_error);
|
||||
outstring(" occurred!\n");
|
||||
}
|
||||
if (HALT_ON_ERROR)
|
||||
enter_kdebug("Ipc error");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
if (ipc_error && print) raw("Ipc error: ", ipc_error, " occurred!");
|
||||
return ipc_error;
|
||||
}
|
||||
|
||||
|
||||
@@ -111,7 +101,7 @@ static unsigned long extract_msg_from_utcb(l4_msgtag_t tag,
|
||||
|
||||
num_msg_words -= 2;
|
||||
if (num_caps > 0 && num_msg_words < num_caps) {
|
||||
outstring("unexpected end of message, capability info missing\n");
|
||||
raw("unexpected end of message, capability info missing");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -137,7 +127,7 @@ static unsigned long extract_msg_from_utcb(l4_msgtag_t tag,
|
||||
|
||||
/* received a delegated capability */
|
||||
if (sel_idx == num_cap_sel) {
|
||||
outstring("missing capability selector in message\n");
|
||||
raw("missing capability selector in message");
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -150,7 +140,7 @@ static unsigned long extract_msg_from_utcb(l4_msgtag_t tag,
|
||||
/* the remainder of the message contains the regular data payload */
|
||||
if ((num_msg_words)*sizeof(l4_mword_t) > rcv_msg.capacity()) {
|
||||
if (DEBUG_MSG)
|
||||
outstring("receive message buffer too small\n");
|
||||
raw("receive message buffer too small");
|
||||
num_msg_words = rcv_msg.capacity()/sizeof(l4_mword_t);
|
||||
}
|
||||
|
||||
@@ -229,7 +219,7 @@ static l4_msgtag_t copy_msgbuf_to_utcb(Msgbuf_base &snd_msg,
|
||||
unsigned const num_msg_words = 2 + num_caps + num_data_words;
|
||||
|
||||
if (num_msg_words > L4_UTCB_GENERIC_DATA_SIZE) {
|
||||
outstring("receive message buffer too small\n");
|
||||
raw("receive message buffer too small");
|
||||
throw Ipc_error();
|
||||
}
|
||||
|
||||
@@ -242,8 +232,6 @@ static l4_msgtag_t copy_msgbuf_to_utcb(Msgbuf_base &snd_msg,
|
||||
|
||||
for (unsigned i = 0; i < num_caps; i++) {
|
||||
|
||||
Native_capability const &cap = snd_msg.cap(i);
|
||||
|
||||
/* store badge as normal message word */
|
||||
*msg_words++ = caps[i].valid ? caps[i].badge : INVALID_BADGE;
|
||||
|
||||
@@ -363,7 +351,7 @@ Genode::Rpc_request Genode::ipc_reply_wait(Reply_capability const &last_caller,
|
||||
|
||||
/* ignore request if we detect a forged badge */
|
||||
if (!badge_matches_label(badge, label)) {
|
||||
outstring("badge does not match label, ignoring request\n");
|
||||
raw("badge does not match label, ignoring request");
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
/* Genode includes */
|
||||
#include <signal_source/client.h>
|
||||
#include <base/thread.h>
|
||||
#include <base/env.h>
|
||||
#include <base/log.h>
|
||||
|
||||
/* base-internal includes */
|
||||
@@ -22,6 +23,8 @@
|
||||
#include <base/internal/native_thread.h>
|
||||
|
||||
/* Fiasco includes */
|
||||
#include <foc_native_cpu/client.h>
|
||||
|
||||
namespace Fiasco {
|
||||
#include <l4/sys/irq.h>
|
||||
}
|
||||
@@ -38,8 +41,9 @@ Signal_source_client::Signal_source_client(Capability<Signal_source> cap)
|
||||
/* request mapping of semaphore capability selector */
|
||||
_sem = call<Rpc_request_semaphore>();
|
||||
|
||||
l4_msgtag_t tag = l4_irq_attach(_sem.data()->kcap(), 0,
|
||||
Thread::myself()->native_thread().kcap);
|
||||
Foc_native_cpu_client cpu_client(env_deprecated()->cpu_session()->native_cpu());
|
||||
Native_capability thread_cap = cpu_client.native_cap(Thread::myself()->cap());
|
||||
l4_msgtag_t tag = l4_irq_attach(_sem.data()->kcap(), 0, thread_cap.data()->kcap());
|
||||
if (l4_error(tag))
|
||||
Genode::raw("l4_irq_attach failed with ", l4_error(tag));
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
/* base-internal includes */
|
||||
#include <base/internal/stack.h>
|
||||
#include <base/internal/cap_map.h>
|
||||
#include <base/internal/globals.h>
|
||||
|
||||
/* Fiasco includes */
|
||||
namespace Fiasco {
|
||||
@@ -66,7 +67,7 @@ void Thread::_init_platform_thread(size_t weight, Type type)
|
||||
}
|
||||
/* adjust values whose computation differs for a main thread */
|
||||
native_thread().kcap = Fiasco::MAIN_THREAD_CAP;
|
||||
_thread_cap = env_deprecated()->parent()->main_thread_cap();
|
||||
_thread_cap = main_thread_cap();
|
||||
|
||||
if (!_thread_cap.valid())
|
||||
throw Cpu_session::Thread_creation_failed();
|
||||
|
||||
@@ -44,19 +44,20 @@ are all set to their default values.
|
||||
Muen systems are built for a specific hardware platform and by default the
|
||||
system is built for the Lenovo T430s. All currently supported platforms have a
|
||||
corresponding hardware specification which can be found in the Muen project
|
||||
directory under 'policy/platform'. Note that the Muen project directory can be
|
||||
directory under 'policy/hardware'. Note that the Muen project directory can be
|
||||
found at '<genode_dir>/contrib/muen-*/src/kernel/muen'.
|
||||
|
||||
To get a list of all currently supported platforms issue the following command:
|
||||
To get a list of all currently supported hardware platforms issue the following
|
||||
command:
|
||||
|
||||
! ls contrib/muen-*/src/kernel/muen/policy/platform/ | grep -v common
|
||||
! ls contrib/muen-*/src/kernel/muen/policy/hardware/ | grep -v common
|
||||
|
||||
Set the '--image-muen-hardware' parameter to point to the hardware
|
||||
configuration file of your intended hardware platform. Note that the specified
|
||||
paths for both '--image-muen-hardware' and '--image-muen-system' must be either
|
||||
relative to the Muen policy directory (e.g. 'platform/lenovo-t430s.xml' or
|
||||
'xml/genode-base_hw_simple.xml') or absolute paths. Also change the
|
||||
other parameters to match your environment.
|
||||
Set the '--image-muen-hardware' and '--image-muen-platform' parameters to point
|
||||
to the configuration files of your intended hardware platform. Note that the
|
||||
specified paths for both '--image-muen-hardware', '--image-muen-platform' and
|
||||
'--image-muen-system' must be either relative to the Muen policy directory
|
||||
(e.g. 'platform/lenovo-t430s.xml' or 'xml/genode-base_hw_simple.xml') or
|
||||
absolute paths. Also change the other parameters to match your environment.
|
||||
|
||||
If no hardware configuration for your specific hardware is available, refer to
|
||||
the README of the 'mugenhwcfg' tool
|
||||
@@ -115,15 +116,17 @@ Integration of Muen with Genode
|
||||
Instead of letting the Genode build system compile and assemble the complete
|
||||
Muen system, you can let it only build a specific Genode base-hw run scenario
|
||||
and then do the integration yourself. This will for example allow you to run a
|
||||
simple script like run/printf on Muen in the Bochs x86 emulator
|
||||
simple script like run/log on Muen in the Bochs x86 emulator
|
||||
[http://bochs.sf.net], removing the requirement for having access to supported
|
||||
hardware.
|
||||
|
||||
As a first step acquire the Muen sources by execute the following commands:
|
||||
As a first step acquire the Muen sources by executing the following commands:
|
||||
|
||||
! git clone https://git.codelabs.ch/git/muen.git
|
||||
! cd muen
|
||||
! make SYSTEM=xml/genode-base_hw_simple.xml COMPONENTS="libdebuglog libmutime dbgserver sm tau0 time" emulate
|
||||
! git submodule update --init tools/mugenschedcfg
|
||||
! git submodule update --init components/libxhcidbg
|
||||
! make SYSTEM=xml/genode-base_hw_simple.xml COMPONENTS="libdebuglog libmutime libxhcidbg dbgserver sm time" emulate
|
||||
|
||||
This will build a Muen SK system and start it using the Bochs emulator. You
|
||||
should get the following error:
|
||||
@@ -135,9 +138,9 @@ This means that the Muen packer tool was unable to find the component binary
|
||||
'base_hw', which is expected since it has not yet been compiled.
|
||||
|
||||
Now it is time to build the Genode 'base-hw' image for Muen. To tell the Genode
|
||||
build system that the Muen system integration is performed externallyby changing
|
||||
the --image-muen-external-build parameter in the 'etc/build.conf' file within
|
||||
your build Genode directory like so:
|
||||
build system that the Muen system integration is performed externally by
|
||||
changing the --image-muen-external-build parameter in the 'etc/build.conf' file
|
||||
within your build Genode directory like so:
|
||||
|
||||
! RUN_OPT += --image-muen-external-build 1
|
||||
|
||||
@@ -150,7 +153,7 @@ Change back to the Muen working directory to package the system image and
|
||||
restart emulation:
|
||||
|
||||
! cd <muen_workdir>
|
||||
! make SYSTEM=xml/genode-base_hw_simple.xml COMPONENTS="libdebuglog libmutime dbgserver sm tau0 time" emulate
|
||||
! make SYSTEM=xml/genode-base_hw_simple.xml COMPONENTS="libdebuglog libmutime dbgserver sm time" emulate
|
||||
|
||||
The serial output of the system is written to the
|
||||
'<muen_workdir>/emulate/serial.out' file. You should see the following line:
|
||||
|
||||
@@ -4,7 +4,7 @@ ifeq ($(filter-out $(SPECS),x86_64),)
|
||||
SPECS += pci ps2 vesa framebuffer
|
||||
|
||||
ifneq ($(filter-out $(SPECS),muen),)
|
||||
SPECS += acpi
|
||||
SPECS += acpi x86_pc
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
@@ -42,6 +42,7 @@ namespace Kernel
|
||||
constexpr Call_arg call_id_timeout() { return 16; }
|
||||
constexpr Call_arg call_id_timeout_age_us() { return 17; }
|
||||
constexpr Call_arg call_id_timeout_max_us() { return 18; }
|
||||
constexpr Call_arg call_id_time() { return 19; }
|
||||
|
||||
|
||||
/*****************************************************************
|
||||
@@ -106,6 +107,18 @@ namespace Kernel
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return value of a free-running, uniform counter
|
||||
*
|
||||
* The counter has a constant frequency and does not wrap twice during
|
||||
* a time period of 'timeout_max_us()' microseconds.
|
||||
*/
|
||||
inline time_t time()
|
||||
{
|
||||
return call(call_id_time());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return the constant maximum installable timeout in microseconds
|
||||
*
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user