Commit Graph

124 Commits

Author SHA1 Message Date
Lioncash
0d6f6c516c
all: Make file-scope variables internally linked where applicable
Narrows the scope of visible symbols to where they're actually used. Also
makes it easier to see true globals in source files
(ones used from multiple translation units)
2018-02-26 01:39:05 -05:00
Mat M
461105a501 fuse: simplify checks in fuse_get_reserved_odm and fuse_get_spare_bit (#54)
A separate variable isn't particularly necessary here, and given that the type
is unsigned, we only need to test the upper bound.

This also resolves two -Wtype-limits warnings
2018-02-25 21:23:31 -08:00
Mat M
fff3912c81 mc: Remove dead code in get_carveout_by_id (#52) 2018-02-25 21:13:07 -08:00
Mat M
991d4f1355 se: Remove memset in se_perform_aes_block_operation (#53)
We can just initialize the array to be zeroed out. This is safer and less error-prone,
since the initializer is now associated with the variable directly, making it
impossible to put code relying on the zeroed out state before it (unlike with memset).
2018-02-25 21:12:49 -08:00
TuxSH
4d3f1f6ae8 Remove built files that somehow got here 2018-02-25 22:36:32 +01:00
TuxSH
969b781a68 Failed attempt to fix loops not being unrolled, other fixes. 2018-02-25 21:41:16 +01:00
TuxSH
ed5f43ef39 Update .gitignore 2018-02-25 20:03:30 +01:00
TuxSH
b0ea9c1a0b Move source files to src/, add Makefile, fix all build and linkage errors, etc. 2018-02-25 20:00:50 +01:00
TuxSH
4c7aa566f0 Fix user page mmu mapping and naming scheme 2018-02-25 15:12:49 +01:00
TuxSH
ab38217720 Fix mmu descriptor mistakes 2018-02-25 14:37:44 +01:00
Michael Scire
c46a3cc794 Map userpage in at appropriate address (TODO: Invalidate TLB) 2018-02-25 01:31:45 -08:00
Michael Scire
78c8fe36fe Fix read64le 2018-02-25 01:26:40 -08:00
Michael Scire
82b4c6763d Implement getters for fuse values, fill out smcGetConfig 2018-02-25 01:21:52 -08:00
TuxSH
b0079e404d Clear pk2ldr in coldboot_main 2018-02-25 03:54:28 +01:00
TuxSH
a00e68e94a Write a significant chunk of coldboot init...
...merge start.cold.s and start.warm.s, other changes, etc.
2018-02-25 03:34:15 +01:00
TuxSH
be67169390
Merge pull request #50 from lioncash/error
memory_map: Fix most compilation issues
2018-02-25 00:14:50 +01:00
Mat M
a081c93094 bootconfig/configitem: Fix includes and identifiers (#49) 2018-02-24 12:46:57 -08:00
Lioncash
a34813bcf4
memory_map: Fix most compilation issues 2018-02-24 15:38:48 -05:00
Mike H
f6008d947d
More previously unknown fuses 2018-02-24 18:48:11 +00:00
Mike H
3929ba77e6
Adding FUSE_RESERVED_SW 2018-02-24 18:34:49 +00:00
hexkyz
e2d45878c3 Preliminary Exosphere FUSE driver 2018-02-24 18:15:47 +00:00
TuxSH
cc4f6f7f84 Introduce memory_map.h 2018-02-24 17:22:55 +01:00
Michael Scire
ed5850ebbf Implement se_trigger_interrupt, fix up some configitems 2018-02-24 07:25:38 -08:00
Michael Scire
e8b1e0b965 Implement exception vectors. 2018-02-24 07:06:29 -08:00
Michael Scire
422cd14aac Implement driver for the GIC-400. 2018-02-24 05:33:16 -08:00
Michael Scire
c94fe287cb Exosphere I2C Driver. 2018-02-24 04:27:34 -08:00
Michael Scire
672d76cb31 Fix I2C success mask 2018-02-24 04:27:34 -08:00
Mat M
56f5b56235 smc_user: Correct cache_flush to flush_dcache_range (#48)
cache_flush is a non-existent function
2018-02-23 20:38:21 -08:00
Mat M
44a2b7a344 smc_user: Add missing gcm.h include (#47)
Resolves an implicit declaration warning for gcm_decrypt_key
2018-02-23 16:09:55 -08:00
Mat M
e3897bb731 se: Add missing string.h include (#46)
Resolves implicit declaration warnings for memcpy and memset
2018-02-23 16:09:44 -08:00
Mat M
34d8a859ab timers: Fix identifier name in wait's spin-lock (#45)
Also resolves implicit definition warnings for wait by including the necessary header where applicable
2018-02-23 16:09:34 -08:00
Michael Scire
dbf2eb7ed1 Clean up BPMPFW I2C prototypes.
Prototypes for internal functions shouldn't be in shared headers.
2018-02-23 12:07:02 -08:00
TuxSH
0a0a1b088d
Merge pull request #43 from lioncash/prototype
i2c: Fix -Wmissing-prototypes warnings
2018-02-23 19:18:46 +01:00
TuxSH
b3f8908ece
Merge pull request #44 from lioncash/mmu
mmu: Remove phys_addr parameter from mmu_unmap_range
2018-02-23 19:18:06 +01:00
Lioncash
b4229f0fa8
mmu: Remove phys_addr parameter from mmu_unmap_range
It's unused
2018-02-23 09:25:21 -05:00
Lioncash
296b43744c
i2c: Fix -Wmissing-prototypes warnings 2018-02-23 09:19:32 -05:00
TuxSH
8e4a5bf32b
Merge pull request #17 from lioncash/include
Add missing string.h includes
2018-02-23 14:51:27 +01:00
TuxSH
dd3498a356
Merge pull request #27 from lioncash/param
mmu: Fix compilation issues
2018-02-23 14:50:54 +01:00
Mat M
9dfa6e2732 start.cold/warm: Correct MSR instructions (#42)
The second operand needs to be an immediate
2018-02-23 05:46:06 -08:00
Mat M
7b1fa3a8f0 start.cold/warm.s: Correct DSB instruction instances (#41)
DSB requires that the barrier option be specified
2018-02-23 05:42:55 -08:00
Merry
85df3dcb7e mc: fix invalid range comparison (#37) 2018-02-23 05:42:47 -08:00
Mat M
615216edeb smc_api: Fix compilation issues (#40)
* smc_api: Add missing includes

MASTERKEY_REVISION_400_CURRENT, seal_titlekey, PMC_BASE and the randomcache functions  aren't visible without them

* smc_api: Add missing parameter name to smc_get_result

* smc_api: Fix buffer being passed to se_get_exp_mod_output in smc_unwrap_rsa_oaep_wrapped_titlekey_get_result

wrapped_titlekey doesn't exist

* smc_api: Correct device physical address accesses in smc_read_write_register
2018-02-23 05:41:26 -08:00
Merry
e29123cac3 randomcache: Typo in randomcache_refill (#38)
g_random_cache_low > high_plus_one didn't update g_random_cache_high.
2018-02-23 05:40:47 -08:00
Mat M
0ec1ceca1f sealedkeys: Fix compilation issues (#39)
* sealedkeys: Remove non-existent variable in condition in seal_titlekey

* sealedkeys: call unseal_key_internal in unseal_key instead of seal_key_internal
2018-02-23 05:40:38 -08:00
TuxSH
91d1b047c4 Fix bpmpfw/Makefile, other changes. 2018-02-23 13:56:23 +01:00
Lioncash
705802d749
mmu: Fix call to non-existent mmu_unmap_page_range function in mmio_unmap_all_devices 2018-02-23 07:32:23 -05:00
Lioncash
d2f12c5900
mmu: Remove extraneous argument to mmu_unmap in mmu_unmap_range 2018-02-23 07:30:48 -05:00
Michael Scire
90f792b1cc Remove Makefile copy/paste leftovers for bpmpfw 2018-02-23 04:15:14 -08:00
Michael Scire
5370c7b150 Implement LP0-Entry BPMP Firmware 2018-02-23 04:13:18 -08:00
Michael Scire
f7598cb433 Implement smcConfigureCarveout 2018-02-23 01:12:38 -08:00