<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Makefile</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>19d31c5f - KVM: PPC: Add support for nestedv2 guests</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#19d31c5f</link>
        <description>KVM: PPC: Add support for nestedv2 guestsA series of hcalls have been added to the PAPR which allow a regularguest partition to create and manage guest partitions of its own. KVMalready had an interface that allowed this on powernv platforms. Thisexisting interface will now be called &quot;nestedv1&quot;. The newly added PAPRinterface will be called &quot;nestedv2&quot;.  PHYP will support the nestedv2interface. At this time the host side of the nestedv2 interface has notbeen implemented on powernv but there is no technical reason why itcould not be added.The nestedv1 interface is still supported.Add support to KVM to utilize these hcalls to enable running nestedguests as a pseries guest on PHYP.Overview of the new hcall usage:- L1 and L0 negotiate capabilities with  H_GUEST_{G,S}ET_CAPABILITIES()- L1 requests the L0 create a L2 with  H_GUEST_CREATE() and receives a handle to use in future hcalls- L1 requests the L0 create a L2 vCPU with  H_GUEST_CREATE_VCPU()- L1 sets up the L2 using H_GUEST_SET and the  H_GUEST_VCPU_RUN input buffer- L1 requests the L0 runs the L2 vCPU using H_GUEST_VCPU_RUN()- L2 returns to L1 with an exit reason and L1 reads the  H_GUEST_VCPU_RUN output buffer populated by the L0- L1 handles the exit using H_GET_STATE if necessary- L1 reruns L2 vCPU with H_GUEST_VCPU_RUN- L1 frees the L2 in the L0 with H_GUEST_DELETE()Support for the new API is determined by tryingH_GUEST_GET_CAPABILITIES. On a successful return, use the nestedv2interface.Use the vcpu register state setters for tracking modified guest stateelements and copy the thread wide values into the H_GUEST_VCPU_RUN inputbuffer immediately before running a L2. The guest wideelements can not be added to the input buffer so send them with aseparate H_GUEST_SET call if necessary.Make the vcpu register getter load the corresponding value from the realhost with H_GUEST_GET. To avoid unnecessarily calling H_GUEST_GET, trackwhich values have already been loaded between H_GUEST_VCPU_RUN calls. Ifan element is present in the H_GUEST_VCPU_RUN output buffer it also doesnot need to be loaded again.Tested-by: Sachin Sant &lt;sachinp@linux.ibm.com&gt;Signed-off-by: Vaibhav Jain &lt;vaibhav@linux.ibm.com&gt;Signed-off-by: Gautam Menghani &lt;gautam@linux.ibm.com&gt;Signed-off-by: Kautuk Consul &lt;kconsul@linux.vnet.ibm.com&gt;Signed-off-by: Amit Machhiwal &lt;amachhiw@linux.vnet.ibm.com&gt;Signed-off-by: Jordan Niethe &lt;jniethe5@gmail.com&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://msgid.link/20230914030600.16993-11-jniethe5@gmail.com

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Thu, 14 Sep 2023 03:05:59 +0000</pubDate>
        <dc:creator>Jordan Niethe &lt;jniethe5@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>6ccbbc33 - KVM: PPC: Add helper library for Guest State Buffers</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#6ccbbc33</link>
        <description>KVM: PPC: Add helper library for Guest State BuffersThe PAPR &quot;Nestedv2&quot; guest API introduces the concept of a Guest StateBuffer for communication about L2 guests between L1 and L0 hosts.In the new API, the L0 manages the L2 on behalf of the L1. This meansthat if the L1 needs to change L2 state (e.g. GPRs, SPRs, partitiontable...), it must request the L0 perform the modification. If thenested host needs to read L2 state likewise this request mustgo through the L0.The Guest State Buffer is a Type-Length-Value style data format definedin the PAPR which assigns all relevant partition state a uniqueidentity. Unlike a typical TLV format the length is redundant as thelength of each identity is fixed but is included for checkingcorrectness.A guest state buffer consists of an element count followed by a streamof elements, where elements are composed of an ID number, data length,then the data:  Header:   &lt;---4 bytes---&gt;  +----------------+-----  | Element Count  | Elements...  +----------------+-----  Element:   &lt;----2 bytes---&gt; &lt;-2 bytes-&gt; &lt;-Length bytes-&gt;  +----------------+-----------+----------------+  | Guest State ID |  Length   |      Data      |  +----------------+-----------+----------------+Guest State IDs have other attributes defined in the PAPR such aswhether they are per thread or per guest, or read-only.Introduce a library for using guest state buffers. This includes supportfor actions such as creating buffers, adding elements to buffers,reading the value of elements and parsing buffers. This will be usedlater by the nestedv2 guest support.Signed-off-by: Jordan Niethe &lt;jniethe5@gmail.com&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://msgid.link/20230914030600.16993-9-jniethe5@gmail.com

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Thu, 14 Sep 2023 03:05:57 +0000</pubDate>
        <dc:creator>Jordan Niethe &lt;jniethe5@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>db536084 - powerpc/kvm: Move pmu code in kvm folder to separate file for power9 and later platforms</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#db536084</link>
        <description>powerpc/kvm: Move pmu code in kvm folder to separate file for power9 and later platformsFile book3s_hv_p9_entry.c in powerpc/kvm folder consists of functionslike freeze_pmu, switch_pmu_to_guest and switch_pmu_to_host which arespecific to Performance Monitoring Unit(PMU) for power9 and laterplatforms.For better maintenance, moving pmu related code frombook3s_hv_p9_entry.c to a new file called book3s_hv_p9_perf.c,without any logic change.Also make corresponding changes in the Makefile to includebook3s_hv_p9_perf.c during compilation.Signed-off-by: Kajol Jain &lt;kjain@linux.ibm.com&gt;Reviewed-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://lore.kernel.org/r/20220711034927.213192-1-kjain@linux.ibm.com

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Mon, 11 Jul 2022 03:49:26 +0000</pubDate>
        <dc:creator>Kajol Jain &lt;kjain@linux.ibm.com&gt;</dc:creator>
    </item>
<item>
        <title>41b7a347 - powerpc: Book3S 64-bit outline-only KASAN support</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#41b7a347</link>
        <description>powerpc: Book3S 64-bit outline-only KASAN supportImplement a limited form of KASAN for Book3S 64-bit machines running underthe Radix MMU, supporting only outline mode. - Enable the compiler instrumentation to check addresses and maintain the   shadow region. (This is the guts of KASAN which we can easily reuse.) - Require kasan-vmalloc support to handle modules and anything else in   vmalloc space. - KASAN needs to be able to validate all pointer accesses, but we can&apos;t   instrument all kernel addresses - only linear map and vmalloc. On boot,   set up a single page of read-only shadow that marks all iomap and   vmemmap accesses as valid. - Document KASAN in powerpc docs.Background----------KASAN support on Book3S is a bit tricky to get right: - It would be good to support inline instrumentation so as to be able to   catch stack issues that cannot be caught with outline mode. - Inline instrumentation requires a fixed offset. - Book3S runs code with translations off (&quot;real mode&quot;) during boot,   including a lot of generic device-tree parsing code which is used to   determine MMU features.    [ppc64 mm note: The kernel installs a linear mapping at effective    address c000...-c008.... This is a one-to-one mapping with physical    memory from 0000... onward. Because of how memory accesses work on    powerpc 64-bit Book3S, a kernel pointer in the linear map accesses the    same memory both with translations on (accessing as an &apos;effective    address&apos;), and with translations off (accessing as a &apos;real    address&apos;). This works in both guests and the hypervisor. For more    details, see s5.7 of Book III of version 3 of the ISA, in particular    the Storage Control Overview, s5.7.3, and s5.7.5 - noting that this    KASAN implementation currently only supports Radix.] - Some code - most notably a lot of KVM code - also runs with translations   off after boot. - Therefore any offset has to point to memory that is valid with   translations on or off.One approach is just to give up on inline instrumentation. This wayboot-time checks can be delayed until after the MMU is set is up, and wecan just not instrument any code that runs with translations off afterbooting. Take this approach for now and require outline instrumentation.Previous attempts allowed inline instrumentation. However, they came withsome unfortunate restrictions: only physically contiguous memory could beused and it had to be specified at compile time. Maybe we can do better inthe future.[paulus@ozlabs.org - Rebased onto 5.17.  Note that a kernel with CONFIG_KASAN=y will crash during boot on a machine using HPT translation because not all the entry points to the generic KASAN code are protected with a call to kasan_arch_is_ready().]Originally-by: Balbir Singh &lt;bsingharora@gmail.com&gt; # ppc64 out-of-line radix versionSigned-off-by: Daniel Axtens &lt;dja@axtens.net&gt;Signed-off-by: Paul Mackerras &lt;paulus@ozlabs.org&gt;[mpe: Update copyright year and comment formatting]Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://lore.kernel.org/r/YoTE69OQwiG7z+Gu@cleo

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Wed, 18 May 2022 10:05:31 +0000</pubDate>
        <dc:creator>Daniel Axtens &lt;dja@axtens.net&gt;</dc:creator>
    </item>
<item>
        <title>b22af904 - KVM: PPC: Book3s: Remove real mode interrupt controller hcalls handlers</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#b22af904</link>
        <description>KVM: PPC: Book3s: Remove real mode interrupt controller hcalls handlersCurrently we have 2 sets of interrupt controller hypercalls handlersfor real and virtual modes, this is from POWER8 times when switchingMMU on was considered an expensive operation.POWER9 however does not have dependent threads and MMU is enabled forhandling hcalls so the XIVE native or XICS-on-XIVE real mode handlersnever execute on real P9 and later CPUs.This untemplate the handlers and only keeps the real mode handlers forXICS native (up to POWER8) and remove the rest of dead code. Changesin functions are mechanical except few missing empty lines to makecheckpatch.pl happy.The default implemented hcalls list already contains XICS hcalls sono change there.This should not cause any behavioral change.Reported-by: kernel test robot &lt;lkp@intel.com&gt;Signed-off-by: Alexey Kardashevskiy &lt;aik@ozlabs.ru&gt;Acked-by: C&#233;dric Le Goater &lt;clg@kaod.org&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://lore.kernel.org/r/20220509071150.181250-1-aik@ozlabs.ru

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Mon, 09 May 2022 07:11:50 +0000</pubDate>
        <dc:creator>Alexey Kardashevskiy &lt;aik@ozlabs.ru&gt;</dc:creator>
    </item>
<item>
        <title>cad32d9d - KVM: PPC: Book3s: Retire H_PUT_TCE/etc real mode handlers</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#cad32d9d</link>
        <description>KVM: PPC: Book3s: Retire H_PUT_TCE/etc real mode handlersLoPAPR defines guest visible IOMMU with hypercalls to use it -H_PUT_TCE/etc. Implemented first on POWER7 where hypercalls would trapin the KVM in the real mode (with MMU off). The problem with the real modeis some memory is not available and some API usage crashed the host butenabling MMU was an expensive operation.The problems with the real mode handlers are:1. Occasionally these cannot complete the request so the code iscopied+modified to work in the virtual mode, very little is shared;2. The real mode handlers have to be linked into vmlinux to work;3. An exception in real mode immediately reboots the machine.If the small DMA window is used, the real mode handlers bring betterperformance. However since POWER8, there has always been a bigger DMAwindow which VMs use to map the entire VM memory to avoid callingH_PUT_TCE. Such 1:1 mapping happens once and uses H_PUT_TCE_INDIRECT(a bulk version of H_PUT_TCE) which virtual mode handler is even closerto its real mode version.On POWER9 hypercalls trap straight to the virtual mode so the real modehandlers never execute on POWER9 and later CPUs.So with the current use of the DMA windows and MMU improvements inPOWER9 and later, there is no point in duplicating the code.The 32bit passed through devices may slow down but we do not have manyof these in practice. For example, with this applied, a 1Gbit ethernetadapter still demostrates above 800Mbit/s of actual throughput.This removes the real mode handlers from KVM and related code fromthe powernv platform.This updates the list of implemented hcalls in KVM-HV as the realmodehandlers are removed.This changes ABI - kvmppc_h_get_tce() moves to the KVM module andkvmppc_find_table() is static now.Signed-off-by: Alexey Kardashevskiy &lt;aik@ozlabs.ru&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://lore.kernel.org/r/20220506053755.3820702-1-aik@ozlabs.ru

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Fri, 06 May 2022 05:37:55 +0000</pubDate>
        <dc:creator>Alexey Kardashevskiy &lt;aik@ozlabs.ru&gt;</dc:creator>
    </item>
<item>
        <title>5f33868a - KVM: powerpc: Use Makefile.kvm for common files</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#5f33868a</link>
        <description>KVM: powerpc: Use Makefile.kvm for common filesIt&apos;s all fairly baroque but in the end, I don&apos;t think there&apos;s any reasonfor $(KVM)/irqchip.o to have been handled differently, as they all endup in $(kvm-y) in the end anyway, regardless of whether they get therevia $(common-objs-y) and the CPU-specific object lists.Signed-off-by: David Woodhouse &lt;dwmw@amazon.co.uk&gt;Acked-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt; (powerpc)Message-Id: &lt;20211121125451.9489-7-dwmw2@infradead.org&gt;Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Sun, 21 Nov 2021 12:54:45 +0000</pubDate>
        <dc:creator>David Woodhouse &lt;dwmw@amazon.co.uk&gt;</dc:creator>
    </item>
<item>
        <title>cb082bfa - KVM: stats: Add fd-based API to read binary stats data</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#cb082bfa</link>
        <description>KVM: stats: Add fd-based API to read binary stats dataThis commit defines the API for userspace and prepare the commonfunctionalities to support per VM/VCPU binary stats data readings.The KVM stats now is only accessible by debugfs, which has someshortcomings this change series are supposed to fix:1. The current debugfs stats solution in KVM could be disabled   when kernel Lockdown mode is enabled, which is a potential   rick for production.2. The current debugfs stats solution in KVM is organized as &quot;one   stats per file&quot;, it is good for debugging, but not efficient   for production.3. The stats read/clear in current debugfs solution in KVM are   protected by the global kvm_lock.Besides that, there are some other benefits with this change:1. All KVM VM/VCPU stats can be read out in a bulk by one copy   to userspace.2. A schema is used to describe KVM statistics. From userspace&apos;s   perspective, the KVM statistics are self-describing.3. With the fd-based solution, a separate telemetry would be able   to read KVM stats in a less privileged environment.4. After the initial setup by reading in stats descriptors, a   telemetry only needs to read the stats data itself, no more   parsing or setup is needed.Reviewed-by: David Matlack &lt;dmatlack@google.com&gt;Reviewed-by: Ricardo Koller &lt;ricarkol@google.com&gt;Reviewed-by: Krish Sadhukhan &lt;krish.sadhukhan@oracle.com&gt;Reviewed-by: Fuad Tabba &lt;tabba@google.com&gt;Tested-by: Fuad Tabba &lt;tabba@google.com&gt; #arm64Signed-off-by: Jing Zhang &lt;jingzhangos@google.com&gt;Message-Id: &lt;20210618222709.1858088-3-jingzhangos@google.com&gt;Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Fri, 18 Jun 2021 22:27:04 +0000</pubDate>
        <dc:creator>Jing Zhang &lt;jingzhangos@google.com&gt;</dc:creator>
    </item>
<item>
        <title>89d35b23 - KVM: PPC: Book3S HV P9: Implement the rest of the P9 path in C</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#89d35b23</link>
        <description>KVM: PPC: Book3S HV P9: Implement the rest of the P9 path in CAlmost all logic is moved to C, by introducing a new in_guest mode forthe P9 path that branches very early in the KVM interrupt handler to P9exit code.The main P9 entry and exit assembly is now only about 160 lines of lowlevel stack setup and register save/restore, plus a bad-interrupthandler.There are two motivations for this, the first is just make the code moremaintainable being in C. The second is to reduce the amount of coderunning in a special KVM mode, &quot;realmode&quot;. In quotes because with radixit is no longer necessarily real-mode in the MMU, but it still has to betreated specially because it may be in real-mode, and has variousimportant registers like PID, DEC, TB, etc set to guest. This is hostileto the rest of Linux and can&apos;t use arbitrary kernel functionality or beinstrumented well.This initial patch is a reasonably faithful conversion of the asm code,but it does lack any loop to return quickly back into the guest withoutswitching out of realmode in the case of unimportant or easily handledinterrupts. As explained in previous changes, handling HV interruptsvery quickly in this low level realmode is not so important for P9performance, and are important to avoid for security, observability,debugability reasons.Signed-off-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;Reviewed-by: Alexey Kardashevskiy &lt;aik@ozlabs.ru&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://lore.kernel.org/r/20210528090752.3542186-15-npiggin@gmail.com

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Fri, 28 May 2021 09:07:34 +0000</pubDate>
        <dc:creator>Nicholas Piggin &lt;npiggin@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f3601156 - KVM: PPC: Book3S 64: move KVM interrupt entry to a common entry point</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#f3601156</link>
        <description>KVM: PPC: Book3S 64: move KVM interrupt entry to a common entry pointRather than bifurcate the call depending on whether or not HV ispossible, and have the HV entry test for PR, just make a singlecommon point which does the demultiplexing. This makes it simplerto add another type of exit handler.Signed-off-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;Reviewed-by: Daniel Axtens &lt;dja@axtens.net&gt;Reviewed-by: Fabiano Rosas &lt;farosas@linux.ibm.com&gt;Acked-by: Paul Mackerras &lt;paulus@ozlabs.org&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://lore.kernel.org/r/20210528090752.3542186-2-npiggin@gmail.com

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Fri, 28 May 2021 09:07:21 +0000</pubDate>
        <dc:creator>Nicholas Piggin &lt;npiggin@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>ca9f4942 - KVM: PPC: Book3S HV: Support for running secure guests</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#ca9f4942</link>
        <description>KVM: PPC: Book3S HV: Support for running secure guestsA pseries guest can be run as secure guest on Ultravisor-enabledPOWER platforms. On such platforms, this driver will be used to managethe movement of guest pages between the normal memory managed byhypervisor (HV) and secure memory managed by Ultravisor (UV).HV is informed about the guest&apos;s transition to secure mode via hcalls:H_SVM_INIT_START: Initiate securing a VMH_SVM_INIT_DONE: Conclude securing a VMAs part of H_SVM_INIT_START, register all existing memslots withthe UV. H_SVM_INIT_DONE call by UV informs HV that transition ofthe guest to secure mode is complete.These two states (transition to secure mode STARTED and transitionto secure mode COMPLETED) are recorded in kvm-&gt;arch.secure_guest.Setting these states will cause the assembly code that enters theguest to call the UV_RETURN ucall instead of trying to enter theguest directly.Migration of pages betwen normal and secure memory of secureguest is implemented in H_SVM_PAGE_IN and H_SVM_PAGE_OUT hcalls.H_SVM_PAGE_IN: Move the content of a normal page to secure pageH_SVM_PAGE_OUT: Move the content of a secure page to normal pagePrivate ZONE_DEVICE memory equal to the amount of secure memoryavailable in the platform for running secure guests is created.Whenever a page belonging to the guest becomes secure, a page fromthis private device memory is used to represent and track that securepage on the HV side. The movement of pages between normal and securememory is done via migrate_vma_pages() using UV_PAGE_IN andUV_PAGE_OUT ucalls.In order to prevent the device private pages (that correspond to pagesof secure guest) from participating in KSM merging, H_SVM_PAGE_INcalls ksm_madvise() under read version of mmap_sem. Howeverksm_madvise() needs to be under write lock.  Hence we callkvmppc_svm_page_in with mmap_sem held for writing, and it thendowngrades to a read lock after calling ksm_madvise.[paulus@ozlabs.org - roll in patch &quot;KVM: PPC: Book3S HV: Take write mmap_sem when calling ksm_madvise&quot;]Signed-off-by: Bharata B Rao &lt;bharata@linux.ibm.com&gt;Signed-off-by: Paul Mackerras &lt;paulus@ozlabs.org&gt;

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Mon, 25 Nov 2019 03:06:26 +0000</pubDate>
        <dc:creator>Bharata B Rao &lt;bharata@linux.ibm.com&gt;</dc:creator>
    </item>
<item>
        <title>90c73795 - KVM: PPC: Book3S HV: Add a new KVM device for the XIVE native exploitation mode</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#90c73795</link>
        <description>KVM: PPC: Book3S HV: Add a new KVM device for the XIVE native exploitation modeThis is the basic framework for the new KVM device supporting the XIVEnative exploitation mode. The user interface exposes a new KVM deviceto be created by QEMU, only available when running on a L0 hypervisor.Support for nested guests is not available yet.The XIVE device reuses the device structure of the XICS-on-XIVE deviceas they have a lot in common. That could possibly change in the futureif the need arise.Signed-off-by: C&#233;dric Le Goater &lt;clg@kaod.org&gt;Reviewed-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;Signed-off-by: Paul Mackerras &lt;paulus@ozlabs.org&gt;

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Thu, 18 Apr 2019 10:39:27 +0000</pubDate>
        <dc:creator>C&#233;dric Le Goater &lt;clg@kaod.org&gt;</dc:creator>
    </item>
<item>
        <title>f1adb9c4 - KVM: PPC: Remove -I. header search paths</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#f1adb9c4</link>
        <description>KVM: PPC: Remove -I. header search pathsThe header search path -I. in kernel Makefiles is very suspicious;it allows the compiler to search for headers in the top of $(srctree),where obviously no header file exists.Commit 46f43c6ee022 (&quot;KVM: powerpc: convert marker probes to eventtrace&quot;) first added these options, but they are completely useless.Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;Signed-off-by: Paul Mackerras &lt;paulus@ozlabs.org&gt;

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Fri, 11 Jan 2019 03:22:31 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;</dc:creator>
    </item>
<item>
        <title>c142e974 - KVM: powerpc: remove -I. header search paths</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#c142e974</link>
        <description>KVM: powerpc: remove -I. header search pathsThe header search path -I. in kernel Makefiles is very suspicious;it allows the compiler to search for headers in the top of $(srctree),where obviously no header file exists.Commit 46f43c6ee022 (&quot;KVM: powerpc: convert marker probes to eventtrace&quot;) first added these options, but they are completely useless.Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Fri, 11 Jan 2019 03:22:31 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;</dc:creator>
    </item>
<item>
        <title>23ad1a27 - powerpc: Add -Werror at arch/powerpc level</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#23ad1a27</link>
        <description>powerpc: Add -Werror at arch/powerpc levelBack when I added -Werror in commit ba55bd74360e (&quot;powerpc: Addconfigurable -Werror for arch/powerpc&quot;) I did it by adding it to mostof the arch Makefiles.At the time we excluded math-emu, because apparently it didn&apos;t buildcleanly. But that seems to have been fixed somewhere in the interim.So move the -Werror addition to the top-level of the arch, this savesus from repeating it in every Makefile and means we won&apos;t forget toadd it to any new sub-dirs.Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Wed, 10 Oct 2018 05:13:06 +0000</pubDate>
        <dc:creator>Michael Ellerman &lt;mpe@ellerman.id.au&gt;</dc:creator>
    </item>
<item>
        <title>8e3f5fc1 - KVM: PPC: Book3S HV: Framework and hcall stubs for nested virtualization</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#8e3f5fc1</link>
        <description>KVM: PPC: Book3S HV: Framework and hcall stubs for nested virtualizationThis starts the process of adding the code to support nested HV-stylevirtualization.  It defines a new H_SET_PARTITION_TABLE hypercall whicha nested hypervisor can use to set the base address and size of apartition table in its memory (analogous to the PTCR register).On the host (level 0 hypervisor) side, the H_SET_PARTITION_TABLEhypercall from the guest is handled by code that saves the virtualPTCR value for the guest.This also adds code for creating and destroying nested guests and forreading the partition table entry for a nested guest from L1 memory.Each nested guest has its own shadow LPID value, different in generalfrom the LPID value used by the nested hypervisor to refer to it.  Theshadow LPID value is allocated at nested guest creation time.Nested hypervisor functionality is only available for a radix guest,which therefore means a radix host on a POWER9 (or later) processor.Signed-off-by: Paul Mackerras &lt;paulus@ozlabs.org&gt;Reviewed-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Mon, 08 Oct 2018 05:31:03 +0000</pubDate>
        <dc:creator>Paul Mackerras &lt;paulus@ozlabs.org&gt;</dc:creator>
    </item>
<item>
        <title>009c872a - KVM: PPC: Book3S PR: Move kvmppc_save_tm/kvmppc_restore_tm to separate file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#009c872a</link>
        <description>KVM: PPC: Book3S PR: Move kvmppc_save_tm/kvmppc_restore_tm to separate fileIt is a simple patch just for moving kvmppc_save_tm/kvmppc_restore_tm()functionalities to tm.S. There is no logic change. The reconstruct ofthose APIs will be done in later patches to improve readability.It is for preparation of reusing those APIs on both HV/PR PPC KVM.Some slight change during move the functions includes:- surrounds some HV KVM specific code with CONFIG_KVM_BOOK3S_HV_POSSIBLEfor compilation.- use _GLOBAL() to define kvmppc_save_tm/kvmppc_restore_tm()[paulus@ozlabs.org - rebased on top of 7b0e827c6970 (&quot;KVM: PPC: Book3S HV: Factor fake-suspend handling out of kvmppc_save/restore_tm&quot;, 2018-05-30)]Signed-off-by: Simon Guo &lt;wei.guo.simon@gmail.com&gt;Signed-off-by: Paul Mackerras &lt;paulus@ozlabs.org&gt;

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Wed, 23 May 2018 07:01:47 +0000</pubDate>
        <dc:creator>Simon Guo &lt;wei.guo.simon@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4bb3c7a0 - KVM: PPC: Book3S HV: Work around transactional memory bugs in POWER9</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#4bb3c7a0</link>
        <description>KVM: PPC: Book3S HV: Work around transactional memory bugs in POWER9POWER9 has hardware bugs relating to transactional memory and threadreconfiguration (changes to hardware SMT mode).  Specifically, the coredoes not have enough storage to store a complete checkpoint of all thearchitected state for all four threads.  The DD2.2 version of POWER9includes hardware modifications designed to allow hypervisor softwareto implement workarounds for these problems.  This patch implementsthose workarounds in KVM code so that KVM guests see a full, workingtransactional memory implementation.The problems center around the use of TM suspended state, where theCPU has a checkpointed state but execution is not transactional.  Theworkaround is to implement a &quot;fake suspend&quot; state, which looks to theguest like suspended state but the CPU does not store a checkpoint.In this state, any instruction that would cause a transition totransactional state (rfid, rfebb, mtmsrd, tresume) or would use thecheckpointed state (treclaim) causes a &quot;soft patch&quot; interrupt (vector0x1500) to the hypervisor so that it can be emulated.  The trechkptinstruction also causes a soft patch interrupt.On POWER9 DD2.2, we avoid returning to the guest in any state whichwould require a checkpoint to be present.  The trechkpt in the guestentry path which would normally create that checkpoint is replaced byeither a transition to fake suspend state, if the guest is in suspendstate, or a rollback to the pre-transactional state if the guest is intransactional state.  Fake suspend state is indicated by a flag in thePACA plus a new bit in the PSSCR.  The new PSSCR bit is write-only andreads back as 0.On exit from the guest, if the guest is in fake suspend state, we stilldo the treclaim instruction as we would in real suspend state, in orderto get into non-transactional state, but we do not save the resultingregister state since there was no checkpoint.Emulation of the instructions that cause a softpatch interrupt ishandled in two paths.  If the guest is in real suspend mode, we callkvmhv_p9_tm_emulation_early() to handle the cases where the guest istransitioning to transactional state.  This is called before we do thetreclaim in the guest exit path; because we haven&apos;t done treclaim, wecan get back to the guest with the transaction still active.  If theinstruction is a case that kvmhv_p9_tm_emulation_early() doesn&apos;thandle, or if the guest is in fake suspend state, then we proceed todo the complete guest exit path and subsequently callkvmhv_p9_tm_emulation() in host context with the MMU on.  This handlesall the cases including the cases that generate program interrupts(illegal instruction or TM Bad Thing) and facility unavailableinterrupts.The emulation is reasonably straightforward and is mostly concernedwith checking for exception conditions and updating the state ofregisters such as MSR and CR0.  The treclaim emulation takes care toensure that the TEXASR register gets updated as if it were the guesttreclaim instruction that had done failure recording, not the treclaimdone in hypervisor state in the guest exit path.With this, the KVM_CAP_PPC_HTM capability returns true (1) even iftransactional memory is not available to host userspace.Signed-off-by: Paul Mackerras &lt;paulus@ozlabs.org&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Wed, 21 Mar 2018 10:32:01 +0000</pubDate>
        <dc:creator>Paul Mackerras &lt;paulus@ozlabs.org&gt;</dc:creator>
    </item>
<item>
        <title>b2441318 - License cleanup: add SPDX GPL-2.0 license identifier to files with no license</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#b2441318</link>
        <description>License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseMany source files in the tree are missing licensing information, whichmakes it harder for compliance tools to determine the correct license.By default all files without license information are under the defaultlicense of the kernel, which is GPL version 2.Update the files which contain no license information with the &apos;GPL-2.0&apos;SPDX license identifier.  The SPDX identifier is a legally bindingshorthand, which can be used instead of the full boiler plate text.This patch is based on work done by Thomas Gleixner and Kate Stewart andPhilippe Ombredanne.How this work was done:Patches were generated and checked against linux-4.14-rc6 for a subset ofthe use cases: - file had no licensing information it it. - file was a */uapi/* one with no licensing information in it, - file was a */uapi/* one with existing licensing information,Further patches will be generated in subsequent months to fix up caseswhere non-standard license headers were used, and references to licensehad to be inferred by heuristics based on keywords.The analysis to determine which SPDX License Identifier to be applied toa file was done in a spreadsheet of side by side results from of theoutput of two independent scanners (ScanCode &amp; Windriver) producing SPDXtag:value files created by Philippe Ombredanne.  Philippe prepared thebase worksheet, and did an initial spot review of a few 1000 files.The 4.13 kernel was the starting point of the analysis with 60,537 filesassessed.  Kate Stewart did a file by file comparison of the scannerresults in the spreadsheet to determine which SPDX license identifier(s)to be applied to the file. She confirmed any determination that was notimmediately clear with lawyers working with the Linux Foundation.Criteria used to select files for SPDX license identifier tagging was: - Files considered eligible had to be source code files. - Make and config files were included as candidates if they contained &gt;5   lines of source - File already had some variant of a license header in it (even if &lt;5   lines).All documentation files were explicitly excluded.The following heuristics were used to determine which SPDX licenseidentifiers to apply. - when both scanners couldn&apos;t find any license traces, file was   considered to have no license information in it, and the top level   COPYING file license applied.   For non */uapi/* files that summary was:   SPDX license identifier                            # files   ---------------------------------------------------|-------   GPL-2.0                                              11139   and resulted in the first patch in this series.   If that file was a */uapi/* path one, it was &quot;GPL-2.0 WITH   Linux-syscall-note&quot; otherwise it was &quot;GPL-2.0&quot;.  Results of that was:   SPDX license identifier                            # files   ---------------------------------------------------|-------   GPL-2.0 WITH Linux-syscall-note                        930   and resulted in the second patch in this series. - if a file had some form of licensing information in it, and was one   of the */uapi/* ones, it was denoted with the Linux-syscall-note if   any GPL family license was found in the file or had no licensing in   it (per prior point).  Results summary:   SPDX license identifier                            # files   ---------------------------------------------------|------   GPL-2.0 WITH Linux-syscall-note                       270   GPL-2.0+ WITH Linux-syscall-note                      169   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause)    21   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)    17   LGPL-2.1+ WITH Linux-syscall-note                      15   GPL-1.0+ WITH Linux-syscall-note                       14   ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause)    5   LGPL-2.0+ WITH Linux-syscall-note                       4   LGPL-2.1 WITH Linux-syscall-note                        3   ((GPL-2.0 WITH Linux-syscall-note) OR MIT)              3   ((GPL-2.0 WITH Linux-syscall-note) AND MIT)             1   and that resulted in the third patch in this series. - when the two scanners agreed on the detected license(s), that became   the concluded license(s). - when there was disagreement between the two scanners (one detected a   license but the other didn&apos;t, or they both detected different   licenses) a manual inspection of the file occurred. - In most cases a manual inspection of the information in the file   resulted in a clear resolution of the license that should apply (and   which scanner probably needed to revisit its heuristics). - When it was not immediately clear, the license identifier was   confirmed with lawyers working with the Linux Foundation. - If there was any question as to the appropriate license identifier,   the file was flagged for further research and to be revisited later   in time.In total, over 70 hours of logged manual review was done on thespreadsheet to determine the SPDX license identifiers to apply to thesource files by Kate, Philippe, Thomas and, in some cases, confirmationby lawyers working with the Linux Foundation.Kate also obtained a third independent scan of the 4.13 code base fromFOSSology, and compared selected files where the other two scannersdisagreed against that SPDX file, to see if there was new insights.  TheWindriver scanner is based on an older version of FOSSology in part, sothey are related.Thomas did random spot checks in about 500 files from the spreadsheetsfor the uapi headers and agreed with SPDX license identifier in thefiles he inspected. For the non-uapi files Thomas did random spot checksin about 15000 files.In initial set of patches against 4.14-rc6, 3 files were found to havecopy/paste license identifier errors, and have been fixed to reflect thecorrect identifier.Additionally Philippe spent 10 hours this week doing a detailed manualinspection and review of the 12,461 patched files from the initial patchversion early this week with: - a full scancode scan run, collecting the matched texts, detected   license ids and scores - reviewing anything where there was a license detected (about 500+   files) to ensure that the applied SPDX license was correct - reviewing anything where there was no detection but the patch license   was not GPL-2.0 WITH Linux-syscall-note to ensure that the applied   SPDX license was correctThis produced a worksheet with 20 files needing minor correction.  Thisworksheet was then exported into 3 different .csv files for thedifferent types of files to be modified.These .csv files were then reviewed by Greg.  Thomas wrote a script toparse the csv files and add the proper SPDX tag to the file, in theformat that the file expected.  This script was further refined by Gregbased on the output to detect more types of files automatically and todistinguish between header and source .c files (which need differentcomment types.)  Finally Greg ran the script using the .csv files togenerate the patches.Reviewed-by: Kate Stewart &lt;kstewart@linuxfoundation.org&gt;Reviewed-by: Philippe Ombredanne &lt;pombredanne@nexb.com&gt;Reviewed-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Wed, 01 Nov 2017 14:07:57 +0000</pubDate>
        <dc:creator>Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;</dc:creator>
    </item>
<item>
        <title>76d837a4 - KVM: PPC: Book3S PR: Don&apos;t include SPAPR TCE code on non-pseries platforms</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/kvm/Makefile#76d837a4</link>
        <description>KVM: PPC: Book3S PR: Don&apos;t include SPAPR TCE code on non-pseries platformsCommit e91aa8e6ecd5 (&quot;KVM: PPC: Enable IOMMU_API for KVM_BOOK3S_64permanently&quot;, 2017-03-22) enabled the SPAPR TCE code for all 64-bitBook 3S kernel configurations in order to simplify the code andreduce #ifdefs.  However, 64-bit Book 3S PPC platforms other thanpseries and powernv don&apos;t implement the necessary IOMMU callbacks,leading to build failures like the following (for a pasemi config):scripts/kconfig/conf  --silentoldconfig Kconfigwarning: (KVM_BOOK3S_64) selects SPAPR_TCE_IOMMU which has unmet direct dependencies (IOMMU_SUPPORT &amp;&amp; (PPC_POWERNV || PPC_PSERIES))...  CC [M]  arch/powerpc/kvm/book3s_64_vio.o/home/paulus/kernel/kvm/arch/powerpc/kvm/book3s_64_vio.c: In function &#8216;kvmppc_clear_tce&#8217;:/home/paulus/kernel/kvm/arch/powerpc/kvm/book3s_64_vio.c:363:2: error: implicit declaration of function &#8216;iommu_tce_xchg&#8217; [-Werror=implicit-function-declaration]  iommu_tce_xchg(tbl, entry, &amp;hpa, &amp;dir);  ^To fix this, we make the inclusion of the SPAPR TCE support, and thecode that uses it in book3s_vio.c and book3s_vio_hv.c, depend onthe inclusion of support for the pseries and/or powernv platforms.This means that when running a &apos;pseries&apos; guest on those platforms,the guest won&apos;t have in-kernel acceleration of the PAPR TCE hypercalls,but at least now they compile.Reviewed-by: Alexey Kardashevskiy &lt;aik@ozlabs.ru&gt;Signed-off-by: Paul Mackerras &lt;paulus@ozlabs.org&gt;

            List of files:
            /linux-6.15/arch/powerpc/kvm/Makefile</description>
        <pubDate>Thu, 11 May 2017 04:31:59 +0000</pubDate>
        <dc:creator>Paul Mackerras &lt;paulus@ozlabs.org&gt;</dc:creator>
    </item>
</channel>
</rss>
