Граф коммитов

25 Коммитов

Автор SHA1 Сообщение Дата
Andrew Baumann 1238e67a9e global rename from kevlar to komodo 2016-08-30 10:43:21 -07:00
Andrew Baumann 3937cb9bbe pass secure_physbase to monitor by setting it directly from the loader
This avoids a special-case SMC call
2016-06-20 12:56:55 -07:00
Andrew Baumann 58dad79479 setup mvbar distinct from secure vbar 2016-06-14 15:52:39 -07:00
Andrew Baumann a7e674f472 further simplify the monitor <-> bootloader interface, so the initial setup call is just another SMC 2016-06-07 16:31:11 -07:00
Andrew Baumann a562290644 simplify monitor startup, by moving code to leave secure world into
the loader and setting up sp_mon from there
2016-06-06 16:14:47 -07:00
Andrew Baumann 7b83f963f1 initial implementation of address space switch 2016-06-02 13:15:57 -07:00
Andrew Baumann cf6cc7e98b clean up monitor's virtual memory layout, so that everything is statically allocated
change user-mode VM region to 1GB, so all allocations can be 4kB (including the L1 tables)
added direct-map region, so we can look at by-reference parameters from normal world
2016-05-24 15:34:14 -07:00
Andrew Baumann d9e0fc37df checkpoint: using loaderblock in monitor, sizing the page DB, handling trivial SMCs 2016-05-13 16:39:20 -07:00
Andrew Baumann d02b208626 don't forget to stack LR across SMC C handler; now back into Linux boot 2016-05-13 09:49:45 -07:00
Andrew Baumann 5b04b1c335 checkpoint: started work to pass a loader block to the monitor, and have it always responsible for leaving secure world
currently broken, because of a problem with qemu's MSR/MRS instructions that I need to track down
2016-05-12 16:53:53 -07:00
Andrew Baumann 947fb44544 fix alignment bug (and dumb loop) when mapping monitor with a non-empty BSS 2016-05-12 16:32:16 -07:00
Andrew Baumann 7ebda9435e tweak smc path to avoid using/specifying the immediate, per the ARM SMC ABI spec 2016-04-29 12:14:58 -07:00
Andrew Baumann 5017bee158 SMC test code
* avoid trampling r4
 * changed from -march=armv7-a to -mcpu=cortex-a7 to enable SMC instruction (why?)
2016-04-19 16:42:46 +01:00
Andrew Baumann a4eeeec048 enable caches (!) and sharing in PTEs 2016-04-19 11:53:57 +01:00
Andrew Baumann 3a3a8bc386 debugging goop to try to debug hw issue (hang when enabling MMU); no luck yet 2016-04-12 16:25:44 -07:00
Andrew Baumann a89c1db659 checkpoint: entering linux, and parking other cores 2016-04-10 20:29:41 -07:00
Andrew Baumann b960572817 now calling into and returning to loader from monitor (in SW PL1) 2016-04-08 21:29:05 -07:00
Andrew Baumann 963cb607f0 checkpoint: fixed some bugs, into early monitor binary (bad stack addr?) with translations on 2016-04-08 16:27:58 -07:00
Andrew Baumann 28a6e1c584 checkpoint: as far as calling into the monitor on qemu, but translations don't seem to work 2016-04-06 16:52:33 -07:00
Andrew Baumann 1e569e9e97 checkpoint: lots of work on mapping monitor, but none of it tested 2016-04-05 16:36:56 -07:00
Andrew Baumann fe562b0633 add code to reserve high phys mem for the monitor and adjust size reported to linux 2016-04-04 16:49:46 -07:00
Andrew Baumann f328cf3df3 checkpoint: booting on hw again, looking at atags 2016-04-04 16:18:53 -07:00
Andrew Baumann 95574c16fb build/link three different blobs (loader, kernel, monitor) 2016-04-01 16:56:13 -07:00
Andrew Baumann 7c25a59e17 setup all cores, and prep for loading a separate secure monitor 2016-04-01 14:53:26 -07:00
Andrew Baumann a96ba7e116 refactor into subdirectories, after thinking through the components needed
cleaned up build system a tad
2016-03-29 16:16:32 -07:00