I observed that touching MMIO regions of Tegra devices with its
corresponding clock gate deactivated immediately freezes the whole
system. No kernel panic, nothing.
I tested this behavior with a small kernel module, find it attached. A
few seconds after loading this module, the whole device freezes. Tested
this on a TK1 and TX1.
What is the actual expected behavior on ARM(64) when touching ungated
MMIO regions? Is it specified somewhere?
Why do I actually want to do that?
We're working on the Jailhouse hypervisor that partitions hardware to
isolated partitions, called cells. Devices (e.g. MMIO regions) are
assigned to those cells. A cell might do whatever it wants within its
scope. The hypervisor traps on access violations and will stop that cell.
Touching ungated MMIO regions isn't a violation, but it will hang up the
static int __init mod_init(void)
/* try 0x70006200 for UARTD
* or 0x7000c000 for I2C-0.
Make sure those devices are 'disabled' in your DT.
unsigned long phys = 0x70006200;
volatile unsigned int *mmio = ioremap(phys, 0x40);
*mmio = 0xdeadbeef;
static void __exit mod_exit(void)
You received this message because you are subscribed to the Google Groups
To unsubscribe from this group and stop receiving emails from it, send an email
For more options, visit https://groups.google.com/d/optout.