qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] MMIO address changes


From: Paul Brook
Subject: [Qemu-devel] MMIO address changes
Date: Mon, 1 Dec 2008 18:59:35 +0000
User-agent: KMail/1.9.9

I've just committed a patch that changes the MMIO callback interface for 
devices.  Instead of being passed an absolute address these are now passed an 
offset from the start[1] of the memory region that was registered.

By itself this change has fairly neutral benefit, it just moves logic about. 
However it makes subsequent dynamic board configuration bits nicer, and is a 
step towards a proper bus level API.

Most of the groundwork for this is already there, from my earlier changes to 
separate ram and MMIO addresses TLB handling.

The main notable change it that the PhysPageDesc structure is not bigger. This 
isn't ideal, however l2_phys_map needs to go away anyway, so I'm not really 
worried about this.  

Some devices register their memory regions in multiple segments. To facilitate 
this I have added cpu_register_physical_memory_offset.

Most of the remaining changes are fairly mechanical tweaks to fix devices that 
explicitly compensated for the absolute address. Many devices are untouched 
because they ignore the high bits of the address.

I've tried to be fairly thorough with the changes, and tested what I can. 
However it's possible I missed or broke something, so please test your 
favourite targets.

Paul

[1] It's actually the offset from the start of the first page of that region. 
In practice this difference doesn't matter, and makes the implementation a 
lot simpler.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]