More actions
No edit summary |
No edit summary |
||
Line 23: | Line 23: | ||
VVNZRunner provides safe way to run MeP code on Venezia processor and functions to transfer data from and to Venezia SPRAM. | VVNZRunner provides safe way to run MeP code on Venezia processor and functions to transfer data from and to Venezia SPRAM. | ||
==V-Thread support == | ==V-Thread support == |
Revision as of 11:14, 25 November 2022
VVNZRunner | |
---|---|
File:Vvnzrunnervita.jpg | |
General | |
Author | GrapheneCt |
Type | Plugins |
Version | 2.1 |
License | Mixed |
Last Updated | 2021/09/02 |
Links | |
Download | |
Source | |
VVNZRunner is a kernel plugin for PS Vita that provides API to run Toshiba MeP code on Venezia. It supports execution of MeP ELFs directly from userland-allocated memblock.
Original idea from PS Vita Henkaku wiki article.
VVNZRunner provides safe way to run MeP code on Venezia processor and functions to transfer data from and to Venezia SPRAM.
V-Thread support
V-Threads are threads that run on Venezia cores. Up to 6 cores can run tasks simultaneously in normal mode and up to 7 in extended mode (enabled with sceCodecEngineChangeNumWorkerCoresMax()). All tasks that fall outside of limit will be automatically scheduled for execution. Note that even when running V-Thread, vnzBridgeExec() is blocking on ARM side. Refer to sample_mep for V-Thread creation procedure.
Screenshot
Venezia memory management system
Venezia uses specific memory management system for all external memory. You must use it for any memory passed to Venezia from ARM side to ensure cache consistency. More info can be found here.
Sample
Sample blits some text to screen on Venezia side and displays it on ARM side
To compile MeP code use mepsdk.
Check sample Makefile for flags used to compile MeP code for Venezia.
Usage notes
- Due to the address restrictions any global variables in MeP code should be used with GET_SYMBOL_ADDR() macro. That also includes operations with function addresses.
Changelog
(v.2.1)
- Various improvements and bugfixes
- Added some comments in the runner header to explain plugin operation
(v.2.0)
- This release adds support for direct execution of MeP ELF.
(v.1.0)
- First Release.