Hi Andreas, On 23/08/13 12:08, Andreas Färber wrote: > Am 23.08.2013 09:59, schrieb Leon Alrae: >> From: James Hogan <james.ho...@imgtec.com> >> >> Commit a427338 (mips_malta: correct reading MIPS revision at 0x1fc00010) >> altered the behaviour of the monitor flash mapping at the reset address >> by making it read only. However this causes data bus error exceptions >> when it is written to since it is effectively unassigned memory for >> writes. This isn't how the real hardware behaves. That memory can be >> written to (even with the MFWR jumper not fitted) and the new value read >> back from, but it doesn't get written back to the monitor flash so is >> volatile. >> >> This is fixed by converting the bios copy from read only ram to a bios >> device with a nop write callback. > > That sounds like a contradiction: The nop write will not have reads > return the new value, will it?
correct. > Why not just remove the _set_readonly and have it reloaded on reset for > volatility? That's what I tried first, but the bios copy is normal ram so it doesn't get reloaded on reset. I'll have a play to see if I can use rom_add_blob (although I seem to remember already trying that...). > Anyway, having a MemoryRegionOps with just a .write looks dangerous, but > I guess you've tested read to work. We had been seeing assertions > elsewhere when either was missing. Yeh reads seem to work fine (it also executes from it fine). Thanks for taking a look James