Michael Scire
6780b096ca
exo2: address volca review commentary
2020-06-14 22:07:45 -07:00
Michael Scire
293c213bf2
exo2: implement warmboot firmware
2020-06-14 22:07:45 -07:00
Michael Scire
6c145d76c7
exo2: implement SmcIramCopy/reboot to payload/rcm
2020-06-14 22:07:45 -07:00
Michael Scire
bb6671a94a
exo2: implement SmcReencryptDeviceUniqueData
2020-06-14 22:07:45 -07:00
Michael Scire
95d38a1a94
exo2: suspend fixes (sleep/wake now works on hardware)
2020-06-14 22:07:45 -07:00
Michael Scire
2fb363dcf0
exo2: implement the rest of cpu suspend (security checks TODO)
2020-06-14 22:07:45 -07:00
Michael Scire
34098f7215
exo2: add sc7fw load, skeleton rest of suspend
2020-06-14 22:07:45 -07:00
Michael Scire
0202a95832
exo2: implement the first half of SmcCpuSuspend
2020-06-14 22:07:45 -07:00
Michael Scire
068c25ce66
exo2: add a number of minor configuration fixes
2020-06-14 22:07:45 -07:00
Michael Scire
8e401f4daa
exo2: implement smc cpu off
2020-06-14 22:07:45 -07:00
Michael Scire
ccba70abfe
exo2: implement SmcPrepareEsDeviceUniqueKey, SmcPrepareEsCommonTitleKey, SmcLoadPreparedAesKey
2020-06-14 22:07:45 -07:00
Michael Scire
1e0124fb67
exo2: fix bugs in device unique data decrypytion
2020-06-14 22:07:45 -07:00
Michael Scire
91e0bbd9d7
exo2: Implement (untested) SmcDecryptDeviceUniqueData
2020-06-14 22:07:45 -07:00
Michael Scire
4fe42eb997
exo2: implement some mariko TODOs
2020-06-14 22:07:45 -07:00
Michael Scire
99e0448f30
exo2: cache soc type/hardware type for quick lookup
2020-06-14 22:07:45 -07:00
Michael Scire
a0b08d0540
exo2: fix bugs in Cmac and DeviceId calculation
2020-06-14 22:07:45 -07:00
Michael Scire
aa50944568
exo2: tentative (read: bugged) SmcComputeCmac, SmcGenerateSpecificAesKey, SmcGetSecureData
2020-06-14 22:07:45 -07:00
Michael Scire
e0dbfc69a8
exo2: implement SmcComputeAes, SmcGetResult, SmcGetResultData
2020-06-14 22:07:45 -07:00
Michael Scire
bf546d5fb3
exo2: implement SmcGenerateAesKek, SmcLoadAesKey
2020-06-14 22:07:45 -07:00
Michael Scire
6bf283ec2e
exo2: implement SmcGetConfig
2020-06-14 22:07:45 -07:00
Michael Scire
e3eadcd2e3
exo2: Implement SmcReadWriteRegister
2020-06-14 22:07:45 -07:00
Michael Scire
8c4c1db506
exo2: minor fixes, now completes main and receives SMCs on hw
2020-06-14 22:07:45 -07:00
Michael Scire
27843314a4
exo2: minor stack/mmu fixes, now gets to main on hw
2020-06-14 22:07:45 -07:00
Michael Scire
3d6baf96a3
exo2: implement SmcPowerCpuOn
2020-06-14 22:07:45 -07:00
Michael Scire
ab703646d5
exo2: by default, map end of iram for debug
2020-06-14 22:07:45 -07:00
Michael Scire
b7ff9e8fcc
exo2: reorganize to save >0x300 bytes and 0x100 of stack in main
2020-06-14 22:07:45 -07:00
Michael Scire
ad664daea5
exo2: implement remainder of warmboot tz code
2020-06-14 22:07:45 -07:00
Michael Scire
dc6abf9f68
exo2: Implement the rest of main/return-to-el1
2020-06-14 22:07:45 -07:00
Michael Scire
87bdc46beb
exo2: implement rest of main other than SetupSocProtections
2020-06-14 22:07:45 -07:00
Michael Scire
f391354415
exo2: implement through package2 decryption
2020-06-14 22:07:45 -07:00
Michael Scire
9ddcbe9dc3
exo2: implement main through sync-for-pk21-load
2020-06-14 22:07:45 -07:00
Michael Scire
e11fad6598
exo2: implement through boot config load/validate
2020-06-14 22:07:45 -07:00
Michael Scire
cbcd1d87fb
exo2: implement through end of random cache init
2020-06-14 22:07:45 -07: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
Michael Scire
80e49696ea
ams: update for 10.0.3
2020-05-25 19:33:21 -07:00
Michael Scire
f215da3b37
fs: miscellaneous bucket tree fixes
2020-05-19 09:48:44 -07:00
Michael Scire
de9a3c6dfc
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "797dfa78"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "797dfa78"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2020-05-18 08:22:36 -07:00
Adubbz
79ae47f028
ncm: implement firmware downgrading ( #958 )
...
* ncm: implement firmware downgrading
* ncm: make storage list const
2020-05-18 08:03:38 -07:00
Michael Scire
19d8a0fc2b
os: use ported libnx mutex impl
2020-05-17 23:20:21 -07:00
Michael Scire
c8e5461e3f
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "bbbe6793"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "bbbe6793"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2020-05-14 02:22:58 -07:00
Michael Scire
53a47e07fd
nca-pr: update for c++20
2020-05-14 02:22:24 -07:00
Michael Scire
311d2678c7
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "b38939ad"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "b38939ad"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2020-05-12 15:44:47 -07:00
SciresM
81f91803ec
Implement support for parsing/interacting with NCAs. ( #942 )
...
* fs: implement support for interacting with ncas.
* spl: extend to use virtual keyslots
2020-05-11 15:04:51 -07:00
SciresM
3a1ccdd919
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-11 15:02:10 -07:00
Michael Scire
0e289461bb
ams: use psc acknowledge_ex on 5.1.0+ (fixes wake-from-sleep on 5.1.0)
2020-05-06 22:34:34 -07:00
Michael Scire
8e75a4169d
ams: revamp target firmware
2020-05-06 22:29:07 -07:00
Michael Scire
85cd2c97a0
ams:bpc: allow programatically setting reboot payload
2020-05-04 23:29:54 -07:00
Michael Scire
9ddc6e596b
kern: fix link error
2020-05-02 22:30:34 -07:00
Michael Scire
f670949ca9
os: oh geez look at the time
2020-04-29 00:41:51 -07:00
Michael Scire
0bfbc6e6eb
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "6913aa52"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "6913aa52"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2020-04-27 10:34:30 -07:00
Michael Scire
2dfe5b192e
result: add R_CATCH_MODULE
2020-04-27 10:33:51 -07:00
Michael Scire
52c89a76b2
kern: fix KLinkedList dtor
2020-04-27 03:56:12 -07:00
Michael Scire
71d266f867
kern: implement SvcSetUnsafeLimit
2020-04-26 02:49:59 -07:00
Michael Scire
970b85bf9a
kern: implement KUnsafeMemory
2020-04-26 02:35:10 -07:00
Michael Scire
524da78b0e
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "bb40dae3"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "bb40dae3"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2020-04-24 17:29:50 -07:00
Michael Scire
7458879555
ams: bump version to 0.12.0
2020-04-24 17:28:57 -07:00
Michael Scire
1d40a08ef9
dmnt: move stuff around slightly, add client bindings
2020-04-24 17:24:15 -07:00
Michael Scire
0fb528836c
note that we support 10.0.1
2020-04-22 17:56:13 -07:00
SciresM
3bc2d79384
PRODINFO: Revamp blanking/write disallow policy. ( #913 )
...
* exo/fusee: hookup new prodinfo settings
* fusee: new scheme doesn't need FLAGS_DEFAULT
* fusee: fix c/p errors
* ams.mitm: completely revamp prodinfo backup mechanism
* ams.mitm: Implement revamped blanking/write policy
* strat: make early boot more debuggable
* exo: condense flag logic
2020-04-22 16:22:14 -07:00
Michael Scire
6ac1ff6f24
creport: Try to take screenshot of application crashes on 9.x+
2020-04-22 14:50:16 -07:00
Michael Scire
93e0c9194d
erpt: fix access to time service on versions where it is disallowed
2020-04-22 12:03:55 -07:00
Michael Scire
6ad0f0e7f2
kern/kldr: fix bugs in physical randomization
2020-04-22 03:45:21 -07:00
Michael Scire
4f50f57bb7
os: bug fixes after re-review of rwlock code
2020-04-21 22:40:45 -07:00
Michael Scire
97cba5e881
os: implement ReadWriteLock
2020-04-21 20:23:50 -07:00
Michael Scire
6eb77e69c4
refactor jpegdec implementation into libstrat (thanks again, Behemoth!)
2020-04-20 04:37:08 -07:00
HookedBehemoth
90d754f920
jpegdec reimplementation ( #912 )
...
* add jpegdec reimplementation
* reduce work memory
* fix color space
* jpegdec: cleanup results to use atmosphere style
* fix outdated comments, correct do/while bug
Co-authored-by: Michael Scire <SciresM@gmail.com>
2020-04-20 02:07:37 -07:00
Michael Scire
b39b6f0d5b
kern: implement 10.x perm change, fix many page table bugs
2020-04-19 17:16:19 -07:00
Michael Scire
dcfb3bc9b5
kern: randomize dynamic slab heaps to reflect 10.x changes
2020-04-19 00:35:05 -07:00
Michael Scire
b4d003b4b9
kern: fix suboptimal mapping choices by kernel/kernelldr
2020-04-19 00:01:06 -07:00
Michael Scire
bc1d3ccc91
kern: Update init to reflect 10.0.0 changes
2020-04-18 22:19:09 -07:00
Michael Scire
152a945561
kern: Update page bitmaps/alloc to reflect 10.0.0 changes
2020-04-18 17:10:26 -07:00
Michael Scire
3da0cda4ae
ams: centralize system thread definitions
2020-04-17 01:06:07 -07:00
Michael Scire
d77fe98203
sf: properly support preservation of inline context
2020-04-16 23:51:42 -07:00
Michael Scire
94ec9ae41b
hos: change initialization API
...
This was needed to make stratosphere buildable with debugging on.
os:: assertions rely on GetCurrentThread() working, and this requires
the global os resource manager to be constructed. However, __appInit executes
before global constructors. We now require that hos::InitializeForStratosphere()
be called before anything else is done. This initializes the os resource manager,
sets the hos version for libnx, and may do more things in the future.
TODO: Consider replacing __appInit/__appExit with ams:: namespace functions in general,
and wrap them so that we guarantee hos::InitializeForStratosphere is called first, and
generally ensure a consistent stratosphere environment.
2020-04-16 22:57:01 -07:00
Michael Scire
332dbdd497
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "c1fe12fc"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "c1fe12fc"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2020-04-16 20:06:20 -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
Michael Scire
f2944d36ba
kern: amend syntax
2020-04-16 18:00:42 -07:00
Michael Scire
46d79387e8
mesosphere: implement KMemoryBlockManager::UpdateLock
2020-04-16 17:58:51 -07:00
Michael Scire
0bb2c0a04f
licensing: update exemptions (approved by contributors).
2020-04-16 17:33:04 -07:00
Michael Scire
eca2b453ae
pgl: update with client C++ bindings
2020-04-15 20:07:20 -07:00
Michael Scire
e14dc18bd3
pgl: skeleton api
2020-04-15 17:37:11 -07:00
Michael Scire
c7743c6098
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "96825c75"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "96825c75"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2020-04-15 11:55:50 -07:00
Michael Scire
d81a3bdc36
bump version to 0.11.1
2020-04-15 01:34:35 -07:00
Michael Scire
c07f54f370
emummc: fix for svcQueryIoMapping abi change
2020-04-14 11:15:19 -07:00
Michael Scire
94b10b5779
ams: fix boot sysmodule/kernel for 10.0.0
2020-04-14 10:11:58 -07:00
Adubbz
a25be61e94
ncm: update to 10.0.0 ( #879 )
2020-04-14 10:11:51 -07:00
Michael Scire
116e00c21c
kernel_ldr: update to support 10.0.0
2020-04-14 07:38:01 -07:00
Michael Scire
c6424921a6
10.0.0 + a new sysmodule reimplementation probably merits 0.11.0
2020-04-14 03:34:35 -07:00
Michael Scire
8547802904
boot2: update for 10.0.0
2020-04-14 03:30:03 -07:00
Michael Scire
200d2df785
pm: Update to support 10.0.0
2020-04-14 02:54:55 -07:00
Michael Scire
73552c86c3
loader: update for 10.0.0
2020-04-14 02:45:28 -07:00
Michael Scire
dd80e1f463
loader: update anti-downgrade tables for 10.0.0
2020-04-13 23:44:01 -07:00
Michael Scire
aa4c79cd9c
exosphere: update to support 10.0.0
2020-04-13 23:30:54 -07:00
Michael Scire
6719abec65
hos::Version: rename enum members
2020-04-13 22:19:44 -07:00
SciresM
79b9e07ee9
erpt: reimplement the sysmodule ( #875 )
...
* erpt: reimplement the sysmodule
* fatal: update for latest bindings
* erpt: amend logic for culling orphan attachments
2020-04-13 17:07:37 -07:00
Michael Scire
eca5ac01b8
erpt: include all known types/categories in autogen
2020-04-10 03:33:30 -07:00
Michael Scire
50ea19e7a2
erpt: identify flags in autogen
2020-04-08 10:32:53 -07:00
Michael Scire
823a1f3ea3
erpt: tweak autogen
2020-04-08 10:09:56 -07:00
Michael Scire
b73895df0a
util: add bitflagset
2020-04-08 08:39:36 -07:00
Michael Scire
5062329979
erpt: add ids (and autogeneration tool)
2020-04-08 07:17:42 -07:00