Michael Scire
28f0940c58
diag: fix process name cache
2022-08-11 14:19:26 -07:00
Michael Scire
8e17feff94
os: pthread_yield is deprecated, don't use it on linux
2022-06-27 15:36:04 -07:00
Michael Scire
ca142889c4
strat: only include windows.h in translation units where actually needed
2022-03-21 17:21:44 -07:00
Michael Scire
3c6d965e1a
symbols: use same strategy on windows as on macOS
2022-03-21 17:21:44 -07:00
Michael Scire
49cddd68e4
use cxxabi for demangling on linux/windows
2022-03-21 17:21:44 -07:00
Michael Scire
ee5f99fdb4
Implement working macOS backtrace symbolization
2022-03-21 17:21:44 -07:00
Michael Scire
7456a77ba9
os: add working stack logic for macOS
2022-03-21 17:21:44 -07:00
Michael Scire
6aab36fc6a
diag: fix typo in hos-specific backtrace getter
2022-03-21 17:21:44 -07:00
Michael Scire
646f84bad1
abort/error: print backtrace, abuse templates, overhaul result/diag (macos not done yet)
2022-03-21 17:21:44 -07:00
Michael Scire
64a97576d0
ams: support building unit test programs on windows/linux/macos
2022-03-21 17:21:44 -07:00
Michael Scire
7ca83c9d3b
libstrat: enable -Wextra, -Werror
...
This caught an embarrassingly large number of bugs.
2021-10-06 15:20:48 -07:00
Michael Scire
4866e80769
svc: refactor/rename MemoryInfo fields
2021-10-05 15:16:54 -07:00
Michael Scire
77fe5cf6f5
ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals
2021-10-04 12:59:10 -07:00
Michael Scire
18825866ac
strat: automatic program id detection
2021-10-01 17:18:50 -07:00
Michael Scire
2b37e5d486
os: adopt nintendo ReaderWriter naming over ReadWrite
2021-10-01 11:42:34 -07:00
Michael Scire
41ab4c2c68
stratosphere: use SdkMutex/SdkRecursiveMutex over Mutex
2021-09-29 22:52:50 -07:00
SciresM
e9849c74cf
LogManager: implement system module, client api, logging api ( #1617 )
...
Some notes:
* Unless `atmosphere!enable_log_manager` is true, Nintendo's log manager will be used instead.
* This prevents paying memory costs for LM when not enabling logging.
* To facilitate this, Atmosphere's log manager has a different program id from Nintendo's.
* `atmosphere!enable_htc` implies `atmosphere!enable_log_manager`.
* LogManager logs to tma, and the SD card (if `lm!enable_sd_card_logging` is true, which it is by default).
* Binary logs are saved to `lm!sd_card_log_output_directory`, which is `atmosphere/binlogs` by default.
2021-09-11 19:32:14 -07:00
Michael Scire
094cede39e
ams: use util::SNPrintf over std:: (size/linker improvements)
2021-01-12 02:59:41 -08:00
Michael Scire
71a38ae74d
libexo/sc7fw: support release/debug/audit
2020-11-14 12:17:38 -08:00
Michael Scire
f66b41c027
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:07:45 -07:00
SciresM
98cc051387
pgl: Reimplement the pgl sysmodule ( #896 )
...
* pgl: add skeleton folder to stratosphere
* pgl: Add service interface for IShellInterface
* pgl: begin skeletoning shell service, implement two commands.
* pgl: Implement three more commands.
* pgl: implement bool tracking commands
* pgl: Implement TriggerApplicationSnapShotDumper
* pgl: implement InitializeProcessControlTask
* pgl: Implement pgl::srv::Initialize
* pgl: Implement main()
* pgl: Implement (Get)ShellEventObserver
* pgl: implement LaunchProgramFromHost, GetHostContentMetaInfo
* pgl: Implement ProcessControlTask
* settings: fix duplicate object name
* pgl: fix minor bugs in impl
2020-04-16 19:55:47 -07:00
SciresM
87ec045a98
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-29 14:43:16 -07:00
Michael Scire
40400aee1f
ams: revamp assertion system
2020-02-22 23:05:14 -08:00