Commit Graph

36 Commits

Author SHA1 Message Date
fincs
1db868b95f arm64: set -march in cpu specific configuration 2020-09-07 10:51:43 -07:00
Michael Scire
4a91046154 kern: implement svc trace 2020-09-07 10:51:37 -07:00
Michael Scire
f2b9036355 exo: build with -Wextra 2020-09-07 10:51:37 -07:00
Michael Scire
dc59a2d2e5 kern: build with -Wextra 2020-09-07 10:51:36 -07:00
Michael Scire
2d522dc6a1 libstrat: fix building of source/os/* 2020-08-15 09:20:25 -07:00
Michael Scire
1cf97bfb29 ams: add support for cpu-extension specific source files 2020-08-14 17:36:36 -07:00
Michael Scire
4ee7df6340 ams: update build system to add generic-fallback support 2020-08-14 17:36:36 -07:00
Michael Scire
5c8eca0935 kern: build without unwind tables for lto 2020-08-01 15:31:40 -07:00
Michael Scire
47d62b22f2 libstrat: fix bugs/compiler warnings 2020-08-01 15:30:55 -07:00
Michael Scire
3c7c4d8bff fs: implement AccessLog, enable for File operations 2020-08-01 15:30:55 -07:00
Michael Scire
d061a52230 ams: add -Wno-format-truncation to flags 2020-06-28 19:41:08 -07:00
Michael Scire
3d96ce7512 exo2: implement SmcReencryptDeviceUniqueData 2020-06-14 22:54:04 -07:00
Michael Scire
94a8be89ac exo2: implement SmcGetConfig 2020-06-14 22:53:58 -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
18396d1a36 crypto: add aes (ecb, ctr, xts) 2020-04-05 23:25:44 -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
36154c9115 stratosphere template: allow for per-module defines 2020-03-09 18:03:39 -07:00
Michael Scire
98cc1dd870 crypto: Implement BigNum/ExpMod 2020-03-02 19:51:06 -08:00
Michael Scire
0daddfacc6 libmesosphere: precompile mesosphere.hpp 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
c86352c06e meso: use -fno-non-call-exceptions, -fno-use-cxa-atexit 2020-03-02 19:50:48 -08:00
Michael Scire
8bffa6991f kernel: use .rel.ro 2020-03-02 19:50:48 -08:00
Michael Scire
c0e7bc5c9d kern: Implement most of memory init (all cores hit main, but still more to do) 2020-03-02 19:50:43 -08:00
Michael Scire
bd88eabd77 config: fix typos 2020-03-02 19:50:43 -08:00
Michael Scire
b7e9fc1513 kern: finish implementing assembly init routines 2020-03-02 19:50:42 -08:00
Michael Scire
59663619d9 meso: skeleton buildsystem for kernel 2020-03-02 19:50:41 -08:00
Michael Scire
c0a69c8a32 buildsystem: more fixes 2020-01-03 13:05:29 -08:00
Michael Scire
a588458f05 buildsystem: avoid use of $(shell find) for significant speedup 2020-01-03 13:05:28 -08:00
Michael Scire
5bb14b180a meso: build with -ffixed-x18 2020-01-03 13:05:26 -08:00
Michael Scire
c85fac4c43 kernel_ldr: finish implementing all core logic. 2020-01-03 13:05:23 -08:00
fincs
e89e0cc45d meso: miscellaneous cleanup and build fixes 2020-01-03 13:05:22 -08:00
Michael Scire
6eb76feb03 kernelldr: skeleton build system in prep for dev 2020-01-03 13:05:20 -08:00
Michael Scire
f83d72e18b meso: skeleton libmesosphere in prep for kernelldr dev 2020-01-03 13:05:20 -08:00
Michael Scire
07af583bb8 Add stratosphere makefile, move common/include to libs 2019-12-09 03:54:45 -08:00
Michael Scire
ef5297acb3 Improve buildsystem, split out generic code 2019-12-08 19:17:05 -08:00