On 10/11/2012 05:38 AM, liu ping fan wrote:
>>
>> +void address_space_init_dispatch(AddressSpace *as)
>> +{
>> + AddressSpaceDispatch *d = g_new(AddressSpaceDispatch, 1);
>> +
>> + d->phys_map = (PhysPageEntry) { .ptr = PHYS_MAP_NODE_NIL, .is_leaf = 0
>> };
>> + d->listener = (MemoryListener) {
>> + .begin = mem_begin,
>> + .region_add = mem_add,
>
> mem_add() has the fixed mapping relationship between addr(in
> system_memory) and mr. If we want to fold lookup logic of iommu into
> radix-tree, it will need external behavior. So I think
> address_space_init_dispatch(as) should be
> address_space_init_dispatch(as, listener).
This is per address space, it's not tied to system_memory().
--
error compiling committee.c: too many arguments to function