Skip to content

Commit 4a48a29

Browse files
kvm: add api to register fixed memory regions for armv7m
now only add for mps AN511 version Signed-off-by: chaojixx <[email protected]>
1 parent 65494a1 commit 4a48a29

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

hw/arm/mps2.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#include "hw/misc/mps2-scc.h"
3838
#include "hw/devices.h"
3939
#include "net/net.h"
40+
#include "sysemu/kvm.h"
4041

4142
typedef 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

Comments
 (0)