<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/target/ppc/mmu-hash64.h, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/target/ppc/mmu-hash64.h?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/target/ppc/mmu-hash64.h?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2021-11-29T20:00:08+00:00</updated>
<entry>
<title>target/ppc: fix Hash64 MMU update of PTE bit R</title>
<updated>2021-11-29T20:00:08+00:00</updated>
<author>
<name>Leandro Lupori</name>
</author>
<published>2021-11-29T18:57:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=7bf00dfb51566070960e0b7977e41abba96c130e'/>
<id>urn:sha1:7bf00dfb51566070960e0b7977e41abba96c130e</id>
<content type='text'>
When updating the R bit of a PTE, the Hash64 MMU was using a wrong byte
offset, causing the first byte of the adjacent PTE to be corrupted.
This caused a panic when booting FreeBSD, using the Hash MMU.

Fixes: a2dd4e83e76b ("ppc/hash64: Rework R and C bit updates")
Signed-off-by: Leandro Lupori &lt;leandro.lupori@eldorado.org.br&gt;
Signed-off-by: Cédric Le Goater &lt;clg@kaod.org&gt;
</content>
</entry>
<entry>
<title>target/ppc: changed ppc_hash64_xlate to use mmu_idx</title>
<updated>2021-07-09T00:38:19+00:00</updated>
<author>
<name>Bruno Larsen (billionai)</name>
</author>
<published>2021-06-28T13:36:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=03695a9870662ddaeef2e4f2129df31beb6e73bd'/>
<id>urn:sha1:03695a9870662ddaeef2e4f2129df31beb6e73bd</id>
<content type='text'>
Changed hash64 address translation to use the supplied mmu_idx instead
of using the one stored in the msr, for parity purposes (other book3s
MMUs already use it).

Signed-off-by: Bruno Larsen (billionai) &lt;bruno.larsen@eldorado.org.br&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20210628133610.1143-4-bruno.larsen@eldorado.org.br&gt;
Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
</entry>
<entry>
<title>target/ppc: Introduce ppc_xlate</title>
<updated>2021-07-09T00:38:19+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2021-06-21T12:51:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=51806b545834e0902dd2d17d1f66c7a2d83422f3'/>
<id>urn:sha1:51806b545834e0902dd2d17d1f66c7a2d83422f3</id>
<content type='text'>
Create one common dispatch for all of the ppc_*_xlate functions.
Use ppc64_v3_radix to directly dispatch between ppc_radix64_xlate
and ppc_hash64_xlate.

Remove the separate *_handle_mmu_fault and *_get_phys_page_debug
functions, using common code for ppc_cpu_tlb_fill and
ppc_cpu_get_phys_page_debug.

Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20210621125115.67717-9-bruno.larsen@eldorado.org.br&gt;
Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
</entry>
<entry>
<title>target/ppc: Use MMUAccessType with *_handle_mmu_fault</title>
<updated>2021-07-09T00:38:18+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2021-06-21T12:51:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=1b4d1cb31a886418635e288f89b2da24fd091c55'/>
<id>urn:sha1:1b4d1cb31a886418635e288f89b2da24fd091c55</id>
<content type='text'>
These changes were waiting until we didn't need to match
the function type of PowerPCCPUClass.handle_mmu_fault.

Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20210621125115.67717-3-bruno.larsen@eldorado.org.br&gt;
Reviewed-by: Greg Kurz &lt;groug@kaod.org&gt;
Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
</entry>
<entry>
<title>target/ppc: moved ppc_store_lpcr to misc_helper.c</title>
<updated>2021-05-19T00:30:28+00:00</updated>
<author>
<name>Lucas Mateus Castro (alqotel)</name>
</author>
<published>2021-05-06T16:39:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=45998ffcb4ccd2632ae2731f9572d5272ec794f0'/>
<id>urn:sha1:45998ffcb4ccd2632ae2731f9572d5272ec794f0</id>
<content type='text'>
Moved the function ppc_store from mmu-hash64.c to misc_helper.c and the
prototype from mmu-hash64.h to cpu.h as it is a more appropriate place,
but it will have to have its implementation moved to a new file as
misc_helper.c should not be compiled in a !TCG environment.

Signed-off-by: Lucas Mateus Castro (alqotel) &lt;lucas.araujo@eldorado.org.br&gt;
Message-Id: &lt;20210506163941.106984-4-lucas.araujo@eldorado.org.br&gt;
Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
</entry>
<entry>
<title>target/ppc: moved function out of mmu-hash64</title>
<updated>2021-05-19T00:30:28+00:00</updated>
<author>
<name>Lucas Mateus Castro (alqotel)</name>
</author>
<published>2021-05-06T16:39:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=fd1eb085da662e80909dfb27c69276a7336f118e'/>
<id>urn:sha1:fd1eb085da662e80909dfb27c69276a7336f118e</id>
<content type='text'>
The function ppc_hash64_filter_pagesizes has been moved from a function
with prototype in mmu-hash64.h and implemented in mmu-hash64.c to
a static function in hw/ppc/spapr_caps.c as it's only used in that file.

Signed-off-by: Lucas Mateus Castro (alqotel) &lt;lucas.araujo@eldorado.org.br&gt;
Message-Id: &lt;20210506163941.106984-3-lucas.araujo@eldorado.org.br&gt;
Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
</entry>
<entry>
<title>ppc/hash64: Rework R and C bit updates</title>
<updated>2019-04-26T01:37:57+00:00</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2019-04-11T08:00:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a2dd4e83e76ba9c0d432145059dd9e2b2a096e2b'/>
<id>urn:sha1:a2dd4e83e76ba9c0d432145059dd9e2b2a096e2b</id>
<content type='text'>
With MT-TCG, we are now running translation in a racy way, thus
we need to mimic hardware when it comes to updating the R and
C bits, by doing byte stores.

The current "store_hpte" abstraction is ill suited for this, we
replace it with two separate callbacks for setting R and C.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Message-Id: &lt;20190411080004.8690-4-clg@kaod.org&gt;
Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
</entry>
<entry>
<title>target: Clean up how the dump_mmu() print</title>
<updated>2019-04-18T20:18:59+00:00</updated>
<author>
<name>Markus Armbruster</name>
</author>
<published>2019-04-17T19:17:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=fad866daa85c65267fa44de40f10cc1ee904ae1a'/>
<id>urn:sha1:fad866daa85c65267fa44de40f10cc1ee904ae1a</id>
<content type='text'>
The various dump_mmu() take an fprintf()-like callback and a FILE * to
pass to it, and so do their helper functions.  Passing around callback
and argument is rather tiresome.

Most dump_mmu() are called only by the target's hmp_info_tlb().  These
all pass monitor_printf() cast to fprintf_function and the current
monitor cast to FILE *.

SPARC's dump_mmu() gets also called from target/sparc/ldst_helper.c a
few times #ifdef DEBUG_MMU.  These calls pass fprintf() and stdout.

The type-punning is technically undefined behaviour, but works in
practice.  Clean up: drop the callback, and call qemu_printf()
instead.

Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Reviewed-by: Dr. David Alan Gilbert &lt;dgilbert@redhat.com&gt;
Message-Id: &lt;20190417191805.28198-11-armbru@redhat.com&gt;
</content>
</entry>
<entry>
<title>target/ppc: Support for POWER9 native hash</title>
<updated>2019-02-25T22:21:25+00:00</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2019-02-15T17:00:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=3367c62f522bda6254b5760eab1ee94523a24ab2'/>
<id>urn:sha1:3367c62f522bda6254b5760eab1ee94523a24ab2</id>
<content type='text'>
(Might need more patch splitting)

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Message-Id: &lt;20190215170029.15641-12-clg@kaod.org&gt;
[dwg: Hack to fix compile with some earlier include tweaks of mine]
Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
</entry>
<entry>
<title>target/ppc: Add basic support for "new format" HPTE as found on POWER9</title>
<updated>2019-02-25T22:21:25+00:00</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2019-02-15T17:00:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=34525595fb379796241b0f3a9946bb21c4da1178'/>
<id>urn:sha1:34525595fb379796241b0f3a9946bb21c4da1178</id>
<content type='text'>
POWER9 (arch v3) slightly changes the HPTE format. The B bits move
from the first to the second half of the HPTE, and the AVPN/ARPN
are slightly shorter.

However, under SPAPR, the hypercalls still take the old format
(and probably will for the foreseable future).

The simplest way to support this is thus to convert the HPTEs from
new to old format when reading them if the MMU model is v3 and there
is no virtual hypervisor, leaving the rest of the code unchanged.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Message-Id: &lt;20190215170029.15641-8-clg@kaod.org&gt;
[dwg: Moved function to .c since there was no real need for it in the .h]
Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
</entry>
</feed>
