> The code running on nios2 can issue unaligned access to the jtag uart > registers, yes ? If that happens, what happens on real HW and how is > this emulated ?
Misaligned accesses to any registers would raise an exception. The exception is handled by interrupt controller, either "real" or emulated. Such access should never reach code for jtag uart. Also note we only allow access size 4 in the code: static const MemoryRegionOps juart_ops = { .read = altera_juart_read, .write = altera_juart_write, .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4 } }; Thanks Juro