2:478
Volume 2, Part 1: Processor Abstraction Layer
PAL_VP_INIT_ENV
PAL_VP_INIT_ENV – PAL Initialize Virtual Environment (268)
Purpose:
Allows a logical processor to enter a virtual environment.
Calling Conv:
Stacked Registers
Mode:
Virtual
Buffer:
Dependent
Arguments:
Returns:
Status:
Description:
This procedure allows a logical processor to enter a virtual environment. This call must
be made after calling PAL_VP_ENV_INFO and before calling other PAL virtualization
procedures and services. All of the logical processors in a virtual environment share the
same
PAL virtual environment buffer
. The buffer must be 4K aligned. The first
logical processor entering the virtual environment initializes the buffer provided by the
VMM. Subsequent processors can enter the virtual environment at any time and will not
perform initialization to the buffer.
PAL_VP_ENV_INFO must be called before this procedure to determine the configuration
options and size requirements for the virtual environment. The VMM is required to
maintain the ITR and DTR translations of the PAL virtual environment buffer throughout
this procedure. See
“PAL_VP_ENV_INFO – PAL Virtual Environment Information (266)”
for more information on PAL_VP_ENV_INFO.
After this procedure, it is optional for the VMM to maintain the TR mapping for the PAL
virtual environment buffer. If the TR translations for the buffer are not installed, the
VMM must not make any PAL virtualization service calls; and the VMM must be
prepared to handle DTLB faults during any PAL virtualization procedure calls.
shows the layout of the
config_options
parameter. The
config_options
parameter configures the global configuration options and global virtualization
optimizations for all the logical processors in the virtual environment. All logical
Argument
Description
index
Index of PAL_VP_INIT_ENV within the list of PAL procedures
config_options
64-bit vector of global configuration settings – See
. for details
pbase_addr
Host physical base address of a block of contiguous physical memory for the PAL virtual
environment buffer – This memory area must be allocated by the VMM and be 4K aligned.
The first logical processor to enter the environment will initialize the physical block for
virtualization operations.
vbase_addr
Host virtual base address of the corresponding physical memory block for the PAL virtual
environment buffer – The VMM must maintain the host virtual to host physical data and
instruction translations in TRs for addresses within the allocated address space. Logical
processors in this virtual environment will use this address when transitioning to virtual mode
operations.
Return Value
Description
status
Return status of the PAL_VP_INIT_ENV procedure
vsa_base
Virtualization Service Address – VSA specifies the virtual base address of the PAL
virtualization services in this virtual environment.
Reserved
0
Reserved
0
Status Value
Description
0
Call completed without error
-1
Unimplemented procedure
-2
Invalid argument
-3
Call completed with error
-9
Call requires PAL memory buffer
Summary of Contents for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3
Page 1: ......
Page 11: ...x Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 13: ...1 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 33: ...1 22 Volume 1 Part 1 Introduction to the Intel Itanium Architecture ...
Page 57: ...1 46 Volume 1 Part 1 Execution Environment ...
Page 147: ...1 136 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 149: ...1 138 Volume 1 Part 2 About the Optimization Guide ...
Page 191: ...1 180 Volume 1 Part 2 Predication Control Flow and Instruction Stream ...
Page 230: ......
Page 248: ...236 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 250: ...2 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 264: ...2 16 Volume 2 Part 1 Intel Itanium System Environment ...
Page 380: ...2 132 Volume 2 Part 1 Interruptions ...
Page 398: ...2 150 Volume 2 Part 1 Register Stack Engine ...
Page 486: ...2 238 Volume 2 Part 1 IA 32 Interruption Vector Descriptions ...
Page 750: ...2 502 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 754: ...2 506 Volume 2 Part 2 About the System Programmer s Guide ...
Page 796: ...2 548 Volume 2 Part 2 Interruptions and Serialization ...
Page 808: ...2 560 Volume 2 Part 2 Context Management ...
Page 842: ...2 594 Volume 2 Part 2 Floating point System Software ...
Page 850: ...2 602 Volume 2 Part 2 IA 32 Application Support ...
Page 862: ...2 614 Volume 2 Part 2 External Interrupt Architecture ...
Page 870: ...2 622 Volume 2 Part 2 Performance Monitoring Support ...
Page 891: ......
Page 1099: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault ...
Page 1295: ...3 396 Volume 3 Resource and Dependency Semantics ...
Page 1296: ......
Page 1302: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1494: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Page 1647: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Page 1884: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Page 1885: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Page 1886: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1898: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...