> For the complete documentation index, see [llms.txt](https://book.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.bsdcn.org/man/man9/vm_map_lookup.9.md).

# vm\_map\_lookup.9

`vm_map_lookup`, `vm_map_lookup_done` — 查找支持给定虚拟区域的 vm\_object

## 名称

`vm_map_lookup`, `vm_map_lookup_done`

## 概要

```c
#include <sys/param.h>
#include <vm/vm.h>
#include <vm/vm_map.h>

int
vm_map_lookup(vm_map_t *var_map, vm_offset_t vaddr, vm_prot_t fault_type,
    vm_map_entry_t *out_entry, vm_object_t *object, vm_pindex_t *pindex,
    vm_prot_t *out_prot, boolean_t *wired)

void
vm_map_lookup_done(vm_map_t map, vm_map_entry_t entry)
```

## 描述

`vm_map_lookup` 函数尝试在映射 `var_map` 中，针对给定虚拟地址 `vaddr`，假定发生了 `fault_type` 类型的页错误，查找对应的 `vm_object`、页索引和保护信息。

返回值保证有效，直到调用 `vm_map_lookup_done` 释放锁为止。

## 实现说明

`vm_map_lookup` 函数获取 `*var_map` 上的读锁，但不释放它。调用者应调用 `vm_map_lookup_done` 来释放此锁。

## 返回值

`vm_map_lookup` 函数返回 `KERN_SUCCESS`，并为假设的页错误适当地设置 `*object`、`*pindex`、`*out_prot` 和 `*out_entry` 参数。

## 参见

[vm\_map(9)](/man/man9/vm_map.9.md)

## 作者

本手册页由 Bruce M Simpson <bms@spc.org> 编写。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://book.bsdcn.org/man/man9/vm_map_lookup.9.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
