3737#include "hw/misc/mps2-scc.h"
3838#include "hw/devices.h"
3939#include "net/net.h"
40+ #include "sysemu/kvm.h"
4041
4142typedef enum MPS2FPGAType {
4243 FPGA_AN385 ,
@@ -147,6 +148,8 @@ static void mps2_common_init(MachineState *machine)
147148 NULL , "mps.ram" , 0x1000000 );
148149 memory_region_add_subregion (system_memory , 0x21000000 , & mms -> psram );
149150
151+ kvm_register_fixed_memory_region ("mps.ram" , (uintptr_t ) memory_region_get_ram_ptr (& mms -> psram ),0x1000000 , 0 );
152+
150153 switch (mmc -> fpga_type ) {
151154 case FPGA_AN385 :
152155 make_ram (& mms -> ssram1 , "mps.ssram1" , 0x0 , 0x400000 );
@@ -164,9 +167,13 @@ static void mps2_common_init(MachineState *machine)
164167 break ;
165168 case FPGA_AN511 :
166169 make_ram (& mms -> blockram , "mps.blockram" , 0x0 , 0x40000 );
170+ kvm_register_fixed_memory_region ("mps.blockram" , (uintptr_t ) memory_region_get_ram_ptr (& mms -> blockram ),0x40000 , 1 );
167171 make_ram (& mms -> ssram1 , "mps.ssram1" , 0x00400000 , 0x00800000 );
172+ kvm_register_fixed_memory_region ("mps.ssram1" , (uintptr_t ) memory_region_get_ram_ptr (& mms -> ssram1 ),0x00800000 , 1 );
168173 make_ram (& mms -> sram , "mps.sram" , 0x20000000 , 0x20000 );
174+ kvm_register_fixed_memory_region ("mps.sram" , (uintptr_t ) memory_region_get_ram_ptr (& mms -> sram ),0x20000 , 0 );
169175 make_ram (& mms -> ssram23 , "mps.ssram23" , 0x20400000 , 0x400000 );
176+ kvm_register_fixed_memory_region ("mps.ssram23" , (uintptr_t ) memory_region_get_ram_ptr (& mms -> ssram23 ),0x400000 , 0 );
170177 break ;
171178 default :
172179 g_assert_not_reached ();
0 commit comments