Comments (9)
You need to generate stubs for your module (basically a static lib) and link with them. There's no dlsym-like functionality.
There's also no automatic loading.
If you want dlopen/dlsym functionality, you can use https://github.com/isage/vita-rss-libdl as reference (it'll need adjustments to work in kernel-space)
from vita-headers.
How do I generate those stubs for a vita kernel module?
Would that mean that I don't need to provide the skprx module anymore and it will be embedded to the vpk?
Thanks.
from vita-headers.
https://github.com/vitasdk/vita-toolchain/blob/master/cmake_toolchain/vita.cmake#L162
No, you still need to provide and load skprx.
VPK is just a zip file. You can add your module there for your app to load (from app0:/...)
https://github.com/TheOfficialFloW/kubridge is a nice exaple of kernel module with exports and stubs (and handling userspace <-> kernelspace memory conversion)
from vita-headers.
Thank you, I'll check them out.
from vita-headers.
QUESTION. Can I just use the kernel functions in the VPK project? that way I could just put everything in the VPK instead of coding a library.
or making a kernel module has something special?
I'm looking to:
- handle SVC exceptions
- allocate data in an arbitrary virtual space range (it doesn't collide with user space)
- run byte asm code allocated in that arbitrary virtual space
Thanks
from vita-headers.
No. Apps run in userspace
from vita-headers.
It is possible to make a simple hook to svc. It may or may not be possible to allocate memory for any virtual space.
About any virtual space mapping, You need to learn ARM TTBR.
Edit
All your questions must be run in kernel space.
from vita-headers.
These are the virtual spaces I wanna use:
0x100000
The following spaces may or may not be used:
0xbf3000
0xd32000
0xd71000
0xded000
0xec0000
0x1082000
0xb00000
0xb84000
0xcba000
from vita-headers.
For the hook I will need to know what Thread called SVC along with the code (e.g. SVC 0x36 , I need to catch the 0x36) and state of registers.
from vita-headers.
Related Issues (20)
- Need to separate headers for each library HOT 7
- SceAppMgr HOT 6
- Some function arguments are wrong
- _vshSblAimgrGetConsoleId doesn't appear in the search HOT 11
- Functions with the same nid exist HOT 7
- socket sceNetSend looks not working properly HOT 4
- Libraries of the module SceDriverUser are in wrong modules HOT 2
- definition_check couldn't check c++ mangled methods
- split the db.yml to muliple files
- Merge vdsuite NID database to the vitasdk HOT 9
- Possible error in sceAppMgrLaunchAppByUri HOT 6
- PS Vita Dev Wiki link on homepage dead HOT 3
- Add a function to open quick menu without triggering the button HOT 5
- build.py makes bunch of empty folders without db.yml
- [Question] Setting up an arbitrary virtual address space HOT 7
- No `sceGxtGetDataAddress` nids?
- Compatibility with projects that have their own prototype definitions such as taihen or something
- sceAvPlayerInit return negative value (0x81300020) HOT 9
- Stubname field added to YML databases without any documentation HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vita-headers.