<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/arch/arm64/include/asm/insn.h, branch dev</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2015-06-03T14:43:24+00:00</updated>
<entry>
<title>arm64: insn: Add aarch64_{get,set}_branch_offset</title>
<updated>2015-06-03T14:43:24+00:00</updated>
<author>
<name>Marc Zyngier</name>
<email>marc.zyngier@arm.com</email>
</author>
<published>2015-06-01T09:47:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=10b48f7ef2a765452a583dbc256ed7da7fe7f1fc'/>
<id>urn:sha1:10b48f7ef2a765452a583dbc256ed7da7fe7f1fc</id>
<content type='text'>
In order to deal with branches located in alternate sequences,
but pointing to the main kernel text, it is required to extract
the relative displacement encoded in the instruction, and to be
able to update said instruction with a new offset (once it is
known).

For this, we introduce three new helpers:
- aarch64_insn_is_branch_imm is a predicate indicating if the
  instruction is an immediate branch
- aarch64_get_branch_offset returns a signed value representing
  the byte offset encoded in a branch instruction
- aarch64_set_branch_offset takes an instruction and an offset,
  and returns the corresponding updated instruction.

Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: insn: Add aarch64_insn_decode_immediate</title>
<updated>2015-03-30T10:03:42+00:00</updated>
<author>
<name>Marc Zyngier</name>
<email>marc.zyngier@arm.com</email>
</author>
<published>2015-03-27T13:09:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=0978fb25f86b7595821cee6955679250d47c6438'/>
<id>urn:sha1:0978fb25f86b7595821cee6955679250d47c6438</id>
<content type='text'>
Patching an instruction sometimes requires extracting the immediate
field from this instruction. To facilitate this, and avoid
potential duplication of code, add aarch64_insn_decode_immediate
as the reciprocal to aarch64_insn_encode_immediate.

Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: insn: fix compare-and-branch encodings</title>
<updated>2015-02-23T09:13:45+00:00</updated>
<author>
<name>Robin Murphy</name>
<email>Robin.Murphy@arm.com</email>
</author>
<published>2015-02-18T15:40:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=115386f89b5415fcdf641faad0d459cd5c07d225'/>
<id>urn:sha1:115386f89b5415fcdf641faad0d459cd5c07d225</id>
<content type='text'>
Fix cbz/cbnz having the mask offset by a bit, and add encodings for
tbz/tbnz so that all branch forms are represented.

Signed-off-by: Robin Murphy &lt;robin.murphy@arm.com&gt;
Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Acked-by: Zi Shen Lim &lt;zlim.lnx@gmail.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: Emulate CP15 Barrier instructions</title>
<updated>2014-11-20T16:34:48+00:00</updated>
<author>
<name>Punit Agrawal</name>
<email>punit.agrawal@arm.com</email>
</author>
<published>2014-11-18T11:41:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=c852f320584600a372646055d8229e063949eee7'/>
<id>urn:sha1:c852f320584600a372646055d8229e063949eee7</id>
<content type='text'>
The CP15 barrier instructions (CP15ISB, CP15DSB and CP15DMB) are
deprecated in the ARMv7 architecture, superseded by ISB, DSB and DMB
instructions respectively. Some implementations may provide the
ability to disable the CP15 barriers by disabling the CP15BEN bit in
SCTLR_EL1. If not enabled, the encodings for these instructions become
undefined.

To support legacy software using these instructions, this patch
register hooks to -
* emulate CP15 barriers and warn the user about their use
* toggle CP15BEN in SCTLR_EL1

Signed-off-by: Punit Agrawal &lt;punit.agrawal@arm.com&gt;
Reviewed-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: Port SWP/SWPB emulation support from arm</title>
<updated>2014-11-20T16:34:31+00:00</updated>
<author>
<name>Punit Agrawal</name>
<email>punit.agrawal@arm.com</email>
</author>
<published>2014-11-18T11:41:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=bd35a4adc4131c530ec7d90242555eac7b3dbe3f'/>
<id>urn:sha1:bd35a4adc4131c530ec7d90242555eac7b3dbe3f</id>
<content type='text'>
The SWP instruction was deprecated in the ARMv6 architecture. The
ARMv7 multiprocessing extensions mandate that SWP/SWPB instructions
are treated as undefined from reset, with the ability to enable them
through the System Control Register SW bit. With ARMv8, the option to
enable these instructions through System Control Register was dropped
as well.

To support legacy applications using these instructions, port the
emulation of the SWP and SWPB instructions from the arm port to arm64.

Reviewed-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Punit Agrawal &lt;punit.agrawal@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: Add support for hooks to handle undefined instructions</title>
<updated>2014-11-20T16:33:43+00:00</updated>
<author>
<name>Punit Agrawal</name>
<email>punit.agrawal@arm.com</email>
</author>
<published>2014-11-18T11:41:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=9b79f52d1a702dd5b160f9d2ee0199c3122809bb'/>
<id>urn:sha1:9b79f52d1a702dd5b160f9d2ee0199c3122809bb</id>
<content type='text'>
Add support to register hooks for undefined instructions. The handlers
will be called when the undefined instruction and the processor state
(as contained in pstate) match criteria used at registration.

Signed-off-by: Punit Agrawal &lt;punit.agrawal@arm.com&gt;
Reviewed-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: introduce aarch64_insn_gen_logical_shifted_reg()</title>
<updated>2014-09-08T13:39:21+00:00</updated>
<author>
<name>Zi Shen Lim</name>
<email>zlim.lnx@gmail.com</email>
</author>
<published>2014-08-27T04:15:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=5e6e15a2c4b529fd3cbf367b734842c4d8f6b0fa'/>
<id>urn:sha1:5e6e15a2c4b529fd3cbf367b734842c4d8f6b0fa</id>
<content type='text'>
Introduce function to generate logical (shifted register)
instructions.

Signed-off-by: Zi Shen Lim &lt;zlim.lnx@gmail.com&gt;
Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: introduce aarch64_insn_gen_data3()</title>
<updated>2014-09-08T13:39:20+00:00</updated>
<author>
<name>Zi Shen Lim</name>
<email>zlim.lnx@gmail.com</email>
</author>
<published>2014-08-27T04:15:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=27f95ba59b34509dc8afa2f89ad51c044df9d7c7'/>
<id>urn:sha1:27f95ba59b34509dc8afa2f89ad51c044df9d7c7</id>
<content type='text'>
Introduce function to generate data-processing (3 source) instructions.

Signed-off-by: Zi Shen Lim &lt;zlim.lnx@gmail.com&gt;
Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: introduce aarch64_insn_gen_data2()</title>
<updated>2014-09-08T13:39:20+00:00</updated>
<author>
<name>Zi Shen Lim</name>
<email>zlim.lnx@gmail.com</email>
</author>
<published>2014-08-27T04:15:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=6481063989283f7cbeb0b6c38506ba4dd319f93a'/>
<id>urn:sha1:6481063989283f7cbeb0b6c38506ba4dd319f93a</id>
<content type='text'>
Introduce function to generate data-processing (2 source) instructions.

Signed-off-by: Zi Shen Lim &lt;zlim.lnx@gmail.com&gt;
Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: introduce aarch64_insn_gen_data1()</title>
<updated>2014-09-08T13:39:20+00:00</updated>
<author>
<name>Zi Shen Lim</name>
<email>zlim.lnx@gmail.com</email>
</author>
<published>2014-08-27T04:15:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=546dd36b44613c770655531ee3ada6a9e9907d71'/>
<id>urn:sha1:546dd36b44613c770655531ee3ada6a9e9907d71</id>
<content type='text'>
Introduce function to generate data-processing (1 source) instructions.

Signed-off-by: Zi Shen Lim &lt;zlim.lnx@gmail.com&gt;
Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
</feed>
