Re: [PATCH v3 1/1] x86: Add Isolated Memory Regions for Quark X1000

From: Bryan O'Donoghue
Date: Tue Feb 24 2015 - 17:40:19 EST


On 23/02/15 22:18, Pavel Machek wrote:
On Mon 2015-01-26 14:15:27, Bryan O'Donoghue wrote:


Do the applications normally need to manipulate IMRs?


Applications could in theory manipulate IMRs - you might want to place an IMR around an EFI capsule in memory for example - before calling a capsule update.

This code will place an IMR around the kernel .text - .rodata which ensures that no unwarranted DMA access can rewrite write-only kernel addresses - something the MMU would not fault on - on non-IMR enabled processors.

Would it be
possible to do all IMR manipulations in the bootloader?


Possible yes - in practical terms for Galileo or the SMARC+Quark from Kontron for example - you'd be forcing a bootloader change - which most users will not pick up.


Considering IMRs can reset the system if they aren't sanitized, it's good practice for the kernel to go and make sure that every unlocked IMR is torn-down and reset.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/