37
37
#include "hw/misc/mps2-scc.h"
38
38
#include "hw/devices.h"
39
39
#include "net/net.h"
40
+ #include "sysemu/kvm.h"
40
41
41
42
typedef enum MPS2FPGAType {
42
43
FPGA_AN385 ,
@@ -147,6 +148,8 @@ static void mps2_common_init(MachineState *machine)
147
148
NULL , "mps.ram" , 0x1000000 );
148
149
memory_region_add_subregion (system_memory , 0x21000000 , & mms -> psram );
149
150
151
+ kvm_register_fixed_memory_region ("mps.ram" , (uintptr_t ) memory_region_get_ram_ptr (& mms -> psram ),0x1000000 , 0 );
152
+
150
153
switch (mmc -> fpga_type ) {
151
154
case FPGA_AN385 :
152
155
make_ram (& mms -> ssram1 , "mps.ssram1" , 0x0 , 0x400000 );
@@ -164,9 +167,13 @@ static void mps2_common_init(MachineState *machine)
164
167
break ;
165
168
case FPGA_AN511 :
166
169
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 );
167
171
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 );
168
173
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 );
169
175
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 );
170
177
break ;
171
178
default :
172
179
g_assert_not_reached ();
0 commit comments