thanks Peter. On Tue, Aug 16, 2016 at 5:07 PM, Peter Maydell <peter.mayd...@linaro.org> wrote:
> On 16 August 2016 at 14:53, Michael Rolnik <mrol...@gmail.com> wrote: > > 1. How to implement a device that has 4 registers in IO space e.g. AVR > > EEPROM? > > Since for your AVR target the IO space is just turned into > accesses to physical memory, ie the inb/outb default case > does something like this: > > + cpu_physical_memory_read(PHYS_BASE_REGS + port > + + AVR_CPU_IO_REGS_BASE, > &data, 1); > > you don't need to do anything special for the device being > in IO space. You just need to implement a device which has > a MemoryRegion which handles its 4 registers, and then > have the board or SoC create that device and map it into > the memory space at the right address. hw/misc/zynq_slcr.c > is perhaps one example of a device that's just some simple > registers (though it has a lot more than 4, the principles > are the same). > > > 2. what is a SoC container object? How? > > An "SoC container" is a device which doesn't have any interesting > functionality itself, but just creates a lot of other devices > and maps them to the right places in the address space. A good > example is hw/arm/fsl-imx6.c. > > thanks > -- PMM > -- Best Regards, Michael Rolnik