Fix DECR mode allocations (sys_memory)

This commit is contained in:
eladash 2019-01-04 18:42:31 +02:00 committed by Ivan
parent 400718dfd9
commit d4a24433e8
3 changed files with 37 additions and 20 deletions

View file

@ -978,7 +978,7 @@ namespace vm
return nullptr;
}
std::shared_ptr<block_t> get(memory_location_t location, u32 addr)
std::shared_ptr<block_t> get(memory_location_t location, u32 addr, u32 area_size)
{
vm::reader_lock lock;
@ -989,7 +989,7 @@ namespace vm
{
auto& loc = g_locations[location];
if (!loc)
if (!loc && area_size)
{
if (location == vm::user64k || location == vm::user1m)
{
@ -998,7 +998,7 @@ namespace vm
if (!loc)
{
// Deferred allocation
loc = _find_map(0x10000000, 0x10000000, location == vm::user64k ? 0x201 : 0x401);
loc = _find_map(area_size, 0x10000000, location == vm::user64k ? 0x201 : 0x401);
}
}
}