@@ -151,8 +151,11 @@ static const MemMapEntry a15memmap[] = {
151
151
[VIRT_PCIE_PIO ] = { 0x3eff0000 , 0x00010000 },
152
152
[VIRT_PCIE_ECAM ] = { 0x3f000000 , 0x01000000 },
153
153
[VIRT_MEM ] = { 0x40000000 , RAMLIMIT_BYTES },
154
- /* Additional 64 MB redist region (can contain up to 512 redistributors) */
154
+ // zhuowei: t8015 peripherals
155
+ [VIRT_AMCC ] = { 0x200000000 , 0x00300000 }, // zhuowei: hack
155
156
[VIRT_S3C_UART ] = { 0x22e600000 , 0x00001000 }, // zhuowei: hack
157
+ [VIRT_AIC ] = { 0x232100000 , 0x00009000 }, // zhuowei: hack
158
+ /* Additional 64 MB redist region (can contain up to 512 redistributors) */
156
159
[VIRT_GIC_REDIST2 ] = { 0x4000000000ULL , 0x4000000 },
157
160
[VIRT_PCIE_ECAM_HIGH ] = { 0x4010000000ULL , 0x10000000 },
158
161
/* Second PCIe window, 512GB wide at the 512GB boundary */
@@ -1542,6 +1545,17 @@ static void machvirt_init(MachineState *machine)
1542
1545
1543
1546
create_platform_bus (vms , pic );
1544
1547
1548
+ // zhuowei: hack: amcc
1549
+ MemoryRegion * mcc = g_new (MemoryRegion , 1 );
1550
+ memory_region_allocate_system_memory (mcc , NULL , "mach-virt.mcc" ,
1551
+ vms -> memmap [VIRT_AMCC ].size );
1552
+ memory_region_add_subregion (sysmem , vms -> memmap [VIRT_AMCC ].base , mcc );
1553
+
1554
+ MemoryRegion * aic = g_new (MemoryRegion , 1 );
1555
+ memory_region_allocate_system_memory (aic , NULL , "mach-virt.aic" ,
1556
+ vms -> memmap [VIRT_AIC ].size );
1557
+ memory_region_add_subregion (sysmem , vms -> memmap [VIRT_AIC ].base , aic );
1558
+
1545
1559
vms -> bootinfo .ram_size = machine -> ram_size ;
1546
1560
vms -> bootinfo .kernel_filename = machine -> kernel_filename ;
1547
1561
vms -> bootinfo .kernel_cmdline = machine -> kernel_cmdline ;
0 commit comments