I have an alpha-level open-source library called libkhax that I've written to get ARM11 kernel access in firmwares 4.1.0 - 9.2.0, on both Old 3DS and New 3DS. It uses memchunkhax to do this.
It was originally designed to be a rewrite of shinyquagmire's "bootstrap", but now has its own purpose for existing, staying only in ARM11-space. It's designed to be stable and reliable, with high code quality. Other than during development and things that turned out to be bugs and were later fixed, I have yet to have libkhax crash on me.
Pretty much all libkhax does is give the thread that calls it access to every SVC call. That's it; nothing special beyond that. However, the debug SVCs and svcBackdoor are included, so you can definitely have some fun using libkhax. Note that unlike bootstrap, libkhax grants the thread SVC access, not the process nor the whole system. libkhax does not disable SVC permission checking like "bootstrap" does.
libkhax isn't packaged well; it's not even a library as-is. Its current form is a .3dsx test program that just calls a simple svcBackdoor function after initializing libkhax to set a global variable and return.
If you want to take a look, it's here:
https://github.com/Myriachan/libkhax
Thanks to a fix by plutoo and with testing help from Steveice, it now works on firmware 4.x. I still need to submit a pull request to ctrulib to remove MEMOP_FREE_LINEAR, though.
I use Visual Studio as my editor because I like the IDE and Visual Assist X. The #ifndef _MSC_VERs are there to avoid IntelliSense and Visual Assist barfing on GCCisms. Obviously, Visual Studio is never going to actually compile anything for 3DS, so just ignore those and the project files.
It was originally designed to be a rewrite of shinyquagmire's "bootstrap", but now has its own purpose for existing, staying only in ARM11-space. It's designed to be stable and reliable, with high code quality. Other than during development and things that turned out to be bugs and were later fixed, I have yet to have libkhax crash on me.
Pretty much all libkhax does is give the thread that calls it access to every SVC call. That's it; nothing special beyond that. However, the debug SVCs and svcBackdoor are included, so you can definitely have some fun using libkhax. Note that unlike bootstrap, libkhax grants the thread SVC access, not the process nor the whole system. libkhax does not disable SVC permission checking like "bootstrap" does.
libkhax isn't packaged well; it's not even a library as-is. Its current form is a .3dsx test program that just calls a simple svcBackdoor function after initializing libkhax to set a global variable and return.
If you want to take a look, it's here:
https://github.com/Myriachan/libkhax
Thanks to a fix by plutoo and with testing help from Steveice, it now works on firmware 4.x. I still need to submit a pull request to ctrulib to remove MEMOP_FREE_LINEAR, though.
I use Visual Studio as my editor because I like the IDE and Visual Assist X. The #ifndef _MSC_VERs are there to avoid IntelliSense and Visual Assist barfing on GCCisms. Obviously, Visual Studio is never going to actually compile anything for 3DS, so just ignore those and the project files.