On Wed, Aug 26, 2009 at 04:41:20PM +0200, Artem Alimarine wrote: > One point is that in the function apply_relocate_add a 4-byte aligned > address is created: > > 627 dot = (Elf64_Addr)loc & ~0x03; > 628 loc64 = (Elf64_Xword *)loc; > > and used as a 64-bit location > > 711 case R_PARISC_DIR64: > 712 /* 64-bit effective address */ > 713 *loc64 = val + addend; > 714 break; > > So, 8-byte word is read with a 4-byte alignment. Perhaps this is expected to be an 8byte address pointing at a 4-byte word? (and it's a bug that ist's not) > I am busy building a parisc hardware emulator. It boots Linux, but it is > unstable yet. There are unaligned accesses in the emulation trace. I was > wandering whether it is normal behavior or caused by a bug in the > emulation. HP has such an emulator. I've even tried to boot parisc-linux on it (failed) ~8 years ago. Any chance someone from HP could publish it? You might also look at Aries PA-RISC emulator (on ia64): http://www.princeton.edu/~rblee/ELE572Papers/PARISCtoIA64.htm > The emulation trace gives a lot of accesses like this: > 0-4011f968: translate_virtual_write unaligned_trap, va=0:416a20c > pa=1db1820c > 0-4011f968: translate_virtual_write unaligned_trap, va=0:416a21c > pa=1db1821c > 0-4011f968: translate_virtual_write unaligned_trap, va=0:416a224 > pa=1db18224 > > They are indeed 4-byte aligned. The PC address matches > apply_relocate_add in the kernel map. *nod* thanks, grant -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html