mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
Mark host pages as reserved (Magnus Damm).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3813 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
703243a044
commit
50a9569b59
3 changed files with 23 additions and 1 deletions
21
exec.c
21
exec.c
|
@ -209,6 +209,27 @@ static void page_init(void)
|
|||
qemu_host_page_mask = ~(qemu_host_page_size - 1);
|
||||
l1_phys_map = qemu_vmalloc(L1_SIZE * sizeof(void *));
|
||||
memset(l1_phys_map, 0, L1_SIZE * sizeof(void *));
|
||||
|
||||
#if !defined(_WIN32) && defined(CONFIG_USER_ONLY)
|
||||
{
|
||||
long long startaddr, endaddr;
|
||||
FILE *f;
|
||||
int n;
|
||||
|
||||
f = fopen("/proc/self/maps", "r");
|
||||
if (f) {
|
||||
do {
|
||||
n = fscanf (f, "%llx-%llx %*[^\n]\n", &startaddr, &endaddr);
|
||||
if (n == 2) {
|
||||
page_set_flags(TARGET_PAGE_ALIGN(startaddr),
|
||||
TARGET_PAGE_ALIGN(endaddr),
|
||||
PAGE_RESERVED);
|
||||
}
|
||||
} while (!feof(f));
|
||||
fclose(f);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline PageDesc *page_find_alloc(unsigned int index)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue