Code:
$ find -iname "*.cc" | xargs grep -n "allocate_block:"
./memory/misc_mem.cc:218: BX_INFO(("allocate_block: block=0x%x, replaced 0x%x",
./memory/misc_mem.cc:223: BX_INFO(("allocate_block: block=0x%x used 0x%x of 0x%x",
./memory/misc_mem.cc:235: BX_DEBUG(("allocate_block: used_blocks=0x%x of 0x%x", BX_MEM_THIS used_blocks, max_blocks));
Code:
#if BX_LARGE_RAMFILE
/*
* Match block to vector address
* First, see if there is any spare host memory blocks we can still freely allocate
*/
Bochs uses lazy allocation of memory, so everytime you access a new block of RAM, it'll allocate one. In this case, support for Guest RAM > Host RAM is enabled which can swap out pages to disk when they're not used, which in turn means additional log information because it's fairly new.