On Mon, Jun 22, 2020 at 03:19:34PM +0200, David Brenken wrote: > From: Andreas Konopik <andreas.kono...@efs-auto.de> > +const MemmapEntry tc27x_soc_memmap[] = { > + [TC27XD_DSPR2] = { 0x50000000, 0x1E000 }, > + [TC27XD_DCACHE2] = { 0x5001E000, 0x2000 }, > + [TC27XD_DTAG2] = { 0x500C0000, 0xC00 },
The size changed from 0xa00 to 0xc00 from v2. The manual states that it has no size. I guess you inferred the size from the address range. How does real hw behave if you access DTAG2? > + [TC27XD_PSPR2] = { 0x50100000, 0x8000 }, > + [TC27XD_PCACHE2] = { 0x50108000, 0x4000 }, > + [TC27XD_PTAG2] = { 0x501C0000, 0x1800 }, > + [TC27XD_DSPR1] = { 0x60000000, 0x1E000 }, > + [TC27XD_DCACHE1] = { 0x6001E000, 0x2000 }, > + [TC27XD_DTAG1] = { 0x600C0000, 0xC00 }, > + [TC27XD_PSPR1] = { 0x60100000, 0x8000 }, > + [TC27XD_PCACHE1] = { 0x60108000, 0x4000 }, > + [TC27XD_PTAG1] = { 0x601C0000, 0x1800 }, > + [TC27XD_DSPR0] = { 0x70000000, 0x1C000 }, > + [TC27XD_PSPR0] = { 0x70100000, 0x6000 }, > + [TC27XD_PCACHE0] = { 0x70106000, 0x2000 }, > + [TC27XD_PTAG0] = { 0x701C0000, 0xC00 }, > + [TC27XD_PFLASH0_C] = { 0x80000000, 0x200000 }, > + [TC27XD_PFLASH1_C] = { 0x80200000, 0x200000 }, > + [TC27XD_OLDA_C] = { 0x8FE70000, 0x8000 }, > + [TC27XD_BROM_C] = { 0x8FFF8000, 0x8000 }, > + [TC27XD_LMURAM_C] = { 0x90000000, 0x8000 }, > + [TC27XD_EMEM_C] = { 0x9F000000, 0x100000 }, > + [TC27XD_PFLASH0_U] = { 0xA0000000, 0x0 }, > + [TC27XD_PFLASH1_U] = { 0xA0200000, 0x0 }, > + [TC27XD_DFLASH0] = { 0xAF000000, 0x104000 }, > + [TC27XD_DFLASH1] = { 0xAF110000, 0x10000 }, > + [TC27XD_OLDA_U] = { 0xAFE70000, 0x0 }, > + [TC27XD_BROM_U] = { 0xAFFF8000, 0x0 }, > + [TC27XD_LMURAM_U] = { 0xB0000000, 0x0 }, > + [TC27XD_EMEM_U] = { 0xBF000000, 0x0 }, > + [TC27XD_PSPRX] = { 0xC0000000, 0x0 }, > + [TC27XD_DSPRX] = { 0xD0000000, 0x0 }, > +}; Why not use KiB/MiB sizes as before? I created a patch for that. Can you check that I didn't skrew up the sizes? --- a/hw/tricore/tc27x_soc.c +++ b/hw/tricore/tc27x_soc.c @@ -26,44 +26,45 @@ #include "hw/misc/unimp.h" #include "exec/address-spaces.h" #include "qemu/log.h" +#include "qemu/units.h" #include "cpu.h" #include "hw/tricore/tc27x_soc.h" #include "hw/tricore/triboard.h" const MemmapEntry tc27x_soc_memmap[] = { - [TC27XD_DSPR2] = { 0x50000000, 0x1E000 }, - [TC27XD_DCACHE2] = { 0x5001E000, 0x2000 }, - [TC27XD_DTAG2] = { 0x500C0000, 0xC00 }, - [TC27XD_PSPR2] = { 0x50100000, 0x8000 }, - [TC27XD_PCACHE2] = { 0x50108000, 0x4000 }, - [TC27XD_PTAG2] = { 0x501C0000, 0x1800 }, - [TC27XD_DSPR1] = { 0x60000000, 0x1E000 }, - [TC27XD_DCACHE1] = { 0x6001E000, 0x2000 }, - [TC27XD_DTAG1] = { 0x600C0000, 0xC00 }, - [TC27XD_PSPR1] = { 0x60100000, 0x8000 }, - [TC27XD_PCACHE1] = { 0x60108000, 0x4000 }, - [TC27XD_PTAG1] = { 0x601C0000, 0x1800 }, - [TC27XD_DSPR0] = { 0x70000000, 0x1C000 }, - [TC27XD_PSPR0] = { 0x70100000, 0x6000 }, - [TC27XD_PCACHE0] = { 0x70106000, 0x2000 }, - [TC27XD_PTAG0] = { 0x701C0000, 0xC00 }, - [TC27XD_PFLASH0_C] = { 0x80000000, 0x200000 }, - [TC27XD_PFLASH1_C] = { 0x80200000, 0x200000 }, - [TC27XD_OLDA_C] = { 0x8FE70000, 0x8000 }, - [TC27XD_BROM_C] = { 0x8FFF8000, 0x8000 }, - [TC27XD_LMURAM_C] = { 0x90000000, 0x8000 }, - [TC27XD_EMEM_C] = { 0x9F000000, 0x100000 }, - [TC27XD_PFLASH0_U] = { 0xA0000000, 0x0 }, - [TC27XD_PFLASH1_U] = { 0xA0200000, 0x0 }, - [TC27XD_DFLASH0] = { 0xAF000000, 0x104000 }, - [TC27XD_DFLASH1] = { 0xAF110000, 0x10000 }, - [TC27XD_OLDA_U] = { 0xAFE70000, 0x0 }, - [TC27XD_BROM_U] = { 0xAFFF8000, 0x0 }, - [TC27XD_LMURAM_U] = { 0xB0000000, 0x0 }, - [TC27XD_EMEM_U] = { 0xBF000000, 0x0 }, - [TC27XD_PSPRX] = { 0xC0000000, 0x0 }, - [TC27XD_DSPRX] = { 0xD0000000, 0x0 }, + [TC27XD_DSPR2] = { 0x50000000, 120 * KiB }, + [TC27XD_DCACHE2] = { 0x5001E000, 8 * KiB }, + [TC27XD_DTAG2] = { 0x500C0000, 0xC00 }, + [TC27XD_PSPR2] = { 0x50100000, 32 * KiB }, + [TC27XD_PCACHE2] = { 0x50108000, 16 * KiB }, + [TC27XD_PTAG2] = { 0x501C0000, 0x1800 }, + [TC27XD_DSPR1] = { 0x60000000, 120 * KiB }, + [TC27XD_DCACHE1] = { 0x6001E000, 8 * KiB }, + [TC27XD_DTAG1] = { 0x600C0000, 0xC00 }, + [TC27XD_PSPR1] = { 0x60100000, 32 * KiB }, + [TC27XD_PCACHE1] = { 0x60108000, 16 * KiB }, + [TC27XD_PTAG1] = { 0x601C0000, 0x1800 }, + [TC27XD_DSPR0] = { 0x70000000, 112 * KiB }, + [TC27XD_PSPR0] = { 0x70100000, 24 * KiB }, + [TC27XD_PCACHE0] = { 0x70106000, 8 * KiB }, + [TC27XD_PTAG0] = { 0x701C0000, 0xC00 }, + [TC27XD_PFLASH0_C] = { 0x80000000, 2 * MiB }, + [TC27XD_PFLASH1_C] = { 0x80200000, 2 * MiB }, + [TC27XD_OLDA_C] = { 0x8FE70000, 32 * KiB }, + [TC27XD_BROM_C] = { 0x8FFF8000, 32 * KiB }, + [TC27XD_LMURAM_C] = { 0x90000000, 32 * KiB }, + [TC27XD_EMEM_C] = { 0x9F000000, 1 * MiB }, + [TC27XD_PFLASH0_U] = { 0xA0000000, 0x0 }, + [TC27XD_PFLASH1_U] = { 0xA0200000, 0x0 }, + [TC27XD_DFLASH0] = { 0xAF000000, 1 * MiB + 16 * KiB }, + [TC27XD_DFLASH1] = { 0xAF110000, 64 * KiB }, + [TC27XD_OLDA_U] = { 0xAFE70000, 0x0 }, + [TC27XD_BROM_U] = { 0xAFFF8000, 0x0 }, + [TC27XD_LMURAM_U] = { 0xB0000000, 0x0 }, + [TC27XD_EMEM_U] = { 0xBF000000, 0x0 }, + [TC27XD_PSPRX] = { 0xC0000000, 0x0 }, + [TC27XD_DSPRX] = { 0xD0000000, 0x0 }, The remainder looks good to me. Cheers, Bastian