You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ The uVisor is a self-contained software hypervisor that creates independent secu
4
4
5
5
To start using uVisor, you need to include it as a library in your design. We release the uVisor library periodically into the mbed OS repository, [ARMmbed/mbed-os](https://github.com/ARMmbed/mbed-os). Review it to learn more about the uVisor security model and see an overview of its features.
6
6
7
-
You can find most of the uVisor documentation in the [docs](docs) folder. Please look at the [getting started guide](docs/api/QUICKSTART.md) for an introduction to uVisor application development. If you are interested in uVisor internals, please refer to the [OS-level introduction](https://github.com/ARMmbed/uvisor/raw/docs/uvisor-rtos-docs.pdf) and the [uVisor API docs](docs/api/API.md).
7
+
You can find most of the uVisor documentation in the [docs](docs) folder. Please look at the [getting started guide](docs/lib/QUICKSTART.md) for an introduction to uVisor application development. If you are interested in uVisor internals, please refer to the [OS-level introduction](https://github.com/ARMmbed/uvisor/raw/docs/uvisor-rtos-docs.pdf) and the [uVisor API docs](docs/lib/API.md).
8
8
9
9
Contributions to this repository in the form of issue reporting and pull requests are welcome! Please read our [contribution guidelines](CONTRIBUTING.md) first.
10
10
@@ -81,7 +81,7 @@ All the code that is not explicitly part of the uVisor is generally referred to
81
81
82
82
The unprivileged code can be made of mutually untrusted isolated modules (or boxes). This way, even if all are running with unprivileged permissions, different modules can protect their own secrets and execute critical code securely.
83
83
84
-
For more details about how to setup a secure box and protect memories and peripherals, please read the [getting started guide](docs/api/QUICKSTART.md).
84
+
For more details about how to setup a secure box and protect memories and peripherals, please read the [getting started guide](docs/lib/QUICKSTART.md).
85
85
86
86
### Memory layout
87
87
@@ -124,7 +124,7 @@ This table details the main memory sections that the uVisor protects:
124
124
</tbody>
125
125
</table>
126
126
127
-
To use the uVisor APIs to set up a secure box, please refer to the [getting started guide](docs/api/QUICKSTART.md) and the full [uVisor API documentation](docs/api/API.md).
127
+
To use the uVisor APIs to set up a secure box, please refer to the [getting started guide](docs/lib/QUICKSTART.md) and the full [uVisor API documentation](docs/lib/API.md).
| See a high-level introduction to mbed uVisor |[Practical real-time operating system security for the masses](https://github.com/ARMmbed/uvisor/raw/docs/uVisorSecurity-TechCon2016.pdf)|
12
-
| Start using uVisor in mbed OS on a supported platform |[Getting started guide for uVisor on mbed OS](api/QUICKSTART.md)|
13
-
| Read the uVisor API documentation in detail |[The uVisor API documentation](api/API.md)|
14
-
| Enable the uVisor debug messages |[Debugging uVisor on mbed OS](api/DEBUGGING.md)|
12
+
| Start using uVisor in mbed OS on a supported platform |[Getting started guide for uVisor on mbed OS](lib/QUICKSTART.md)|
13
+
| Read the uVisor API documentation in detail |[The uVisor API documentation](lib/API.md)|
14
+
| Enable the uVisor debug messages |[Debugging uVisor on mbed OS](lib/DEBUGGING.md)|
15
15
16
16
## Core documentation
17
17
@@ -22,4 +22,4 @@ These documents describe the uVisor internals in more detail. They are useful if
22
22
| Understand uVisor integration |[mbed uVisor integration in mbed OS](https://github.com/ARMmbed/uvisor/raw/docs/uvisor-rtos-docs.pdf)|
23
23
| Port uVisor to my platform/OS |[uVisor porting guide for mbed OS](core/PORTING.md)|
24
24
| Test and experiment with uVisor |[Developing with uVisor locally on mbed OS](core/DEVELOPING_LOCALLY.md)|
25
-
| Contribute to uVisor | [Contributing to uVisor](../CONTRIBUTING.md)
25
+
| Contribute to uVisor | [Contributing to uVisor](../CONTRIBUTING.md)
The command above will import all the example dependencies, as well, including the mbed OS codebase and the uVisor libraries.
33
33
34
-
If you already have an application that you want to use for this guide, make sure it is ready to work with uVisor enabled. Follow the [Getting started guide for uVisor on mbed OS](../api/QUICKSTART.md) for more details.
34
+
If you already have an application that you want to use for this guide, make sure it is ready to work with uVisor enabled. Follow the [Getting started guide for uVisor on mbed OS](../lib/QUICKSTART.md) for more details.
35
35
36
36
In either case, move to the app folder:
37
37
@@ -85,4 +85,4 @@ You can also compile the application using the uVisor debug build:
The uVisor debug build gives you access to runtime messages and fault blue screens, which are useful in understanding the uVisor protection mechanisms, but it requires a debugger to be connected to the board. Please read [Debugging uVisor on mbed OS](../api/DEBUGGING.md) for further details.
88
+
The uVisor debug build gives you access to runtime messages and fault blue screens, which are useful in understanding the uVisor protection mechanisms, but it requires a debugger to be connected to the board. Please read [Debugging uVisor on mbed OS](../lib/DEBUGGING.md) for further details.
Copy file name to clipboardExpand all lines: docs/core/PORTING.md
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -280,7 +280,7 @@ $ cd ~/code/uvisor
280
280
$ make
281
281
```
282
282
283
-
The build process generates as many static libraries (`*.a` files) as your family configurations, multiplied by two (debug and release builds). You can find them in `~/code/uvisor/api/lib/${family}`. Please note that these libraries are not published in the uVisor repository. Instead, the glue-layer library deploys them and makes them available to the target OS.
283
+
The build process generates as many static libraries (`*.a` files) as your family configurations, multiplied by two (debug and release builds). You can find them in `~/code/uvisor/lib/lib/${family}`. Please note that these libraries are not published in the uVisor repository. Instead, the glue-layer library deploys them and makes them available to the target OS.
284
284
285
285
## Integrate uVisor in mbed OS
286
286
[Go to top](#overview)
@@ -600,7 +600,7 @@ Once uVisor is active, it maintains its own vector table, which the rest of the
600
600
601
601
The heap boundaries need to be provided (`__uvisor_heap_start` and `__uvisor_heap_end`) because the uVisor allocator APIs use them. The uVisor allocator APIs are available even when uVisor is not strictly supported on a platform, but in that case, there is no security feature.
602
602
603
-
> **Note**: After making the necessary changes to your linker script, `HEAP_SIZE` becomes the minimum heap size. The heap will grow to fill all available RAM between the stack and data sections. If there is not enough room for the minimum heap size, the linker generates an error. The reason for this change is to ease transitioning applications from the legacy heap to the [uVisor page heap](https://github.com/ARMmbed/uvisor/blob/master/docs/api/manual/UseCases.md#tier-1-page-allocator); after an application is fully transitioned to the [uVisor page heap](https://github.com/ARMmbed/uvisor/blob/master/docs/api/manual/UseCases.md#tier-1-page-allocator), the legacy heap is no longer required and can have a `HEAP_SIZE` size of 0.
603
+
> **Note**: After making the necessary changes to your linker script, `HEAP_SIZE` becomes the minimum heap size. The heap will grow to fill all available RAM between the stack and data sections. If there is not enough room for the minimum heap size, the linker generates an error. The reason for this change is to ease transitioning applications from the legacy heap to the [uVisor page heap](https://github.com/ARMmbed/uvisor/blob/master/docs/lib/manual/UseCases.md#tier-1-page-allocator); after an application is fully transitioned to the [uVisor page heap](https://github.com/ARMmbed/uvisor/blob/master/docs/lib/manual/UseCases.md#tier-1-page-allocator), the legacy heap is no longer required and can have a `HEAP_SIZE` size of 0.
604
604
605
605
Finally, note that at the end of the linker script, the physical boundaries for the memories (flash/SRAM) uVisor populates are also provided.
606
606
@@ -706,7 +706,7 @@ Given the description above, the following combinations are possible:
706
706
707
707
Please note that defining both the `FEATURE_UVISOR` and the `UVISOR_SUPPORTED` symbols does not automatically enable uVisor on the application. By default, uVisor runs in *disabled* mode, where the uVisor initialization function is executed but returns immediately.
708
708
709
-
In disabled mode, no security feature is enabled though the uVisor binaries are still flashed to the device. To learn more about the uVisor modes of operation, please see the [API documentation](../api/API.md). If you want to know how to enable uVisor and configure an application to use the uVisor security features, please see the [getting started guide](../api/QUICKSTART.md).
709
+
In disabled mode, no security feature is enabled though the uVisor binaries are still flashed to the device. To learn more about the uVisor modes of operation, please see the [API documentation](../lib/API.md). If you want to know how to enable uVisor and configure an application to use the uVisor security features, please see the [getting started guide](../lib/QUICKSTART.md).
710
710
711
711
If you do not want to enable the uVisor features immediately on your mbed target, users can still selectively override the target features and labels to enable uVisor. You can use the configuration system to set the `FEATURE_UVISOR` and `UVISOR_SUPPORTED` symbols by creating a file called `mbed_app.json` at the application level with the following content:
712
712
@@ -730,9 +730,9 @@ Please note that the macros `FEATURE_UVISOR` and `TARGET_UVISOR_SUPPORTED` in th
730
730
### Next steps
731
731
[Go to top](#overview)
732
732
733
-
It is time to test your application. We suggest that you use the example app, [`mbed-os-example-uvisor`](https://github.com/ARMmbed/mbed-os-example-uvisor), but if you prefer, you can build a uVisor-enabled blinky program following the [getting started guide](../api/QUICKSTART.md).
733
+
It is time to test your application. We suggest that you use the example app, [`mbed-os-example-uvisor`](https://github.com/ARMmbed/mbed-os-example-uvisor), but if you prefer, you can build a uVisor-enabled blinky program following the [getting started guide](../lib/QUICKSTART.md).
734
734
735
735
In both cases, please:
736
736
737
-
- Run uVisor at least once in debug mode to ensure all runtime sanity checks pass. You can also use this round of checks to confirm your linker script and uVisor ports are structurally correct. For more information about the uVisor debug mode, please read [Debugging uVisor on mbed OS](../api/DEBUGGING.md).
738
-
- Ensure that your app has the relevant ACLs to work with uVisor enabled. This requires you to run uVisor in debug mode multiple times and find all the faulting peripherals. Read a more detailed description of this procedure in [the final section](../api/QUICKSTART.md#the-main-box-acls) of the [getting started guide](../api/QUICKSTART.md).
737
+
- Run uVisor at least once in debug mode to ensure all runtime sanity checks pass. You can also use this round of checks to confirm your linker script and uVisor ports are structurally correct. For more information about the uVisor debug mode, please read [Debugging uVisor on mbed OS](../lib/DEBUGGING.md).
738
+
- Ensure that your app has the relevant ACLs to work with uVisor enabled. This requires you to run uVisor in debug mode multiple times and find all the faulting peripherals. Read a more detailed description of this procedure in [the final section](../lib/QUICKSTART.md#the-main-box-acls) of the [getting started guide](../lib/QUICKSTART.md).
Copy file name to clipboardExpand all lines: docs/lib/manual/UseCases.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -691,4 +691,4 @@ void example(void)
691
691
```
692
692
693
693
### More information about the RPC API
694
-
For more information about the RPC API, please refer to [the well-commented RPC API C header file](https://github.com/ARMmbed/uvisor/blob/master/api/inc/rpc.h).
694
+
For more information about the RPC API, please refer to [the well-commented RPC API C header file](https://github.com/ARMmbed/uvisor/blob/master/lib/inc/rpc.h).
0 commit comments