> then QEMU crashes on startup. (It also crashes if I put that blah > entry on the beginning instead of the end.) I'm sure there's code > somewhere that must be making assumptions about the size of TLB entry, > but I'm at a loss for finding it. (I have noticed that the assembly > code in softmmu_header.h indexes to the addend based on addr_read or > addr_write, but adding a new member to the end of the structure > shouldn't impact that, right?)
Wrong. The assembly implementation assumes CPUTLBEntry is 16 bytes (or to be exact 1 << CPU_TLB_ENTRY_BITS). The C implementation in softmmu_header.h will work with any layout. Paul