<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://linux-kvm.org/index.php?action=history&amp;feed=atom&amp;title=E500_virtual_CPU_specification</id>
	<title>E500 virtual CPU specification - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://linux-kvm.org/index.php?action=history&amp;feed=atom&amp;title=E500_virtual_CPU_specification"/>
	<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=E500_virtual_CPU_specification&amp;action=history"/>
	<updated>2026-04-05T21:39:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://linux-kvm.org/index.php?title=E500_virtual_CPU_specification&amp;diff=173340&amp;oldid=prev</id>
		<title>Bsd: typo in category name</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=E500_virtual_CPU_specification&amp;diff=173340&amp;oldid=prev"/>
		<updated>2015-05-31T14:12:07Z</updated>

		<summary type="html">&lt;p&gt;typo in category name&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:12, 31 May 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l561&quot;&gt;Line 561:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 561:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Architechture&lt;/del&gt;]][[Category:Docs]][[Category:Power]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Architecture&lt;/ins&gt;]][[Category:Docs]][[Category:Power]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key kvmwiki-kvmwiki_:diff::1.12:old-173330:rev-173340 --&gt;
&lt;/table&gt;</summary>
		<author><name>Bsd</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=E500_virtual_CPU_specification&amp;diff=173330&amp;oldid=prev</id>
		<title>Bsd: added categories</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=E500_virtual_CPU_specification&amp;diff=173330&amp;oldid=prev"/>
		<updated>2015-05-31T13:54:13Z</updated>

		<summary type="html">&lt;p&gt;added categories&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:54, 31 May 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l561&quot;&gt;Line 561:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 561:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Architechture]][[Category:Docs]][[Category:Power]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key kvmwiki-kvmwiki_:diff::1.12:old-4850:rev-173330 --&gt;
&lt;/table&gt;</summary>
		<author><name>Bsd</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=E500_virtual_CPU_specification&amp;diff=4850&amp;oldid=prev</id>
		<title>Stuyoder at 15:21, 26 July 2013</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=E500_virtual_CPU_specification&amp;diff=4850&amp;oldid=prev"/>
		<updated>2013-07-26T15:21:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:21, 26 July 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;&amp;lt;nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Freescale Power Architecture Book E Virtual CPU Specification&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Freescale Power Architecture Book E Virtual CPU Specification&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key kvmwiki-kvmwiki_:diff::1.12:old-4849:rev-4850 --&gt;
&lt;/table&gt;</summary>
		<author><name>Stuyoder</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=E500_virtual_CPU_specification&amp;diff=4849&amp;oldid=prev</id>
		<title>Stuyoder at 15:20, 26 July 2013</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=E500_virtual_CPU_specification&amp;diff=4849&amp;oldid=prev"/>
		<updated>2013-07-26T15:20:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Freescale Power Architecture Book E Virtual CPU Specification&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
Version 1.6&lt;br /&gt;
Copyright 2011-2013, Freescale Semiconductor, Inc.&lt;br /&gt;
May 28, 2013&lt;br /&gt;
&lt;br /&gt;
                                CONTENTS&lt;br /&gt;
&lt;br /&gt;
      1. OVERVIEW&lt;br /&gt;
          1.1 Introduction&lt;br /&gt;
          1.2 References&lt;br /&gt;
          1.3 Definitions&lt;br /&gt;
              1.3.1 Virtual CPU (vcpu) and Emulated CPU&lt;br /&gt;
              1.3.2 Guest Operating System&lt;br /&gt;
              1.3.3 Boundedly Undefined&lt;br /&gt;
              1.3.4 Volatile&lt;br /&gt;
          1.4 Revision History&lt;br /&gt;
      2. IMPLEMENTED CATEGORIES&lt;br /&gt;
      3. REGISTERS&lt;br /&gt;
          3.1 Version Registers&lt;br /&gt;
          3.2 Machine State Register (MSR)&lt;br /&gt;
          3.3  CPU Index and Processor ID Register (PIR)&lt;br /&gt;
          3.4  External PID Load Context (EPLC) and External PID Store Context&lt;br /&gt;
               (EPSC) Registers&lt;br /&gt;
          3.5  Timebase (TLB and TBU)&lt;br /&gt;
          3.6  L1 and L2 Cache Control Registers&lt;br /&gt;
          3.7  Branch Unit Control and Status Register (BUCSR)&lt;br /&gt;
          3.8  Core Device Control and Status Register 0 (CDCSR0)&lt;br /&gt;
          3.9  Debug Registers&lt;br /&gt;
          3.10 PID1 and PID2 Registers&lt;br /&gt;
          3.11 Embedded Processor Control Register (EPCR)&lt;br /&gt;
          3.12 Hardware Threads&lt;br /&gt;
      4. INSTRUCTIONS&lt;br /&gt;
          4.1 Cache Locking Instructions&lt;br /&gt;
          4.3 System Call instruction&lt;br /&gt;
          4.4 Wait for Interrupt Instruction&lt;br /&gt;
          4.5 Reservations&lt;br /&gt;
          4.5 tlbilx&lt;br /&gt;
          4.6 msgsnd/msgclr&lt;br /&gt;
      5. MMU&lt;br /&gt;
          5.1 Overview&lt;br /&gt;
          5.2 TLBnCFG NENTRY and ASSOC&lt;br /&gt;
          5.3 IPROT=0&lt;br /&gt;
          5.4 MMUCFG&lt;br /&gt;
      6. EXCEPTIONS&lt;br /&gt;
          6.1 Debug Interrupts&lt;br /&gt;
      7. HYPERVISOR SPECIFIC CONSIDERATIONS&lt;br /&gt;
          7.1 KVM  &amp;amp; Cacheable and Cache-inhibited Mappings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.  OVERVIEW&lt;br /&gt;
&lt;br /&gt;
    1.1 Introduction&lt;br /&gt;
&lt;br /&gt;
        Virtualization enables multiple operating systems to run on a system,&lt;br /&gt;
        each in their own isolated virtual machine.  Hypervisors create and&lt;br /&gt;
        manage virtual machines, one part of which is a virtual CPU (or vcpu).&lt;br /&gt;
        A vcpu emulates a physical CPU and the behavior of instructions,&lt;br /&gt;
        registers, and exceptions on the vcpu is nearly identical to&lt;br /&gt;
        the physical CPU being emulated.&lt;br /&gt;
&lt;br /&gt;
        This document defines a virtual implementation of a CPU based&lt;br /&gt;
        on Freescale&amp;#039;s implementation of Book III E of the Power ISA.&lt;br /&gt;
&lt;br /&gt;
        In this document, the vcpu architecture is defined in terms of&lt;br /&gt;
        differences between the vcpu and the following physical&lt;br /&gt;
        CPUs which an implementation may emulate:&lt;br /&gt;
           -e500v2&lt;br /&gt;
           -e500mc&lt;br /&gt;
           -e5500&lt;br /&gt;
           -e6500&lt;br /&gt;
&lt;br /&gt;
        The differences between the vcpu and the cpu being emulated&lt;br /&gt;
        should be understood by operating systems developers.&lt;br /&gt;
&lt;br /&gt;
    1.2 References&lt;br /&gt;
&lt;br /&gt;
        1.  Power ISA - Version 2.06 Revision B&lt;br /&gt;
        http://www.power.org/resources/downloads/PowerISA_V2.06B_V2_PUBLIC.pdf&lt;br /&gt;
&lt;br /&gt;
        2.  EREF 2.0: A Programmer’s Reference Manual for Freescale Power&lt;br /&gt;
        Architecture® Processors&lt;br /&gt;
        http://www.freescale.com/files/32bit/doc/ref_manual/EREF_RM.pdf&lt;br /&gt;
    &lt;br /&gt;
        2.  PowerPC(tm) e500 Core Family Reference Manual&lt;br /&gt;
        http://www.freescale.com/files/32bit/doc/ref_manual/E500CORERM.pdf&lt;br /&gt;
&lt;br /&gt;
        3.  e500mc Core Reference Manual, Freescale Semiconductor.&lt;br /&gt;
        http://www.freescale.com/files/32bit/doc/ref_manual/E500MCRM.pdf&lt;br /&gt;
&lt;br /&gt;
        4.  e5500 Core Reference Manual, Freescale Semiconductor.&lt;br /&gt;
        Download at freescale.com with document e5500RM&lt;br /&gt;
&lt;br /&gt;
        5.  ePAPR (Embedded Power Architecture Platform Requirements)&lt;br /&gt;
        version 1.1&lt;br /&gt;
        https://www.power.org/resources/downloads/Power_ePAPR_APPROVED_v1.1.pdf&lt;br /&gt;
&lt;br /&gt;
    1.3 Definitions&lt;br /&gt;
&lt;br /&gt;
        1.3.1 Virtual CPU (vcpu) and Emulated CPU&lt;br /&gt;
&lt;br /&gt;
              A &amp;#039;virtual CPU&amp;#039; (or vcpu) is the CPU as seen by&lt;br /&gt;
              software running in a virtual machine.  The vcpu&lt;br /&gt;
              emulates or behaves similar to some physical CPU--&lt;br /&gt;
              the &amp;#039;emulated CPU&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
        1.3.2 Guest Operating System&lt;br /&gt;
&lt;br /&gt;
              A &amp;#039;guest operating system&amp;#039; (or &amp;#039;guest&amp;#039;) is an operating&lt;br /&gt;
              system running in a virtual machine created by a hypervisor.&lt;br /&gt;
&lt;br /&gt;
        1.3.3 Boundedly Undefined&lt;br /&gt;
&lt;br /&gt;
              The definition of the term &amp;#039;boundedly undefined&amp;#039; used in this&lt;br /&gt;
              specification is identical to the Power ISA:&lt;br /&gt;
          &lt;br /&gt;
                  The results of executing a given instruction are said to be&lt;br /&gt;
                  boundedly undefined if they could have been achieved by&lt;br /&gt;
                  executing an arbitrary finite sequence of instructions&lt;br /&gt;
                  (none of which yields boundedly undefined results) in the&lt;br /&gt;
                  state the processor was in before executing the given&lt;br /&gt;
                  instruction. Boundedly undefined results for a given&lt;br /&gt;
                  instruction may vary between implementations, and between&lt;br /&gt;
                  different executions on the same implementation.&lt;br /&gt;
&lt;br /&gt;
        1.3.4 Volatile&lt;br /&gt;
&lt;br /&gt;
              The definition of the term &amp;#039;volatile&amp;#039; used in this&lt;br /&gt;
              specification is identical to the Power ISA:&lt;br /&gt;
&lt;br /&gt;
                  Bits in a register or array (e.g., TLB) are considered&lt;br /&gt;
                  volatile if they may change even if not explicitly&lt;br /&gt;
                  modified by software.&lt;br /&gt;
&lt;br /&gt;
    1.4 Revision History&lt;br /&gt;
&lt;br /&gt;
        Version     Date      Change&lt;br /&gt;
        --------------------------------------------------&lt;br /&gt;
        1.2        10/26/2011  updated references, msgsnd/msgclr,&lt;br /&gt;
                               cache control registers&lt;br /&gt;
        1.3        1/5/2012    Added e6500 CPU definitions&lt;br /&gt;
        1.4        5/2/2012    Added definitions for EPCR and MMUCFG&lt;br /&gt;
        1.5        6/25/2012   Category table updates for categories&lt;br /&gt;
                               that were missing &lt;br /&gt;
        1.6        5/28/2013   Added missing references to e6500,&lt;br /&gt;
                               updated references links, minor &lt;br /&gt;
                               clarifications&lt;br /&gt;
&lt;br /&gt;
2. IMPLEMENTED CATEGORIES&lt;br /&gt;
&lt;br /&gt;
   Table 2-1 below identifies the categories of the Power Architecture&lt;br /&gt;
   and EREF implemented by vcpu implementations for e500v2, e500mc, e5500,&lt;br /&gt;
   and e6500.&lt;br /&gt;
&lt;br /&gt;
       X indicates category is supported in vcpu&lt;br /&gt;
       - indicates category is not supported in vcpu&lt;br /&gt;
         (Note: any categories not listed are not supported in vcpu)&lt;br /&gt;
&lt;br /&gt;
                                   Table 2-1&lt;br /&gt;
    ------------------------------------------------------------------------&lt;br /&gt;
                                                       Virtual CPU&lt;br /&gt;
    Feature/Category                    Abrv.   e500v2  e500mc  e5500  e6500&lt;br /&gt;
    ------------------------------------------------------------------------&lt;br /&gt;
    Base                                B          X       X       X      X&lt;br /&gt;
    Embedded                            E          X       X       X      X&lt;br /&gt;
    Alternate Timebase                  ATB        X       X       X      X&lt;br /&gt;
    Cache Specification                 CS         X       X       X      X&lt;br /&gt;
    Decorated Storage                   DS         -       X       X      X&lt;br /&gt;
    Embedded.Enhanced Debug             E.ED       -       X       X      X&lt;br /&gt;
    Embedded.External PID               E.PD       -       X       X      X&lt;br /&gt;
    Embedded.Hypervisor                 E.HV       -       -       -      -&lt;br /&gt;
    Embedded.Little-Endian              E.LE      [1]     [1]     [1]    [1]&lt;br /&gt;
    Embedded.Performance Monitor        E.PM       X       X       X      X&lt;br /&gt;
    Embedded.Processor Control          E.PC       -       X       X      X&lt;br /&gt;
    Embedded.Cache Locking              E.CL       X       X       X      X&lt;br /&gt;
    External Proxy                      EXP        -       X       X      X&lt;br /&gt;
    Floating Point                      FP         -       X       X      X&lt;br /&gt;
       Floating Point.Record            FP.R       -       X       X      X&lt;br /&gt;
    Memory Coherence                    MMC        X       X       X      X&lt;br /&gt;
    Signal Processing Engine            SP         X       -       -      -&lt;br /&gt;
        Embedded Float Scalar Double    SP.FD      X       -       -      -&lt;br /&gt;
        Embedded Float Scalar Single    SP.FS      X       -       -      -&lt;br /&gt;
        Embedded Float Vector           SP.FV      X       -       -      -&lt;br /&gt;
    Store Conditional Page Mobility     SCPM       -       X       X      X&lt;br /&gt;
    Wait                                WT         -       X       X      X&lt;br /&gt;
    64-bit                              64         -       -       X      X&lt;br /&gt;
    Embedded.Page Table                 E.PT       -       -       -      X&lt;br /&gt;
    Embedded.Hypervisor.LRAT            E.HV.LRAT  -       -       -      -&lt;br /&gt;
    Embedded Multi-Threading            E.EM       -       -       -      -&lt;br /&gt;
    Vector (AltiVec)                    V          -       -       -      X&lt;br /&gt;
    Enhanced Reservations               ER         -       -       -      X&lt;br /&gt;
     (Load and Reserve and Store Cond.)&lt;br /&gt;
    Data Cache Extended Operations      DEO        -       X       X      X&lt;br /&gt;
    Cache Stashing                      CS         -       X       X      X&lt;br /&gt;
    ------------------------------------------------------------------------&lt;br /&gt;
    [1] Little-Endian mappings are supported for data but not instructions.&lt;br /&gt;
&lt;br /&gt;
    The ePAPR 1.1 [3] specification defines &amp;quot;power-isa-*&amp;quot; properties on&lt;br /&gt;
    CPU nodes that specify which Power Architecture categories are&lt;br /&gt;
    implemented.&lt;br /&gt;
&lt;br /&gt;
        Property: power-isa-*&lt;br /&gt;
        Usage: optional&lt;br /&gt;
        Value: &amp;lt;empty&amp;gt;&lt;br /&gt;
        Description:&lt;br /&gt;
           If the power-isa-version property exists, then for each&lt;br /&gt;
           category from the Categories section of Book I of the Power&lt;br /&gt;
           ISA version indicated, the existence of a property named&lt;br /&gt;
           power-isa-[CAT], where [CAT] is the abbreviated category&lt;br /&gt;
           name with all uppercase letters converted to lowercase,&lt;br /&gt;
           indicates that the category is supported by the implementation.&lt;br /&gt;
&lt;br /&gt;
           For example, if the power-isa-version property exists and&lt;br /&gt;
           its value is &amp;quot;2.06&amp;quot; and the power-isa-e.hv property exists,&lt;br /&gt;
           then the implementation supports [Category:Embedded.Hypervisor]&lt;br /&gt;
           as defined in Power ISA Version 2.06.&lt;br /&gt;
&lt;br /&gt;
    A hypervisor should advertise implemented CPU categories on &lt;br /&gt;
    CPU nodes.&lt;br /&gt;
&lt;br /&gt;
    An operating system should examine these properties&lt;br /&gt;
    to determine categories implemented by a virtual CPU.&lt;br /&gt;
&lt;br /&gt;
3.  REGISTERS&lt;br /&gt;
&lt;br /&gt;
    This section describes differences between registers in a virtual CPU &lt;br /&gt;
    compared to the CPU being emulated.&lt;br /&gt;
&lt;br /&gt;
    3.1 Version Registers&lt;br /&gt;
&lt;br /&gt;
        The Processor Version Register (PVR) and System Version Register (SVR)&lt;br /&gt;
        return the values of the CPU being emulated.&lt;br /&gt;
&lt;br /&gt;
        Note: a guest should take care regarding what assumptions are made&lt;br /&gt;
        based on PVR as there are differences between the virtual&lt;br /&gt;
        CPU and the CPU being emulated as described in this specfication.&lt;br /&gt;
&lt;br /&gt;
    3.2 Machine State Register (MSR)&lt;br /&gt;
&lt;br /&gt;
        The machine state register (MSR) in the vcpu has differences in&lt;br /&gt;
        the following MSR fields as defined in Table 2-1.&lt;br /&gt;
&lt;br /&gt;
             Bits    Name              Description&lt;br /&gt;
            ---------------------------------------------------------------&lt;br /&gt;
              35      GS       Guest state. MSR[GS] is read-only and is&lt;br /&gt;
                               always ‘1’. (See Note1)&lt;br /&gt;
&lt;br /&gt;
              37     UCLE      User-mode cache lock enable.  Is writeable&lt;br /&gt;
                               and behaves as per the architecture if the&lt;br /&gt;
                               vcpu implements category &amp;quot;Embedded.Cache Locking&amp;quot;.&lt;br /&gt;
                               Otherwise is &amp;#039;0&amp;#039; and is read-only.&lt;br /&gt;
&lt;br /&gt;
              54      DE       Debug interrupt enable.  Is writeable and&lt;br /&gt;
                               and behaves as per the architecture if&lt;br /&gt;
                               DBCR0[EDM]=0.  If DBCR0[EDM]=1, then MSR[DE]=0&lt;br /&gt;
                               and is read-only. (see Note2)&lt;br /&gt;
&lt;br /&gt;
              58      IS       On e500v2 &amp;#039;IS&amp;#039; must equal &amp;#039;DS&amp;#039;&lt;br /&gt;
              59      DS       On e500v2 &amp;#039;DS&amp;#039; must equal &amp;#039;IS&amp;#039;&lt;br /&gt;
&lt;br /&gt;
            ---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
         Notes&lt;br /&gt;
         -----&lt;br /&gt;
&lt;br /&gt;
             Note1 - The MSR[GS] bit is defined only when the CPU being&lt;br /&gt;
                     emulated implements Category: Embedded.Hypervisor.&lt;br /&gt;
&lt;br /&gt;
             Note2 - If the vcpu implements category &amp;quot;Embedded.Enhanced Debug&amp;quot;,&lt;br /&gt;
                     when MSR[DE]=1, the registers SPRG9, DSRR0, and DSRR1&lt;br /&gt;
                     are volatile.&lt;br /&gt;
&lt;br /&gt;
    3.3  CPU Index and Processor ID Register (PIR)&lt;br /&gt;
&lt;br /&gt;
         The Processor ID Register is read-only.&lt;br /&gt;
&lt;br /&gt;
         At virtual machine initialization, each vcpu in the virtual machine is&lt;br /&gt;
         assigned a unique index (within the partition) that can be used to&lt;br /&gt;
         distinguish the CPU from other CPUs in the partition.&lt;br /&gt;
&lt;br /&gt;
         This CPU index value can be read by using the mfspr instruction to&lt;br /&gt;
         read the processor ID register (PIR).&lt;br /&gt;
 &lt;br /&gt;
         The CPU index is used in several instances:&lt;br /&gt;
&lt;br /&gt;
            -The index enables software to detect whether a CPU is the boot&lt;br /&gt;
             CPU in an SMP configuration. The CPU index of the boot CPU is&lt;br /&gt;
             set by software in the device tree header (see ePAPR [3]).&lt;br /&gt;
&lt;br /&gt;
            -If the vcpu implements Category: Embedded.Processor Control, the&lt;br /&gt;
             index is used as a parameter to the msgsnd and msgclr instructions&lt;br /&gt;
             to specify the targeted CPU for intra-partition signaling.&lt;br /&gt;
&lt;br /&gt;
            -Interrupt source configuration in the VMPIC interrupt controller&lt;br /&gt;
             allows specifying the index of the CPU that is configured to&lt;br /&gt;
             receive the interrupt.&lt;br /&gt;
&lt;br /&gt;
          Each CPU node is described in the device tree. The reg property&lt;br /&gt;
          for each CPU node has a value that matches the CPU index.&lt;br /&gt;
&lt;br /&gt;
    3.4  External PID Load Context (EPLC) and External PID Store Context&lt;br /&gt;
         (EPSC) Registers&lt;br /&gt;
&lt;br /&gt;
         A virtual CPU may implement [Category: Embedded.External PID]&lt;br /&gt;
         of the Power ISA.  EPLC and EPSC specify the context for external&lt;br /&gt;
         PID loads and stores as defined by the Power ISA.&lt;br /&gt;
&lt;br /&gt;
         The EGS and ELPID fields in EPLC and EPSC specify the hypervisor&lt;br /&gt;
         context and are not accessible by supervisor level software on&lt;br /&gt;
         the vcpu.  Values written to the EGS and ELPID fields are&lt;br /&gt;
         ignored.&lt;br /&gt;
&lt;br /&gt;
    3.5  Timebase (TLB and TBU)&lt;br /&gt;
&lt;br /&gt;
         The TBU and TBL are read-only.&lt;br /&gt;
&lt;br /&gt;
    3.6  L1 and L2 Cache Control Registers&lt;br /&gt;
&lt;br /&gt;
        The behavior of the L1 and L2 cache control registers is dependent&lt;br /&gt;
        on whether the virtual CPU implements category &amp;quot;Embedded.Cache Locking&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
        All L1 and L2 cache control registers and L2 error registers&lt;br /&gt;
        can be read regardless of whether category &amp;quot;Embedded.Cache Locking&amp;quot;&lt;br /&gt;
        is implemented.&lt;br /&gt;
&lt;br /&gt;
        When category &amp;quot;Embedded.Cache Locking&amp;quot; is _not_ implemented:&lt;br /&gt;
           -The L1CSR0[CUL] and L1CSR1[ICUL] fields can be written.  For all&lt;br /&gt;
            other fields writes have no effect.&lt;br /&gt;
&lt;br /&gt;
        When category &amp;quot;Embedded.Cache Locking&amp;quot; is implemented:&lt;br /&gt;
           -Writes to the flash lock clearing bits are supported--&lt;br /&gt;
            L1CSR0[CLFR], L1CSR1[ICLFR], L2CSR0[L2FLC]&lt;br /&gt;
           -Writes to the L1CSR0 sticky status bits are supported--&lt;br /&gt;
            L1CSR0[CUL], L1CSR0[CSLC], L1CSR0[CLO]&lt;br /&gt;
           -Writes to the L1CSR1 sticky status bits are supported--&lt;br /&gt;
            L1CSR1[ICUL], L1CSR1[ICSLC], L1CSR1[ICLO]&lt;br /&gt;
           -Writes to the L2CSR0 sticky status bits are supported--&lt;br /&gt;
            L2SCR0[L2LO]&lt;br /&gt;
           -Support for L1CSR0[DCBZ32] is implementation defined&lt;br /&gt;
           -For all other fields writes have no effect.&lt;br /&gt;
&lt;br /&gt;
    3.7  Branch Unit Control and Status Register (BUCSR)&lt;br /&gt;
&lt;br /&gt;
         If the cpu being emulated implements BUCSR, the BUCSR fields are&lt;br /&gt;
         identical to those of the cpu being emulated. The BUCSR can be read,&lt;br /&gt;
         but is not writeable on the vcpu. Writes are NOPs and do not affect&lt;br /&gt;
         architectural state.&lt;br /&gt;
      &lt;br /&gt;
    3.8  Core Device Control and Status Register 0 (CDCSR0)&lt;br /&gt;
&lt;br /&gt;
         If the emulated CPU implements CDCSR0, the CDCSR0 fields are&lt;br /&gt;
         identical to those of the CPU being emulated. CDCSR0 can be read but&lt;br /&gt;
         is not writeable on the vcpu. Writes are a NOP and result in no&lt;br /&gt;
         architectural state changes.&lt;br /&gt;
&lt;br /&gt;
    3.9  Debug Registers&lt;br /&gt;
&lt;br /&gt;
         The DBCR0 register in the vcpu is always readable.&lt;br /&gt;
&lt;br /&gt;
         If DBCR0[EDM]=1, then the implementation has not granted debug&lt;br /&gt;
         resources to the vcpu.  In this case all accesses to debug&lt;br /&gt;
         registers (except reading DBCR0) are boundedly undefined.&lt;br /&gt;
&lt;br /&gt;
         If DBCR0[EDM]=0, then the debug registers implemented by&lt;br /&gt;
         the CPU being emulated are supported excepted as noted below.&lt;br /&gt;
&lt;br /&gt;
         Writes to the debug registers and fields in Table &lt;br /&gt;
         2-7 are not supported and ignored.  Reads return 0x0.&lt;br /&gt;
&lt;br /&gt;
                               Table 2-7&lt;br /&gt;
               -----------------------------------------------&lt;br /&gt;
               Debug        Register fields&lt;br /&gt;
               Register     not supported&lt;br /&gt;
               -----------------------------------------------&lt;br /&gt;
                DBCR0       IDM - internal debug mode&lt;br /&gt;
                            FT - freeze timers&lt;br /&gt;
                            IRPT - interrupt taken&lt;br /&gt;
                            RET - return debug event&lt;br /&gt;
                            RST - reset&lt;br /&gt;
&lt;br /&gt;
                DBSRWR      all fields&lt;br /&gt;
&lt;br /&gt;
                DDAM        all fields&lt;br /&gt;
&lt;br /&gt;
                DEVENT      all fields&lt;br /&gt;
               -----------------------------------------------&lt;br /&gt;
&lt;br /&gt;
        When MSR[DE]=1, the registers SPRG9, DSRR0, and DSRR1 are&lt;br /&gt;
        volatile.&lt;br /&gt;
&lt;br /&gt;
    3.10 PID1 and PID2 Registers&lt;br /&gt;
&lt;br /&gt;
         The e500v2 vcpu does not implement the PID1 and PID2 SPRs.&lt;br /&gt;
&lt;br /&gt;
    3.11 Embedded Processor Control Register (EPCR)&lt;br /&gt;
&lt;br /&gt;
         EPCR is implented if category 64-bit is supported.  All bits&lt;br /&gt;
         in EPCR are reserved except for ICM.&lt;br /&gt;
&lt;br /&gt;
             Bits    Name              Description&lt;br /&gt;
            ---------------------------------------------------------------&lt;br /&gt;
              38      ICM      Controls the computation mode for all interrupts.&lt;br /&gt;
                               At interrupt time, EPCR[ICM] is copied into&lt;br /&gt;
                               MSR[CM].&lt;br /&gt;
&lt;br /&gt;
                                   0 Interrupts will execute in 32-bit mode.&lt;br /&gt;
                                   1 Interrupts will execute in 64-bit mode.&lt;br /&gt;
            ---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    3.12 Hardware Threads&lt;br /&gt;
&lt;br /&gt;
        e6500 CPUs have multiple hardware threads, but threads may&lt;br /&gt;
        not be exposed in a virtual machine.  No assumption should&lt;br /&gt;
        be made about the number of threads available based mechanisms&lt;br /&gt;
        such as PIR.  A e6500 vcpu may only have one thread.&lt;br /&gt;
&lt;br /&gt;
        The Thread Management Configuration Register 0 (TMCFG0) should&lt;br /&gt;
        be used to determine the number of threads in a virtual CPU.&lt;br /&gt;
&lt;br /&gt;
4.  INSTRUCTIONS&lt;br /&gt;
&lt;br /&gt;
    4.1 Cache Locking Instructions&lt;br /&gt;
&lt;br /&gt;
        The behavior of cache locking instructions (dcbtls, dcbtstls,&lt;br /&gt;
        dcblc, icbtls, icblc) is dependent on whether the virtual CPU&lt;br /&gt;
        implements category &amp;quot;Embedded.Cache Locking&amp;quot;.  When category&lt;br /&gt;
        &amp;quot;Embedded.Cache Locking&amp;quot; is implemented cache locking instructions&lt;br /&gt;
        behave as per the architecture.   If cache locking is not implemented,&lt;br /&gt;
        executing cache-locking instructions is effectively a nop-- the&lt;br /&gt;
        operation is ignored.&lt;br /&gt;
&lt;br /&gt;
    4.3 System Call instruction&lt;br /&gt;
&lt;br /&gt;
        The sc instruction behaves as per the architecture except for the&lt;br /&gt;
        following: in user mode MSR[PR=1], sc with LEV == 1 results in a&lt;br /&gt;
        program exception with ESR[PPR] set (privileged instruction exception).&lt;br /&gt;
&lt;br /&gt;
    4.4 Wait for Interrupt Instruction&lt;br /&gt;
&lt;br /&gt;
        The &amp;#039;wait&amp;#039; instruction stops synchronous processor activity&lt;br /&gt;
        including the fetching of instructions until an asynchronous&lt;br /&gt;
        interrupt occurs.  It is possible that a spurious &amp;#039;wakeup&amp;#039;&lt;br /&gt;
        could occur where instruction fetching is resumed even&lt;br /&gt;
        when no vcpu interrupt or no loss of reservation occurred.&lt;br /&gt;
&lt;br /&gt;
    4.5 Reservations&lt;br /&gt;
&lt;br /&gt;
        The ability to emulate an atomic operation using &amp;quot;load with&lt;br /&gt;
        reservation&amp;quot; instructions and &amp;quot;store conditional&amp;quot; instructions&lt;br /&gt;
        is based on the conditional behavior of &amp;quot;store conditional&amp;quot;,&lt;br /&gt;
        the reservation set by &amp;quot;load with reservation&amp;quot;, and the clearing&lt;br /&gt;
        of that reservation if the target location is modified by another&lt;br /&gt;
        processor or mechanism before the &amp;quot;store condtitional&amp;quot; performs&lt;br /&gt;
        its store.&lt;br /&gt;
&lt;br /&gt;
        The following considerations should be understood regarding potential&lt;br /&gt;
        reservation loss. With the vcpu, a reservation may be broken for&lt;br /&gt;
        the following reasons:&lt;br /&gt;
&lt;br /&gt;
           -The Power ISA lists reasons where reservation may be lost&lt;br /&gt;
&lt;br /&gt;
           -An asynchronous interrupt in the physical CPU may cause a loss&lt;br /&gt;
            of a reservation, including interrupts not visible to or caused&lt;br /&gt;
            by guest software.&lt;br /&gt;
&lt;br /&gt;
           -A reservation may be broken if software executes a privileged&lt;br /&gt;
            instruction or utilizes a privileged facility. Privileged&lt;br /&gt;
            instructions and facilities are defined by the Power ISA.&lt;br /&gt;
&lt;br /&gt;
    4.5 tlbilx&lt;br /&gt;
&lt;br /&gt;
        The tlbilx instruction is supported on e500mc, e5500, and e6500&lt;br /&gt;
        virtual CPU implementations even though category E.HV is not&lt;br /&gt;
        supported.&lt;br /&gt;
&lt;br /&gt;
    4.6 msgsnd/msgclr&lt;br /&gt;
&lt;br /&gt;
        The msgsnd and msgclr instructions are defined by cateogry&lt;br /&gt;
        &amp;quot;Embedded.Processor Control&amp;quot; and are supported if the category &lt;br /&gt;
        is implemented on the cpu being emulated.&lt;br /&gt;
&lt;br /&gt;
        The vcpu does not implement category &amp;quot;Embedded.Hypervisor&amp;quot;.&lt;br /&gt;
        An attempt to use the E.HV features of msgsnd/msgclr is&lt;br /&gt;
        boundedly undefined.&lt;br /&gt;
&lt;br /&gt;
5.  MMU&lt;br /&gt;
&lt;br /&gt;
    5.1 Overview&lt;br /&gt;
&lt;br /&gt;
        Software running on an vcpu implementation should not make&lt;br /&gt;
        assumptions about the configuration or geometry of the vcpu&amp;#039;s&lt;br /&gt;
        MMU based on the PIR register.  Instead, software should determine&lt;br /&gt;
        MMU configuration from the MMUCFG and TLBnCFG registers.  The vcpu&amp;#039;s&lt;br /&gt;
        MMU configuration may be different from the CPU being emulated.&lt;br /&gt;
&lt;br /&gt;
    5.2 TLBnCFG NENTRY and ASSOC&lt;br /&gt;
&lt;br /&gt;
        The Power ISA [1] specifies how TLBnCFG[NENTRY] and TLBnCFG[ASSOC]&lt;br /&gt;
        should be interpreted.  This definition is summarized in&lt;br /&gt;
        the table below:&lt;br /&gt;
&lt;br /&gt;
          NENTRY  ASSOC      Meaning&lt;br /&gt;
          --------------------------------------------------------------------&lt;br /&gt;
           0       0         no TLB present&lt;br /&gt;
&lt;br /&gt;
           0       1         TLB geometry is completely implementation-defined.&lt;br /&gt;
                             MAS0[ESEL] is ignored&lt;br /&gt;
 &lt;br /&gt;
           0       &amp;gt;1        TLB geometry and number of entries is&lt;br /&gt;
                             implementation defined, but has known&lt;br /&gt;
                             associativity.&lt;br /&gt;
                             For tlbre and tlbwe, a set of TLB entries is&lt;br /&gt;
                             selected by an implementation dependent function&lt;br /&gt;
                             of MAS8[TGS][TLPID], MAS1[TS][TID][TSIZE], and&lt;br /&gt;
                             MAS2[EPN]. MAS0[ESEL] is used to select among&lt;br /&gt;
                             entries in this set, except on tlbwe if&lt;br /&gt;
                             MAS0[HES]=1.&lt;br /&gt;
&lt;br /&gt;
           n &amp;gt; 0   n or 0    TLB is fully associative&lt;br /&gt;
          --------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    5.3 IPROT=0&lt;br /&gt;
&lt;br /&gt;
        A TLB entry with IPROT=0 may be evicted at any time.&lt;br /&gt;
&lt;br /&gt;
    5.4 MMUCFG&lt;br /&gt;
&lt;br /&gt;
        The LPIDSIZE field (bits 36-39) can be used by software to&lt;br /&gt;
        detect whether category E.HV is present.  A value of 0 indicates&lt;br /&gt;
        that E.HV functionality is not present.&lt;br /&gt;
&lt;br /&gt;
6.  EXCEPTIONS&lt;br /&gt;
&lt;br /&gt;
    6.1 Debug Interrupts&lt;br /&gt;
&lt;br /&gt;
        The vcpu does not support delayed/deferred debug interrupts:&lt;br /&gt;
&lt;br /&gt;
            -If MSR[DE]=0 and a debug condition occurs in the&lt;br /&gt;
             vcpu, no bit is set in DBSR.&lt;br /&gt;
&lt;br /&gt;
            -Writes to DBSRWR have no effect.&lt;br /&gt;
&lt;br /&gt;
            -Imprecise debug events (DBSR[IDE]) and unconditional debug&lt;br /&gt;
             events (DBSR[UDE]) are not supported.&lt;br /&gt;
&lt;br /&gt;
            -If a debug event happens with MSR[DE] = 1, and the software&lt;br /&gt;
             running on the vcpu fails to clear DBSR before re-enabling&lt;br /&gt;
             MSR[DE] another debug interrupt will not occur.&lt;br /&gt;
&lt;br /&gt;
7.  HYPERVISOR SPECIFIC CONSIDERATIONS&lt;br /&gt;
&lt;br /&gt;
    7.1 Cacheable and Cache-inhibited Mappings on KVM&lt;br /&gt;
&lt;br /&gt;
        As part of virtual machine initialization and setup, QEMU (the virtual&lt;br /&gt;
        machine manager) also creates mappings to a guest address regions.&lt;br /&gt;
        A guest must have I=1 for RAM mappings and I=0 for other mappings&lt;br /&gt;
        in order to avoid creating an architecture-violating alias with QEMU&amp;#039;s&lt;br /&gt;
        mapping. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Stuyoder</name></author>
	</entry>
</feed>