Re: KVM: SVM: Implement LBRV virtualization

Joerg Roedel
2008-02-12T17:02:21Z

On Tue, Feb 12, 2008 at 08:35:50AM -0800, Alexey Eremenko wrote:
>
> Hi all,
>
> Can you explain a bit more about "LBRV virtualization" or give links, that explain this ?

LBRV stands for Last Branch Record Virtualization. The LBR consists
basically of 4 MSRs: The RIPs of the last branch (from and to RIP) and the
RIPs of the last exception (from and to RIP). The recording of these
MSRs need to enabled in a fifth MSR (DEBUG_CTL). On K8 with SVM the
guest has no own copys of these MSRs. On Barcelona, there is a new SVM
feature which gives the guest its own copies of these MSRs. This needs
to be enabled setting lbr_ctl to 1 in the VMCB. If this is done, the
hardware switches to the guest copies of these MSRs when doing a VMRUN.
You can find more details about this in the AMD Architecture Programmers
Manual Volume 2, Section 15.22.
My patch only enables LBRV if the guest enables Last Branch Recording in
its copy of the DEBUG_CTL MSR.

Joerg

--
| AMD Saxony Limited Liability Company & Co. KG
Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
System | Register Court Dresden: HRA 4896
Research | General Partner authorized to represent:
Center | AMD Saxony LLC (Wilmington, Delaware, US)
| General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy