On Wed, Sep 26, 2007 at 05:47:20PM +0200, Laurent Vivier wrote: > Hi, > > I think there is a bug in qemu RTL8139. > > RTL8139 uses: > > cpu_register_physical_memory(addr + 0, 0x100, s->rtl8139_mmio_io_addr); > > But in the comment of cpu_register_physical_memory() we have: > > "'size' must be a multiple of the target page size." > > And I think 0x100 is not a multiple of target page size.... :-P
Latest upstream QEMU has fixed its memory handling so that MMIO regions do not need to be a multiple of page size. Changing RTL8139 to use a block of size 0x1000 is a reasonable short term hack around the problem, but syncing with latest QEMU is the real solution, since there are other places in the code which will have similar issues. Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|