On 2013-08-05 11:34, Andreas Färber wrote:
> Am 03.08.2013 10:31, schrieb Jan Kiszka:
>> From: Jan Kiszka <jan.kis...@siemens.com>
>>
>> Accesses to unassigned io ports shall return -1 on read and be ignored
>> on write. Ensure these properties via dedicated ops, decoupling us from
>> the memory core's handling of unassigned accesses.
>>
>> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
>> ---
>>  exec.c                |    3 ++-
>>  include/exec/ioport.h |    2 ++
>>  ioport.c              |   16 ++++++++++++++++
>>  3 files changed, 20 insertions(+), 1 deletions(-)
>>
>> diff --git a/exec.c b/exec.c
>> index 3ca9381..9ed598f 100644
>> --- a/exec.c
>> +++ b/exec.c
>> @@ -1820,7 +1820,8 @@ static void memory_map_init(void)
>>      address_space_init(&address_space_memory, system_memory, "memory");
>>  
>>      system_io = g_malloc(sizeof(*system_io));
>> -    memory_region_init(system_io, NULL, "io", 65536);
>> +    memory_region_init_io(system_io, NULL, &unassigned_io_ops, NULL, "io",
>> +                          65536);
> 
> It was reported that there may be some machines/PHBs that have
> overlapping PIO/MMIO. Unless we use priorities, this ..._io MemoryRegion
> will shadow or conflict with any ..._io MemoryRegion added to the memory
> address space, wouldn't it?

I cannot follow yet. This is the base mem-region for the PIO space. If
some region from the MMIO space forwards request here and there is no
backing device, this base region will handle it. So, even on arch with
MMIO-based PIO, both address space should remain separate. Or am I
missing something?

Jan


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to