> 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_submap.9.md).

# vm\_map\_submap.9

`vm_map_submap` — 创建从属映射

## 名称

`vm_map_submap`

## 概要

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

int
vm_map_submap(vm_map_t map, vm_offset_t start, vm_offset_t end,
    vm_map_t submap)
```

## 描述

`vm_map_submap` 函数将映射 `map` 中由 `start` 和 `end` 界定的范围标记为由从属映射 `sub_map` 处理。

通常由内核内存分配器调用。

## 实现说明

此函数仅供内部使用。

两个映射都必须存在。该范围必须先前已通过 [vm\_map\_find(9)](/man/man9/vm_map_find.9.md) 创建。

在调用此函数之前，不得对此范围执行其他操作。在调用此函数之后，只能在此范围内执行 `vm_fault` 操作。

要移除子映射，必须首先从父 `map` 中移除该范围，然后销毁 `sub_map`。不建议使用此过程。

## 返回值

`vm_map_submap` 函数成功时返回 `KERN_SUCCESS`。

否则，如果调用者请求了写时复制标志，或为子映射指定的范围超出父映射的范围，或指定了 `NULL` 支持对象，则返回 `KERN_INVALID_ARGUMENT`。

## 参见

[vm\_map(9)](/man/man9/vm_map.9.md), [vm\_map\_find(9)](/man/man9/vm_map_find.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_submap.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.
