plan9fox/sys/src/9/kw
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
..
notes Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
arch.c bcm, kw, omap, teg2: implement setregisters() 2019-06-20 13:17:36 +02:00
archkw.c kernel: move devether and wifi to port/ 2018-02-11 18:08:03 +01:00
arm.h ARM: kernel: add vfp emulator to bcm, teg2, omap, kw 2013-06-12 01:11:41 +05:30
arm.s Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
cga.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
clock.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
coproc.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
dat.h kernel: introduce per process FPU struct (PFPU) for more flexible machine specific fpu handling 2017-11-04 20:08:22 +01:00
devarch.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
devrtc.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
devtwsi.c correcting unicode superscripts for 1 2 and 3 2012-02-23 16:58:53 +01:00
ether1116.c devether: mux bridges, portable netconsole 2018-02-18 19:56:01 +01:00
ethermii.c kernel: move devether and wifi to port/ 2018-02-11 18:08:03 +01:00
ethermii.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
flashkw.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fns.h kernel: get rid of PTR2UINT() and UINT2PTR() macros 2019-04-11 13:51:38 +02:00
fpi.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fpi.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fpiarm.c kernel: introduce per process FPU struct (PFPU) for more flexible machine specific fpu handling 2017-11-04 20:08:22 +01:00
fpimem.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
init9.s Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
io.h io.h: fis comment PciSID (alphapc, kw, mtx, teg2) (thanks qeed!) 2015-05-30 16:50:02 +02:00
l.s Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
lexception.s Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
lproc.s Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
main.c kernel: get rid of PTR2UINT() and UINT2PTR() macros 2019-04-11 13:51:38 +02:00
mem.h kernel: expose no execute bit to portable mmu code as SG_NOEXEC / PTENOEXEC, add PTECACHED bits 2019-08-26 22:34:38 +02:00
mkfile kernel: move devether and wifi to port/ 2018-02-11 18:08:03 +01:00
mmu.c kernel: get rid of PTR2UINT() and UINT2PTR() macros 2019-04-11 13:51:38 +02:00
nvram Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
openrd.words Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
plug kernel: remove ptclbsum dependencies from configs 2019-02-27 08:47:17 +01:00
plug.words Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
rebootcode.s Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
softfpu.c kernel: do all fp state fork from procfork() (like pc kernel) 2013-05-30 23:26:21 +02:00
syscall.c kernel: get rid of PTR2UINT() and UINT2PTR() macros 2019-04-11 13:51:38 +02:00
trap.c kernel: get rid of PTR2UINT() and UINT2PTR() macros 2019-04-11 13:51:38 +02:00
uartkw.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
ucalloc.c usbehci: initial support for usb on zynq, remove uncached.h 2015-02-14 03:00:31 +01:00
usbehci.h usbehci: introduce dmaflush() function to handle portable cache invalidation for device drivers 2019-07-17 10:24:50 +02:00
usbehcikw.c usbehci: initial support for usb on zynq, remove uncached.h 2015-02-14 03:00:31 +01:00