base: enable executable memory fault handling

Fixes #1723
This commit is contained in:
Alexander Boettcher
2017-10-13 15:26:33 +02:00
committed by Christian Helmuth
parent 03b8e70d3f
commit db329b02b5
11 changed files with 77 additions and 32 deletions

View File

@ -45,7 +45,6 @@ namespace Genode {
bool _iomem;
unsigned _log2size;
bool _rw;
bool _grant;
public:
@ -54,20 +53,20 @@ namespace Genode {
*/
Mapping(addr_t dst_addr, addr_t src_addr,
Cache_attribute c, bool io_mem,
unsigned l2size = L4_LOG2_PAGESIZE,
bool rw = true, bool grant = false)
unsigned l2size,
bool rw, bool executable)
: _dst_addr(dst_addr), _src_addr(src_addr),
_cacheability(c), _iomem(io_mem), _log2size(l2size),
_rw(rw), _grant(grant) { }
_rw(rw) { }
/**
* Construct invalid flexpage
*/
Mapping() : _dst_addr(0), _src_addr(0), _cacheability(UNCACHED),
_iomem(false), _log2size(0), _rw(false), _grant(false) { }
_iomem(false), _log2size(0), _rw(false) { }
Fiasco::l4_umword_t dst_addr() const { return _dst_addr; }
bool grant() const { return _grant; }
bool grant() const { return false; }
Fiasco::l4_fpage_t fpage() const
{
@ -176,6 +175,8 @@ namespace Genode {
bool write_fault() const { return (_pf_addr & 2); }
bool exec_fault() const { return false; }
/**
* Return true if last fault was an exception
*/