6 Commits
Author SHA1 Message Date
borysp c24bddd5aa [LibOS] Rework signal handling and syscall emulation
Change log (most important only):
- unify CPU context structures - now we have only one version -
  `PAL_CONTEXT` - which is shared between LibOS and PALs and it should
  depend only on the host architecture (not OS),
- syscalls emulation changed:
  - dedicated LibOS stack is now used for syscalls emulation,
  - removed one indirection level in syscalls table - now it stores
    `shim_do_*` functions directly,
- signal handling - completely rewritten:
  - all signal queues use proper locking schemes now,
  - signals are handled *only* when returning to the user app from LibOS
    or PAL,
  - nested signals are now possible,
  - the app is allowed to jump out of signal handler with the same
    sematics as on normal Linux,
  - signal altstack is now fully supported,
  - syscall restarting is now supported,
  - doing a backtrace from the signal handler works properly,
- disallow injecting host-level signals, with one exception, see
  `sys.enable_sigterm_injection` manifest option for more details.
2021-02-05 14:11:21 +01:00
Dmitrii Kuvaiskii 70c7264f03 [Pal/Linux-SGX] Add manifest option loader.pal_internal_mem_size
Previously, Graphene preallocated 64MB for PAL internal metadata
like trusted/protected files metadata, handles metadata, etc.
If this limit was depleted, Graphene loudly failed, and the user
had no option but to change constant in source code and rebuild
Graphene. This commit adds the manifest option
`loader.pal_internal_mem_size` to allow increasing this limit.
2020-09-30 08:14:38 -07:00
Dmitrii Kuvaiskii 2093d64ce2 [Docs] Clean-up, unify and rearrange Graphene documentation 2020-08-13 14:48:36 -07:00
Wojtek Porczyk 527bb358f4 [Docs] Split Doxygen into multiple subprojects
This is done, because multiple PAL implementations necessarily have
common function names.
2020-03-21 23:46:05 +01:00
Wojtek Porczyk b52aad6c03 [Docs] Change |nbsp| to |~|
|nbsp| is so long it breaks reading pace. |~| is shorter and also more
familiar to TeX writers. |nbsp| is still used in GitHub-specific
documents, because GitHub doesn't parse our conf.py.
2020-03-21 23:46:05 +01:00
Wojtek Porczyk 3928126a70 [Doc] Add Documentation/ stub 2019-08-21 18:30:16 +02:00