98799e6·Author: Valery Ushakov·Closed by: Charles Forsyth·2021-03-07
Description
This is a pretty straightforward merge of existing NetBSD code and Linux ARM bits. The result seems to work no worse than Linux/arm version (checked against raspbian). JIT doesn’t seem to work, but it doesn’t on Linux too - so Charon doesn’t work as one of the modules it uses is marked to be always jitted.
Â
NetBSD/arm: initial support
This is more or less mechanical merge of existing NetBSD code and ARM-specific bits from Linux/arm files.
NetBSD/asm-arm.S: use .L for local labels.
NetBSD/arm: disable pax mprotect restrictions for emu
ARM has separate read and execute protection bits so after writing out JIT code we need to make it executable with mprotect(2), but PAX wouldn't let us by default. Mark the emu binary so that this restriction is lifted.
On other machines where this is not an issue set PAXCTL to a no-op.
NetBSD/arm: segflush - use mprotect to add PROT_EXEC
ARM has separate read and execute protection bits so after writing out JIT code we need to make it executable.
This is a pretty straightforward merge of existing NetBSD code and Linux ARM bits. The result seems to work no worse than Linux/arm version (checked against raspbian). JIT doesn’t seem to work, but it doesn’t on Linux too - so Charon doesn’t work as one of the modules it uses is marked to be always jitted.
Â
NetBSD/arm: initial support
This is more or less mechanical merge of existing NetBSD code and ARM-specific bits from Linux/arm files.
NetBSD/asm-arm.S: use .L for local labels.
NetBSD/arm: disable pax mprotect restrictions for emu
ARM has separate read and execute protection bits so after writing out JIT code we need to make it executable with mprotect(2), but PAX wouldn't let us by default. Mark the emu binary so that this restriction is lifted.
On other machines where this is not an issue set PAXCTL to a no-op.
NetBSD/arm: segflush - use mprotect to add PROT_EXEC
ARM has separate read and execute protection bits so after writing out JIT code we need to make it executable.
Â