-
Notifications
You must be signed in to change notification settings - Fork 17
Major rewrite #116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Major rewrite #116
Conversation
|
When it's merged, we are going to create issues right away to track missing (and, perhaps, new) features; additionally, legacy branch will be created to keep stable Ocre alive for a while, to give everyone time to get used to this new refactoring. |
|
Legacy branch is now protected (like the main) and can be found here: https://github.com/project-ocre/ocre-runtime/tree/legacy |
fcb5fa9 to
47fbe91
Compare
This reverts commit fbce6c2. This commit is kept in the legacy branch. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
This reverts commit 533f2f5. This commit is kept in the legacy branch. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
This reverts commit 314a647. This commit is kept in the legacy branch. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
This reverts commit 0ba75c1. This commit is kept in the legacy branch. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
This reverts commit 4b15a2e. This commit is kept in the legacy branch. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
This reverts commit 7494611. This commit is kept in the legacy branch. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
This reverts commit cafad42. This commit is kept in the legacy branch. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
This reverts commit e9d8d04. This commit is kept in the legacy branch. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
This reverts commit 4778e5c. This commit is kept in the legacy branch. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
This reverts commit f555f1b. This commit is kept in the legacy branch. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
This reverts commit 6c98588. This commit is kept in the legacy branch. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
This reverts commit 734ed5c. This commit is kept in the legacy branch. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
the user_malloc and user_free functions will be used on platforms with support for external PSRAM. This way we can differentiate allocations in the internal or external RAM. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
These functions allocate memory on external PSRAM on boards that have CONFIG_SHARED_MULTI_HEAP enabled. Otherwise, they work just like core_malloc and core_free. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
On systems with a single heap, these functions work exactly the same as malloc and free. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
The user heap is user for large objects. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
Use the user heap for wamr and related container memory. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
In favor of the user heap mechanism. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
We now use the user heap mechanism. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
Update wamr's hash to support networking DNS changes. --------- Signed-off-by: Krisztian Szilvasi <34309983+kr-t@users.noreply.github.com> Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
This docker image will be used in the CI and the devcontainer. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
Thank you very much for your inputs. I fixed the typos and answered some of the questions. Looking forward to your next comments. |
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
|
closes #80 |
|
Closes #115 |
|
Closes #92 |
|
Closes #94 |
|
Closes #33 |
| # SPDX-License-Identifier: Apache-2.0 | ||
|
|
||
| # Determine the ISA of the target and set appropriately | ||
| if (DEFINED CONFIG_ISA_THUMB2) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The ISA determination shall be modified as in this commit: 7494611
Without this, Cortex boards won't be configured to THUMBV8M (our U585 board) and AoT won't be working correctly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done. but I used more robust Zephyr config variables instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the future - we might want to rethink how we group files:
earlier we had posix folder for posix build scripts, and zephyr for zephyr ones. Now we still have zephyr folder for zephyr ones, but the posix files are just all around - like here, in system/posix, in main Cmake file. This might be hard to maintain for new users without the repo knowledge.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this directory is for general cmake files (to be included in CMakeLists.txt) not specific for Zephyr or Linux, however with this specific file I still could not get it to work with Zephyr (just requires more work) and I hope in the near future we can have a single cmake (this one) for wamr in both platforms.
Now, we could have this file somewhere else, but we will eventually move it back here when we get the consistent implementation.
I suggest we keep it like this for this merge and then figure out what to in the future.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I accept and agree w your suggestion.
We did not delete this file. Should I? |
oh. yes, please. this is obsolete. |
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
Fix the selection of the WAMR architecture based on more robust Zephyr configuration variables. This enables proper support for ARM M33+ boards. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
| ```sh | ||
| pip install -r zephyr/scripts/requirements.txt | ||
| cd ~/zephyrproject | ||
| west init -m https://github.com/ocre-project/ocre.git |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wrong command - proper one:
west init -m https://github.com/project-ocre/ocre-runtime.git
| ```sh | ||
| git clone git@github.com:project-ocre/ocre-runtime.git | ||
| cd ocre-runtime | ||
| west build -p always -b b_u585i_iot02a ocre-runtime/src/samples/demo/zephyr |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By default, init command above will clone ocre in the default folder above called /application. We shall either change the path then here, or above init it w the proper dir name
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing info to clone submodules
|
The PR in its current state look good to be merged; it is hard continuing working on some missing stuff, and the solution is to merge it as it is, and start fixing/adding stuff on the new state. It will give a possibility for other contributors to work on it. As mentioned before, Following PR notes were discussed and found w @casaroli beside his findings above. Proper GitHub issues will be created for anyone to work on these. Missing or regressed features
Miscellaneous
|
To be more explicit about the environment, as we will have other WAMR based non-wasi engines also in the future. Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
In case the user passes a NULL runtime engine, we should try to figure out the correct one, automatically. In the future, we will read this from the container manifest, and let the user override it, however for now, we just use wamr/wasip1 as the "default". Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
srberard
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Just make sure to validate source headers for appropriate copyright and attribution in the README.
Description
Happy new year!
This is a major rewrite of Ocre. I am sorry for the massive PR. The main objectives were:
I believe this rework will make Ocre better and safer, and it will also simplify the functionality we will want to add to Ocre in the future.
Some of the changes are listed below:
Fixes:
CONTAINER_THREAD_POOL_SIZEis hardcoded #115Known issues
There are a few known issues that I plan on fixing in the near future after/if this gets accepted and merged.
Please, feel free to add any comments or questions. You are welcome to join our Slack server if you are looking for a warmer discussion. 😅
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
There are tests in the CI
Checklist: