On Mon, Aug 29, 2011 at 08:36:14AM +0300, Avi Kivity wrote: > On 08/28/2011 10:33 PM, Edgar E. Iglesias wrote: > >On Sun, Aug 28, 2011 at 06:43:36PM +0300, Avi Kivity wrote: > >> cfi02 is annoying in that is ignores some address bits; we probably > >> want explicit support in the memory API for that. > >> > >> In order to get the correct opaque into the MemoryRegion object, the > >> allocation scheme is changed so that the flash emulation code allocates > >> memory, instead of the caller. This clears a FIXME in the flash code. > > > >Hi Avi, > > > >Something is going wrong with the flash devices. It can be reproduced > >with the microblaze image on the wiki, you'll see the kernel complain > >with: > >pflash_write: Unimplemented flash cmd sequence (offset 00000000, wcycle 0x0 > >cmd 0x0 value 0xf0) > >of-flash a0000000.flash: do_map_probe() failed > > > >When it should be saying: > >a0000000.flash: Found 1 x8 devices at 0x0 in 8-bit bank. Manufacturer ID > >0x000000 Chip ID 0x000000 > >Intel/Sharp Extended Query Table at 0x0031 > > > > > > I get exactly the same behaviour with upstream - 9f94778. With what > version does it work correctly?
With: commit 9f94778c1603420e48d779a495e84eb82945cc75 Author: Artyom Tarasenko <atar4q...@gmail.com> Date: Mon Jul 25 19:22:38 2011 +0200 Fix disabling interrupts in sun4u clear interrupt request if the interrupt priority < CPU pil clear hardware interrupt request if interrupts are disabled Signed-off-by: Artyom Tarasenko <atar4q...@gmail.com> [blauwir...@gmail.com: added a comment about magic 2] Signed-off-by: Blue Swirl <blauwir...@gmail.com> It works, with some qemu complaints about non uinmplemented sequences, but the flashes are found. pflash_write: Unimplemented flash cmd sequence (offset 00000000, wcycle 0x0 cmd 0x0 value 0xf0) [ 0.596261] a0000000.flash: Found 1 x8 devices at 0x0 in 8-bit bank [ 0.597003] Intel/Sharp Extended Query Table at 0x0031 pflash_write: Unimplemented flash cmd sequence (offset 00000000, wcycle 0x0 cmd 0x0 value 0xf0) With GDB I see pflash_read, beeing called. With, the latest patches applied: commit f38f0030afddba4c9df42bdb25ce123c41aafeb6 Author: Avi Kivity <a...@redhat.com> Date: Sun Aug 28 18:43:36 2011 +0300 pflash_cfi01/pflash_cfi02: convert to memory API cfi02 is annoying in that is ignores some address bits; we probably want explicit support in the memory API for that. In order to get the correct opaque into the MemoryRegion object, the allocation scheme is changed so that the flash emulation code allocates memory, instead of the caller. This clears a FIXME in the flash code. Signed-off-by: Avi Kivity <a...@redhat.com> Signed-off-by: Edgar E. Iglesias <edgar.igles...@gmail.com> commit 6f997f56903060383ddc7672c33fc3d40dfd9cb9 Merge: 9f94778 75f5941 Author: Edgar E. Iglesias <edgar.igles...@gmail.com> Date: Sun Aug 28 19:29:16 2011 +0200 Merge branch 'memory/core' of git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm I see the following: pflash_write: Unimplemented flash cmd sequence (offset 00000000, wcycle 0x0 cmd 0x0 value 0xf0) [ 0.605584] of-flash a0000000.flash: do_map_probe() failed The flash is never found. And, pflash_read is never called. The set_readable doesnt seem to bite.. Hope this helps.. Cheers