<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm/kvm/emulate.c, branch linux-4.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-02-29T18:34:12Z</updated>
<entry>
<title>ARM: KVM: Move GP registers into the CPU context structure</title>
<updated>2016-02-29T18:34:12Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2016-01-03T11:26:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c2a8dab507ca6f8990c12372052efc830f51dd3f'/>
<id>urn:sha1:c2a8dab507ca6f8990c12372052efc830f51dd3f</id>
<content type='text'>
Continuing our rework of the CPU context, we now move the GP
registers into the CPU context structure.

Reviewed-by: Christoffer Dall &lt;christoffer.dall@linaro.org&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
</content>
</entry>
<entry>
<title>ARM: KVM: Move CP15 array into the CPU context structure</title>
<updated>2016-02-29T18:34:12Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2016-01-03T11:26:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fb32a52a1d4487f3ac5b7ccb659d0beb11ec504f'/>
<id>urn:sha1:fb32a52a1d4487f3ac5b7ccb659d0beb11ec504f</id>
<content type='text'>
Continuing our rework of the CPU context, we now move the CP15
array into the CPU context structure. As this causes quite a bit
of churn, we introduce the vcpu_cp15() macro that abstract the
location of the actual array. This will probably help next time
we have to revisit that code.

Reviewed-by: Christoffer Dall &lt;christoffer.dall@linaro.org&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
</content>
</entry>
<entry>
<title>ARM: KVM: Cleanup exception injection</title>
<updated>2015-12-18T10:14:54Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2015-12-14T17:58:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e078ef81514222ffc10bf1767c15df16ca0b84db'/>
<id>urn:sha1:e078ef81514222ffc10bf1767c15df16ca0b84db</id>
<content type='text'>
David Binderman reported that the exception injection code had a
couple of unused variables lingering around.

Upon examination, it looked like this code could do with an
anticipated spring cleaning, which amounts to deduplicating
the CPSR/SPSR update, and making it look a bit more like
the architecture spec.

The spurious variables are removed in the process.

Reported-by: David Binderman &lt;dcb314@hotmail.com&gt;
Reviewed-by: Christoffer Dall &lt;christoffer.dall@linaro.org&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
</content>
</entry>
<entry>
<title>KVM: ARM: Fix typo in comments of inject_abt()</title>
<updated>2013-10-02T16:29:19Z</updated>
<author>
<name>Anup Patel</name>
</author>
<published>2013-09-11T13:04:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b373e492f3a3469c615c2ae218d2f723900bf981'/>
<id>urn:sha1:b373e492f3a3469c615c2ae218d2f723900bf981</id>
<content type='text'>
Very minor typo in comments of inject_abt() when we update fault status
register for injecting prefetch abort.

Signed-off-by: Anup Patel &lt;anup.patel@linaro.org&gt;
Signed-off-by: Pranavkumar Sawargaonkar &lt;pranavkumar@linaro.org&gt;
Signed-off-by: Christoffer Dall &lt;christoffer.dall@linaro.org&gt;
</content>
</entry>
<entry>
<title>ARM: KVM: move kvm_handle_wfi to handle_exit.c</title>
<updated>2013-03-06T23:48:45Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2012-10-05T12:42:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6190920a35068a621570cca7f07f3c4477615176'/>
<id>urn:sha1:6190920a35068a621570cca7f07f3c4477615176</id>
<content type='text'>
It has little to do in emulate.c these days...

Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
</content>
</entry>
<entry>
<title>ARM: KVM: move kvm_condition_valid to emulate.c</title>
<updated>2013-03-06T23:48:43Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2012-12-08T18:13:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c5997563298bc1b9da5212c15544962d4dbbe27d'/>
<id>urn:sha1:c5997563298bc1b9da5212c15544962d4dbbe27d</id>
<content type='text'>
This is really hardware emulation, and as such it better be with
its little friends.

Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
</content>
</entry>
<entry>
<title>ARM: KVM: convert GP registers from u32 to unsigned long</title>
<updated>2013-03-06T23:48:42Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2012-10-03T10:17:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=db730d8d623a0826f7fb6b74e890d3eb97a1b7a3'/>
<id>urn:sha1:db730d8d623a0826f7fb6b74e890d3eb97a1b7a3</id>
<content type='text'>
On 32bit ARM, unsigned long is guaranteed to be a 32bit quantity.
On 64bit ARM, it is a 64bit quantity.

In order to be able to share code between the two architectures,
convert the registers to be unsigned long, so the core code can
be oblivious of the change.

Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
</content>
</entry>
<entry>
<title>KVM: ARM: Emulation framework and CP15 emulation</title>
<updated>2013-01-23T18:29:13Z</updated>
<author>
<name>Christoffer Dall</name>
</author>
<published>2013-01-20T23:28:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5b3e5e5bf230f56309706dfc05fc0cb173cc83aa'/>
<id>urn:sha1:5b3e5e5bf230f56309706dfc05fc0cb173cc83aa</id>
<content type='text'>
Adds a new important function in the main KVM/ARM code called
handle_exit() which is called from kvm_arch_vcpu_ioctl_run() on returns
from guest execution. This function examines the Hyp-Syndrome-Register
(HSR), which contains information telling KVM what caused the exit from
the guest.

Some of the reasons for an exit are CP15 accesses, which are
not allowed from the guest and this commit handles these exits by
emulating the intended operation in software and skipping the guest
instruction.

Minor notes about the coproc register reset:
1) We reserve a value of 0 as an invalid cp15 offset, to catch bugs in our
   table, at cost of 4 bytes per vcpu.

2) Added comments on the table indicating how we handle each register, for
   simplicity of understanding.

Reviewed-by: Will Deacon &lt;will.deacon@arm.com&gt;
Reviewed-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Signed-off-by: Christoffer Dall &lt;c.dall@virtualopensystems.com&gt;
</content>
</entry>
<entry>
<title>KVM: ARM: Initial skeleton to compile KVM support</title>
<updated>2013-01-23T18:29:10Z</updated>
<author>
<name>Christoffer Dall</name>
</author>
<published>2013-01-20T23:28:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=749cf76c5a363e1383108a914ea09530bfa0bd43'/>
<id>urn:sha1:749cf76c5a363e1383108a914ea09530bfa0bd43</id>
<content type='text'>
Targets KVM support for Cortex A-15 processors.

Contains all the framework components, make files, header files, some
tracing functionality, and basic user space API.

Only supported core is Cortex-A15 for now.

Most functionality is in arch/arm/kvm/* or arch/arm/include/asm/kvm_*.h.

Reviewed-by: Will Deacon &lt;will.deacon@arm.com&gt;
Reviewed-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Christoffer Dall &lt;c.dall@virtualopensystems.com&gt;
</content>
</entry>
</feed>
