1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-15 10:17:20 +00:00

vm_page_lookup() accepts read-locked object.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
This commit is contained in:
Konstantin Belousov 2015-02-11 23:28:28 +00:00
parent 81e4e017b6
commit 5a49ae8ed5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=278605

View File

@ -411,11 +411,9 @@ dmar_load_root_entry_ptr(struct dmar_unit *unit)
*/
DMAR_ASSERT_LOCKED(unit);
/* VM_OBJECT_RLOCK(unit->ctx_obj); */
VM_OBJECT_WLOCK(unit->ctx_obj);
VM_OBJECT_RLOCK(unit->ctx_obj);
root_entry = vm_page_lookup(unit->ctx_obj, 0);
/* VM_OBJECT_RUNLOCK(unit->ctx_obj); */
VM_OBJECT_WUNLOCK(unit->ctx_obj);
VM_OBJECT_RUNLOCK(unit->ctx_obj);
dmar_write8(unit, DMAR_RTADDR_REG, VM_PAGE_TO_PHYS(root_entry));
dmar_write4(unit, DMAR_GCMD_REG, unit->hw_gcmd | DMAR_GCMD_SRTP);
/* XXXKIB should have a timeout */