Setting the Copy Buffer and Map Page Sizes

The V86MMGR_Set_Mapping_Info service defines the minimum amount of translation buffer and global V86 map address space required by a virtual device. By default, the translation copy buffer size is 4 kilobytes and there are no global mapping pages. If these defaults are not adequate, a virtual device can set new values by using this service. For example, the VNETBIOS device uses this service to ensure that there will be adequate global page mapping space to map network buffers.

If multiple virtual devices call this service, the V86MMGR uses the largest value specified when allocating buffer space. In other words, if 10 virtual devices request a two-page copy buffer, this service set the copy buffer size to two pages (not 20). While a large copy buffer can speed up I/O operations, it requires extra memory to be allocated for each virtual machine. Virtual devices should keep the copy buffer size as small as possible.

This service must be called during the Sys_Critical_Init or Device_Init phase of device initialization.