Commit Graph
100 Commits
Author SHA1 Message Date
Michael Scire b6b114ec40 exo2: implement SmcSetKernelCarveoutRegion 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 864b6085a8 exo2: fix bugs in non-core0 bootup 2020-06-14 22:07:45 -07:00
Michael Scire fa64bf4951 exo2: implement GenerateRandomBytes 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 1fdd83628e exo2: fix typo bug 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 435d2fb0c3 exo2: remove unused lvars 2020-06-14 22:07:45 -07:00
Michael Scire 63629b22a1 exo2: use N's strategy for randcache, it's better 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 97ab282351 exo2: update configitem names to match wiki 2020-06-14 22:07:45 -07:00
Michael Scire 81846fa5c3 exo2: implement warmboot through start of virtual exec 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 71e0102f7a boot2: correct service access for mitm-forward-declare 2020-05-27 03:58:10 -07:00
Michael Scire fe0bd03feb strat: use 1 fewer fs session at runtime (and match official ncm usage) 2020-05-27 03:51:11 -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 a2496e5462 exo: fix warmboot memory address error 2020-05-18 08:57:20 -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
Michael Scire 19d8a0fc2b os: use ported libnx mutex impl 2020-05-17 23:20:21 -07:00
Michael Scire 8052dd6249 fusee: fix boot support on < 7.x 2020-05-16 16:00:45 -07:00
Michael Scire 9baf096a10 dmnt: make debug event result handling more robust (closes #938) 2020-05-16 15:05:46 -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 17b6bcfd37 loader: correct anti-downgrade tables for new version scheme 2020-05-06 22:39:11 -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 3bc7c52ade pm: correct extra application thread allocation counts 2020-05-01 05:23:37 -07:00
SciresM e819f3dbce exefs.nsp 2020-04-29 14:13:34 -07:00
SciresM 4d78b834cb ldr: add technical semantics for redirection 2020-04-29 11:45:58 -07:00
Michael Scire f670949ca9 os: oh geez look at the time 2020-04-29 00:41:51 -07:00
Michael Scire 72f1e85aba git subrepo push emummc
subrepo:
  subdir:   "emummc"
  merged:   "292a8ad4"
upstream:
  origin:   "https://github.com/m4xw/emuMMC"
  branch:   "develop"
  commit:   "292a8ad4"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2020-04-28 00:14:42 -07:00
Michael Scire 491ba8fdcf emummc: fix console reinitialize on 10.x
10.x FS now receives a transfer memory to wipe BIS with and maps it.

This requires SVCs that emummc did not give itself access to.

This commit adds them, which prevents a FS process abort on re-init.
2020-04-28 00:11:42 -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
SciresM aca2992c68 Add up-to-date roadmap. 2020-04-27 09:35:23 -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 7bc0250cea exosphere: correct reencryption of rsa private keys 2020-04-24 17:36:37 -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
SciresM be07035954 Dmnt: Add break/continue commands, add static register api. (#899)
* dmnt: implement break/continue, static reg commands

* dmnt: revise per WerWolv's feedback.
2020-04-24 17:00:43 -07:00
Michael Scire 2e4e59dbda docs: right 2020-04-22 17:59:03 -07:00
Michael Scire 0fb528836c note that we support 10.0.1 2020-04-22 17:56:13 -07:00
Michael Scire 4a01ae8b9d docs: yeah this is kinda too big a changelog 2020-04-22 17:54:19 -07:00
Michael Scire 5bec9395b1 docs: Add a bunch of 0.11.2's changelog ahead of time.
0.11.2 will release sometime in the next week or two or so.

I am writing this now while I remember all the things that have happened,
so that I don't forget about them when release comes.

There is also a PR for dmnt changes that will be merged into 0.11.2 not included here,
and there may be more changes before the release occurs.
2020-04-22 17:49:52 -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
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 32e5283ac2 bump version to 0.11.1 2020-04-15 01:30:12 -07:00
Michael Scire 1d9a4f47fd exosphere: set cpuactlr to guarantee it holds non reset value 2020-04-15 01:26:28 -07:00
Michael Scire 3f5f9b60ea exosphere: ... 2020-04-15 00:14:36 -07:00
Michael Scire 08e1b4d116 docs: fix partial changelog 2020-04-14 14:12:57 -07:00
Michael Scire 683580861f docs: add changelog for 0.11.0 2020-04-14 13:54:17 -07:00
Michael Scire 7d30460214 exosphere: fix reentrancy of se interrupt handler 2020-04-14 12:23:08 -07:00
Michael Scire d7ba3291ed git subrepo push emummc
subrepo:
  subdir:   "emummc"
  merged:   "b168ddf5"
upstream:
  origin:   "https://github.com/m4xw/emuMMC"
  branch:   "develop"
  commit:   "b168ddf5"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2020-04-14 11:17:12 -07:00
Michael Scire c07f54f370 emummc: fix for svcQueryIoMapping abi change 2020-04-14 11:15:19 -07:00
Michael Scire 6fe8ada37a ncm/build dist: minor fixes 2020-04-14 10:20:27 -07:00
Michael Scire 94b10b5779 ams: fix boot sysmodule/kernel for 10.0.0 2020-04-14 10:11:58 -07:00
Michael Scire 9b677c81a5 fusee: support passing target firmware to kernel loader. 2020-04-14 10:11:58 -07:00
Michael Scire 116e00c21c kernel_ldr: update to support 10.0.0 2020-04-14 07:38:01 -07:00