On 03/30/2010 12:16 PM, Juergen Lock wrote: > I first tried to replace the endaddr in the !h2g_valid(endaddr) case with > ((abi_ulong)1 << L1_MAP_ADDR_SPACE_BITS) - 1 > if TARGET_ABI_BITS > L1_MAP_ADDR_SPACE_BITS (which comes from the condition > of the assert in page_set_flags() that was triggered on the ~0ul value), > but that caused the qemu process to grow into swap and made the box > usuable when that code was reached and I had to kill qemu. (The box has > 8 GB RAM.) And so I thought just leaving that page range unprotected > if only the start address is valid was the lesser evil...
What's are the real arguments to the page_set_flags that causes things to go into swap? I can't imagine the range really being so large that it causes massive allocation within that function... r~