mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 17:53:56 -06:00
accel/tcg: Return bool from page_check_range
Replace the 0/-1 result with true/false. Invert the sense of the test of all callers. Document the function. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-25-richard.henderson@linaro.org>
This commit is contained in:
parent
91e9e116fe
commit
bef6f008b9
9 changed files with 31 additions and 20 deletions
|
@ -520,19 +520,19 @@ void page_set_flags(target_ulong start, target_ulong last, int flags)
|
|||
}
|
||||
}
|
||||
|
||||
int page_check_range(target_ulong start, target_ulong len, int flags)
|
||||
bool page_check_range(target_ulong start, target_ulong len, int flags)
|
||||
{
|
||||
target_ulong last;
|
||||
int locked; /* tri-state: =0: unlocked, +1: global, -1: local */
|
||||
int ret;
|
||||
bool ret;
|
||||
|
||||
if (len == 0) {
|
||||
return 0; /* trivial length */
|
||||
return true; /* trivial length */
|
||||
}
|
||||
|
||||
last = start + len - 1;
|
||||
if (last < start) {
|
||||
return -1; /* wrap around */
|
||||
return false; /* wrap around */
|
||||
}
|
||||
|
||||
locked = have_mmap_lock();
|
||||
|
@ -551,33 +551,33 @@ int page_check_range(target_ulong start, target_ulong len, int flags)
|
|||
p = pageflags_find(start, last);
|
||||
}
|
||||
if (!p) {
|
||||
ret = -1; /* entire region invalid */
|
||||
ret = false; /* entire region invalid */
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (start < p->itree.start) {
|
||||
ret = -1; /* initial bytes invalid */
|
||||
ret = false; /* initial bytes invalid */
|
||||
break;
|
||||
}
|
||||
|
||||
missing = flags & ~p->flags;
|
||||
if (missing & ~PAGE_WRITE) {
|
||||
ret = -1; /* page doesn't match */
|
||||
ret = false; /* page doesn't match */
|
||||
break;
|
||||
}
|
||||
if (missing & PAGE_WRITE) {
|
||||
if (!(p->flags & PAGE_WRITE_ORG)) {
|
||||
ret = -1; /* page not writable */
|
||||
ret = false; /* page not writable */
|
||||
break;
|
||||
}
|
||||
/* Asking about writable, but has been protected: undo. */
|
||||
if (!page_unprotect(start, 0)) {
|
||||
ret = -1;
|
||||
ret = false;
|
||||
break;
|
||||
}
|
||||
/* TODO: page_unprotect should take a range, not a single page. */
|
||||
if (last - start < TARGET_PAGE_SIZE) {
|
||||
ret = 0; /* ok */
|
||||
ret = true; /* ok */
|
||||
break;
|
||||
}
|
||||
start += TARGET_PAGE_SIZE;
|
||||
|
@ -585,7 +585,7 @@ int page_check_range(target_ulong start, target_ulong len, int flags)
|
|||
}
|
||||
|
||||
if (last <= p->itree.last) {
|
||||
ret = 0; /* ok */
|
||||
ret = true; /* ok */
|
||||
break;
|
||||
}
|
||||
start = p->itree.last + 1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue