Michael Scire
4577648cc2
windows: link libgcc/libstdc++ statically
2022-03-23 09:15:56 -07:00
Michael Scire
bdd66fb5ea
symbols: use same strategy on windows as on macOS
2022-03-23 09:15:51 -07:00
Michael Scire
071f9fb2f0
use cxxabi for demangling on linux/windows
2022-03-23 09:15:50 -07:00
Michael Scire
1f2822fafe
abort/error: print backtrace, abuse templates, overhaul result/diag (macos not done yet)
2022-03-23 09:15:49 -07:00
Michael Scire
7a689dc29e
libs: add ongoing work to facilitate hactool rewrite
2022-03-23 09:15:48 -07:00
Michael Scire
d7a9c7ec4c
ams: support building unit test programs on windows/linux/macos
2022-03-23 09:15:46 -07:00
Michael Scire
e534df9f21
build: remove unnecessary g-dwarf4 flags
2022-03-23 09:15:40 -07:00
Michael Scire
bb16bb0d8d
ams: update for awareness of architecture revision
2021-11-03 23:59:53 -07:00
Michael Scire
194e58a3e3
kern/test: add wip qemu-virt board support to mesosphere
2021-10-26 01:11:16 -07:00
Michael Scire
87e4f1b896
ams-libs: move -Wno-invalid-offsetof to cxxflags, not cflags
2021-10-26 01:11:11 -07:00
Michael Scire
99521b37ab
ams-libs: use nintendo_nx identifier for source file compat bpmp<->ccplex
2021-10-26 01:11:11 -07:00
Michael Scire
960c5c19f9
ams: improve offsetof style consistency
2021-10-26 01:11:10 -07:00
Michael Scire
2905319d46
strat: use ams::Main() instead of main(argc, argv)
2021-10-07 23:06:29 -07:00
Michael Scire
8a8631ebcb
strat: build sysmodules with -Wextra/-Werror
2021-10-07 23:06:29 -07:00
Michael Scire
9ca9c59a19
fusee_cpp: implement mtc erista patram writes
2021-09-06 16:32:38 -07:00
Michael Scire
fa86167605
fusee_cpp: tweaks, now completes SecureInitialize on hardware
2021-09-06 16:32:35 -07:00
Michael Scire
635aeb09b9
fusee-cpp: add basic structural stubs
2021-09-06 16:32:33 -07:00
Michael Scire
808bc02011
build: use DWARFv4 explicitly for IDA compatibility with debug elfs
2021-07-06 07:28:31 -07:00
Michael Scire
7d6c938029
exo: revert section sorting
2021-05-12 09:09:43 -07:00
Michael Scire
12bcd395d6
exo: sort sections by alignment
2021-05-12 09:09:41 -07:00
Michael Scire
07073a7580
sm: update to excise unnecessary library code
2021-05-12 09:09:41 -07:00
Michael Scire
4a48e0ee5d
exo: remove duplicate flags
2021-04-29 03:04:55 -07:00
Michael Scire
f4fab6faae
exo: fix for newer binutils
2021-04-29 03:04:55 -07:00
Michael Scire
d8e35f2277
exo/meso: update for gcc 11 compatibility
2021-04-29 03:04:54 -07:00
Michael Scire
92addb538e
stratosphere: discard unnecessary .eh_frame segment
2021-01-13 10:41:30 -08:00
Michael Scire
e82a57dc85
ams: resolve source dir inconsistency
2020-12-29 13:07:57 -08:00
Michael Scire
a911d2da7e
kern: build as -Os instead of -O2
2020-12-02 06:53:18 -08:00
Michael Scire
3cfd412e6a
libexo/sc7fw: support release/debug/audit
2020-12-02 06:52:53 -08:00
SciresM
791b402320
sdmmc: implement driver suitable for fs + bootloader
...
* sdmmc: begin skeletoning sdmmc driver
* sdmmc: add most of SdHostStandardController
* sdmmc: implement most of SdmmcController
* sdmmc: Sdmmc2Controller
* sdmmc: skeleton implementation of Sdmmc1Controller
* sdmmc: complete abstract logic for Sdmmc1 power controller
* sdmmc: implement gpio handling for sdmmc1-register-control
* sdmmc: implement pinmux handling for sdmmc1-register-control
* sdmmc: fix building for arm32 and in stratosphere context
* sdmmc: implement voltage enable/set for sdmmc1-register-control
* util: move T(V)SNPrintf from kernel to util
* sdmmc: implement BaseDeviceAccessor
* sdmmc: implement MmcDeviceAccessor
* sdmmc: implement clock reset controller for register api
* sdmmc: fix bug in WaitWhileCommandInhibit, add mmc accessors
* exo: add sdmmc test program
* sdmmc: fix speed mode extension, add CheckMmcConnection for debug
* sdmmc: add DeviceDetector, gpio: implement client api
* gpio: modernize client api instead of doing it the lazy way
* sdmmc: SdCardDeviceAccessor impl
* sdmmc: update test program to read first two sectors of sd card
* sdmmc: fix vref sel
* sdmmc: finish outward-facing api (untested)
* ams: changes for libvapours including tegra register defs
* sdmmc: remove hwinit
2020-12-02 06:52:42 -08:00
SciresM
9ee32fee0f
Meso build targets ( #1196 )
...
* meso: commit wip (thanks fincs) rewrite to support build targets
* meso: commit mostly-working build system
* meso: correct .o dependencies in kernel/kldr
* libstratosphere: fix building after PCH related build changes
Co-authored-by: fincs <fincs@devkitpro.org>
2020-12-02 06:52:42 -08:00
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