fork of 9front i guess
Go to file
cinap_lenrek 128ea44a89 kernel: expose no execute bit to portable mmu code as SG_NOEXEC / PTENOEXEC, add PTECACHED bits
a portable SG_NOEXEC segment attribute was added to allow
non-executable (physical) segments. which will set the
PTENOEXEC bits for putmmu().

in the future, this can be used to make non-executable
stack / bss segments.

the SG_DEVICE attribute was added to distinguish between
mmio regions and uncached memory. only matterns on arm64.

on arm, theres the issue that PTEUNCACHED would have
no bits set when using the hardware bit definitions.
this is the reason bcm, kw, teg2 and omap kernels use
arteficial PTE constants. on zynq, the XN bit was used
as a hack to give PTEUNCACHED a non-zero value and when
the bit is clear then cache attributes where added to
the pte.

to fix this, PTECACHED constant was added.

the portable mmu code in fault.c will now explicitely set
PTECACHED bits for cached memory and PTEUNCACHED for
uncached memory. that way the hardware bit definitions
can be used everywhere.
2019-08-26 22:34:38 +02:00
386 ape: floating point improvements (thanks spew) 2018-05-24 13:40:44 +01:00
68000 add signed fixed size integer typedefs 2018-05-12 19:19:52 +02:00
68020 ape: floating point improvements (thanks spew) 2018-05-24 13:40:44 +01:00
acme win: fix typo 2018-08-02 14:37:07 -04:00
adm/timezone timezones: add India (thanks joe9) 2019-05-11 01:23:59 +02:00
amd64 ape: floating point improvements (thanks spew) 2018-05-24 13:40:44 +01:00
arm ape: floating point improvements (thanks spew) 2018-05-24 13:40:44 +01:00
arm64 arm64: add mkfile 2019-05-03 21:12:31 +02:00
lib lib: update pci database 2019-05-05 14:36:11 -07:00
mips ape: floating point improvements (thanks spew) 2018-05-24 13:40:44 +01:00
power ape: floating point improvements (thanks spew) 2018-05-24 13:40:44 +01:00
power64 add signed fixed size integer typedefs 2018-05-12 19:19:52 +02:00
rc rc-httpd: serve markdown with text/plain content-type 2019-06-20 16:26:03 +09:30
sparc ape: floating point improvements (thanks spew) 2018-05-24 13:40:44 +01:00
sparc64 ape: floating point improvements (thanks spew) 2018-05-24 13:40:44 +01:00
spim add signed fixed size integer typedefs 2018-05-12 19:19:52 +02:00
sys kernel: expose no execute bit to portable mmu code as SG_NOEXEC / PTENOEXEC, add PTECACHED bits 2019-08-26 22:34:38 +02:00
.hgignore remove accidentally pushed change to .hgignore 2017-04-19 10:16:00 +00:00