qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v3 1/1] nios2: Add Altera JTAG UART emulation


From: Marek Vasut
Subject: Re: [Qemu-devel] [PATCH v3 1/1] nios2: Add Altera JTAG UART emulation
Date: Thu, 9 Feb 2017 17:13:10 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.4.0

On 02/09/2017 05:07 PM, Bystricky, Juro wrote:
>>>> [...]
>>>>
>>>>>>> +static uint64_t altera_juart_read(void *opaque, hwaddr addr,
>> unsigned
>>>>>> int size)
>>>>>>> +{
>>>>>>> +    AlteraJUARTState *s = opaque;
>>>>>>> +    uint32_t r;
>>>>>>> +
>>>>>>> +    addr >>= 2;
>>>>>>
>>>>>> Hmmmmm, how will unaligned read from one of these registers be handled
>>>>>> on real HW ? ie. read from address 0x3 ? What about writes ?
>>>>>>
>>>>>
>>>>> there is no reading/writing going on via "addr".
>>>>> This just maps the hw address into register number, where registers are
>>>> at
>>>>> 4 bytes boundaries (so they are aligned as needed) but indexed as
>>>> 1,2,3....
>>>>> (Pretty common code in other drivers.)
>>>>> But will redo the code anyway so there are no shifts.
>>>>
>>>> This doesn't answer my question at all. How does real hardware behave if
>>>> you read from unaligned address in the register space , ie. offset 0x3 ?
>>>>
>>>
>>> Not sure I understand the question here. Which "real hardware" are we
>> talking about?
>>
>> By real hardware I mean real Nios2 system ...
>>
>>> If "real hardware" contains MMU or MPU then an exception is generated on
>> misalign access.
>>
>> Is this handled here or not ?
>>
> 
> Sorry, I am not sure I understand the question.
> Exceptions are handled by interrupt controller.
> This code for JTAG UART does not have any misaligned accesses.
> 
> 
The code running on nios2 can issue unaligned access to the jtag uart
registers, yes ? If that happens, what happens on real HW and how is
this emulated ?

-- 
Best regards,
Marek Vasut



reply via email to

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