Michael Scire
8dbdf596bc
kern: Support older SVC ABIs
2020-08-01 15:31:15 -07:00
Michael Scire
1a8393e8b2
kern: add SvcQueryIoMapping (NOTE: pre-10.x, ABI needs update)
2020-08-01 15:31:11 -07:00
Michael Scire
2d34e1b72c
svc/ipc: fix handle count accessors
2020-08-01 15:31:10 -07:00
Michael Scire
6a6b989dd2
ipc::Reply -> implement Pointer handling logic
2020-08-01 15:31:04 -07:00
Michael Scire
2692299372
kern: partially implement Receive half of ReplyAndReceive
2020-08-01 15:31:03 -07:00
Michael Scire
c5e4c7c921
kern: implement SvcWaitSynchronization
2020-08-01 15:31:01 -07:00
Michael Scire
191e233745
kern: implement SvcUnmapMemory, more of SvcGetInfo
2020-08-01 15:31:00 -07:00
Michael Scire
bc653fa855
exo2: Initial work on the exosphere rewrite.
...
exo2: Implement uncompressor stub and boot code up to Main().
exo2: implement some more init (uart/gic)
exo2: implement more of init
exo2: improve reg api, add keyslot flag setters
exo2: implement se aes decryption/enc
exo2: fix bugs in loader stub/mmu mappings
exo2: start skeletoning bootconfig/global context types
arch: fix makefile flags
exo2: implement through master key derivation
exo2: implement device master keygen
exo2: more init through start of SetupSocSecurity
exo2: implement pmc secure scratch management
se: implement sticky bit validation
libexosphere: fix building for arm32
libexo: fix makefile flags
libexo: support building for arm64/arm
sc7fw: skeleton binary
sc7fw: skeleton a little more
sc7fw: implement all non-dram functionality
exo2: fix DivideUp error
sc7fw: implement more dram code, fix reg library errors
sc7fw: complete sc7fw impl.
exo2: skeleton the rest of SetupSocSecurity
exo2: implement fiq interrupt handler
exo2: implement all exception handlers
exo2: skeleton the entire smc api, implement the svc invoker
exo2: implement rest of SetupSocSecurity
exo2: correct slave security errors
exo2: fix register definition
exo2: minor fixes
2020-06-14 22:53:53 -07:00
SciresM
7d041e853d
Switch atmosphere's build target to C++20. ( #952 )
...
* ams: update to build with gcc10/c++20
* remove mno-outline-atomics
* ams: take care of most TODO C++20s
* fusee/sept: update for gcc10
* whoosh, your code now uses pre-compiled headers
* make: dependency fixes
2020-05-12 15:44:19 -07:00
Michael Scire
80f8bc631e
kern: fix KLinkedList dtor
2020-04-27 10:34:07 -07:00
Michael Scire
b8be9d0031
os: implement ReadWriteLock
2020-04-24 17:29:11 -07:00
Michael Scire
a0cddf7c06
os: refactor/rewrite entire namespace.
2020-04-15 11:54:59 -07:00
SciresM
926d5a55d6
mem: implement most of StandardAllocator ( #860 )
...
This was tested using `https://github.com/node-dot-cpp/alloc-test ` plus a few other by-hand tests.
It seems to work for the case we care about (sysmodules without thread cache-ing).
External users are advised to build with assertions on and contact SciresM if you find issues.
This is a lot of code to have gotten right in one go, and it was written mostly after midnight while sick, so there are probably un-noticed issues.
2020-03-30 20:41:21 -07:00
Michael Scire
99ad059ff1
svc: add ipc accessor boilerplate
2020-03-18 00:15:04 -07:00
Michael Scire
373a4b7ce0
svc: revert codegen changes
2020-03-18 00:15:03 -07:00
Michael Scire
3a042d82db
svc: make autogen asm register-clobber aware
2020-03-18 00:15:03 -07:00
Michael Scire
b5f8d04924
kern: implement CallSecureMonitor, some of GetInfo/GetSystemInfo
2020-03-18 00:15:02 -07:00
Michael Scire
3418d34136
crypto: constant-time pss (if it survives optimization)
2020-03-02 19:51:06 -08:00
Michael Scire
98cc1dd870
crypto: Implement BigNum/ExpMod
2020-03-02 19:51:06 -08:00
Michael Scire
1e9368c770
ams: revamp assertion system
2020-03-02 19:51:04 -08:00
Michael Scire
08671a9946
vapours: cleanup svc includes
2020-03-02 19:51:04 -08:00
Michael Scire
feae39aa2e
kern: implement KUserPointer (and test with QueryMemory) in advance of svc dev
2020-03-02 19:51:01 -08:00
Michael Scire
375d5ecd08
kern: add KProcess members
2020-03-02 19:50:58 -08:00
Michael Scire
c87812ef8a
kern: switch->nx, implement sleep manager init
2020-03-02 19:50:56 -08:00
Michael Scire
ce92f9d6b0
vapours: add time primitives, fix result name
2020-03-02 19:50:54 -08:00
Michael Scire
c5bb5e4f43
kern: add all kthread members
2020-03-02 19:50:47 -08:00
Michael Scire
efcfa04a80
kern: implement KPriorityQueue
2020-03-02 19:50:47 -08:00
Michael Scire
25048b72f5
kern: implement KThreadLocalPage
2020-03-02 19:50:46 -08:00
Michael Scire
458572283b
kern: implement KHandleTable, other cleanup
2020-03-02 19:50:46 -08:00
Michael Scire
27acf7bf23
meso: find -exec sed -i'' -e 's/2018-2019 Atmo/2018-2020 Atmo/g' {} +
2020-03-02 19:50:43 -08:00
Michael Scire
6c540ee0e4
mesosphere: Implement SVC table auto-generation
2020-03-02 19:50:41 -08:00
Michael Scire
7ee4ae460e
find -exec sed -i'' -e 's/2018-2019 Atmo/2018-2020 Atmo/g' {} +
2020-03-02 19:50:40 -08:00
Michael Scire
ec7bd37822
svc: whoops
2020-03-02 19:50:40 -08:00
Michael Scire
78f2108874
svc: populate namespace
2020-03-02 19:50:40 -08:00
Michael Scire
ef5297acb3
Improve buildsystem, split out generic code
2019-12-08 19:17:05 -08:00