On Thursday, July 25, 2019, Pavel Dovgalyuk <address@hidden> wrote:
> From: Qemu-devel [mailto:qemu-devel-bounces+patchwork-qemu-
> devel=patchwork.kernel.org@nongnu.org] On Behalf Of Michael Rolnik
> From: Sarah Harris <address@hidden>
>
> These were designed to facilitate testing but should provide enough function to be useful in
> other contexts.
USART is very useful for testing, but to which model of AVR is belongs?
We also started implementation of USART and other devices in our internship program,
using prior version of your patches.
There were other register addresses for the registers and some of them even intersect
making read/write logic more complex (we looked at Atmega8).
You also mix the board and the SoC into one file, making hardware-on-chip harder to reuse.
I think that the structure can be revised in the following way:
Board -> SoC -> Devices
Pavel,
By "structure", did you mean structure of patches?
Let's say, after the all ISA instruction patches are introduced, we first introduce one real board of our choice (only infrastructure, with almost empty content, than devices on that board, than the corresponding SoC/MCU infrastucture, than device in that SoC.
Additional boards would follow the same pattern, potentially reusing already implemented devices, or whole SoC/MCU.
One more question:
We already saw that devices within SoC/MCUs for AVR platform exibit great variation. First, there are around 17 generation of AVR cores (avr1, avr2, ... xmega7). Than, there is, I think 600+ SoC/MCU models (hard to believe, but true). Each SoC defines its devices, and in potentially different way (not only its starting address, but real differences in terms of functionality). I thought that at least for a particular core, the devices would be defined in a consistent way, but even that is not true - for example ADC for a SoC having core X can be significantly different that ADC for another SoC having the same core X.
How to deal with such avalanche of devices? How to organize and maintain 27 significantly different versions of ADC; and 53 significantly different versions of Watchdogs (the numbers are invented by me, but are likely to describe the situation well)?
I have a strong impression we here need to think colectively.