<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/disas/nanomips.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/disas/nanomips.h?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/disas/nanomips.h?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-10-31T10:32:07+00:00</updated>
<entry>
<title>disas/nanomips: Delete nanomips.h</title>
<updated>2022-10-31T10:32:07+00:00</updated>
<author>
<name>Milica Lazarevic</name>
</author>
<published>2022-09-12T12:26:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=1a1cc52a88eed130cc99f4912844cddb14a0c8af'/>
<id>urn:sha1:1a1cc52a88eed130cc99f4912844cddb14a0c8af</id>
<content type='text'>
Header file nanomips.h has been deleted for the nanomips disassembler to
stay consistent with the rest of the disassemblers which don't include
extra header files.

Signed-off-by: Milica Lazarevic &lt;milica.lazarevic@syrmia.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220912122635.74032-12-milica.lazarevic@syrmia.com&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
</content>
</entry>
<entry>
<title>disas/nanomips: Move typedefs etc to nanomips.cpp</title>
<updated>2022-10-31T10:32:07+00:00</updated>
<author>
<name>Milica Lazarevic</name>
</author>
<published>2022-09-12T12:26:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=f1cb3bdbc77aa719a3ea7434e3e89dd64d95508f'/>
<id>urn:sha1:f1cb3bdbc77aa719a3ea7434e3e89dd64d95508f</id>
<content type='text'>
The following is moved from the nanomips.h to nanomips.cpp file:
- #include line
- typedefs
- enums
- definition of the Pool struct.
Header file nanomips.h will be deleted to be consistent with the rest of
the disas/ code.

Signed-off-by: Milica Lazarevic &lt;milica.lazarevic@syrmia.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220912122635.74032-11-milica.lazarevic@syrmia.com&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
</content>
</entry>
<entry>
<title>disas/nanomips: Remove NMD class</title>
<updated>2022-10-31T10:32:07+00:00</updated>
<author>
<name>Milica Lazarevic</name>
</author>
<published>2022-09-12T12:26:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=beebf65bec528bcd73f704b2c93ac9c9494431c1'/>
<id>urn:sha1:beebf65bec528bcd73f704b2c93ac9c9494431c1</id>
<content type='text'>
NMD class has been deleted. The following methods are now declared as
static functions:
- public NMD::Disassemble method
- private NMD::Disassemble method
- private NMD::extract_op_code_value helper method

Also, the implementation of the print_insn_nanomips function and
nanomips_dis function is moved to the end of the nanomips.cpp file,
right after the implementation of the Disassemble function.

Signed-off-by: Milica Lazarevic &lt;milica.lazarevic@syrmia.com&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220912122635.74032-10-milica.lazarevic@syrmia.com&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
</content>
</entry>
<entry>
<title>disas/nanomips: Remove Pool tables from the class</title>
<updated>2022-10-31T10:32:07+00:00</updated>
<author>
<name>Milica Lazarevic</name>
</author>
<published>2022-09-12T12:26:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a146549034a67234d7b8c5aa66cc2552989c630a'/>
<id>urn:sha1:a146549034a67234d7b8c5aa66cc2552989c630a</id>
<content type='text'>
Pool tables are no longer declared as static fields of the NMD
class but as global static const variables. Pool struct is defined
outside of the class.

The NMD::Disassemble method is using the MAJOR Pool table variable, so
its implementation is moved to the end of the nanomips.cpp file,
right after the initialization of the MAJOR Pool table.

Signed-off-by: Milica Lazarevic &lt;milica.lazarevic@syrmia.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220912122635.74032-9-milica.lazarevic@syrmia.com&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
</content>
</entry>
<entry>
<title>disas/nanomips: Remove disasm methods from class</title>
<updated>2022-10-31T10:32:07+00:00</updated>
<author>
<name>Milica Lazarevic</name>
</author>
<published>2022-09-12T12:26:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=8d416f6b455d0c73667a2ffa9a0782aa07627d81'/>
<id>urn:sha1:8d416f6b455d0c73667a2ffa9a0782aa07627d81</id>
<content type='text'>
NMD class methods with the disassembly_function type like
NMD::ABS_D, NMD::ABS_S, etc. are removed from the class. They're now
declared global static functions. Therefore, typedef of the function
pointer, disassembly_function is defined outside of the class.

Now that disassembly_function type functions are not part of the NMD
class we can't access them using the this pointer. Thus, the use of
the this pointer has been deleted.

Signed-off-by: Milica Lazarevic &lt;milica.lazarevic@syrmia.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220912122635.74032-8-milica.lazarevic@syrmia.com&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
</content>
</entry>
<entry>
<title>disas/nanomips: Remove __cond methods from class</title>
<updated>2022-10-31T10:32:07+00:00</updated>
<author>
<name>Milica Lazarevic</name>
</author>
<published>2022-09-12T12:26:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=655fc22f1bc7a16d9da6bd44c43e763bc27d0b8a'/>
<id>urn:sha1:655fc22f1bc7a16d9da6bd44c43e763bc27d0b8a</id>
<content type='text'>
NMD class methods with the conditional_function type like
NMD::ADDIU_32__cond, NMD::ADDIU_RS5__cond, etc. are removed from the NMD
class. They're now declared global static functions. Therefore, typedef
of the function pointer, conditional_function is defined outside of the
class.

Now that conditional_function type functions are not part of the NMD
class we can't access them using the this pointer. Thus, the use of
the this pointer has been deleted.

Signed-off-by: Milica Lazarevic &lt;milica.lazarevic@syrmia.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220912122635.74032-7-milica.lazarevic@syrmia.com&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
</content>
</entry>
<entry>
<title>disas/nanomips: Remove helper methods from class</title>
<updated>2022-10-31T10:32:07+00:00</updated>
<author>
<name>Milica Lazarevic</name>
</author>
<published>2022-09-12T12:26:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=2dc0c175df28cd9c9a5eeb12880219cb0f426951'/>
<id>urn:sha1:2dc0c175df28cd9c9a5eeb12880219cb0f426951</id>
<content type='text'>
Helper methods from NMD class like NMD::renumber_registers,
NMD::decode_gpr_gpr4... etc. are removed from the class. They're now
declared global static functions.

Following helper methods have been deleted because they're not used by
the nanomips disassembler:
- NMD::encode_msbd_from_pos_and_size,
- NMD::encode_s_from_s_hi,
- NMD::neg_copy

Global functions used by those methods:
- nanomips_dis
- sign_extend
- extract_bits
have also been defined as static global functions.

Signed-off-by: Milica Lazarevic &lt;milica.lazarevic@syrmia.com&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220912122635.74032-6-milica.lazarevic@syrmia.com&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
</content>
</entry>
<entry>
<title>disas/nanomips: Delete NMD class second field</title>
<updated>2022-10-31T10:32:07+00:00</updated>
<author>
<name>Milica Lazarevic</name>
</author>
<published>2022-09-12T12:26:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=9972c8fa7c5126311417b1d3cf355d28a6955d3d'/>
<id>urn:sha1:9972c8fa7c5126311417b1d3cf355d28a6955d3d</id>
<content type='text'>
We're deleting the m_pc field of the NMD class. It's now part of the
Dis_info struct that this patch introduces. Currently, the Dis_info
struct has just one field, m_pc, which we need for address calculation
in the ADDRESS function.

We're filling Dis_info at the entrance of the nanoMIPS disassembler.
I.e. print_insn_nanomips. Next, we're adding that information as an
argument wherever we need to.

Since NMD class now has no more fields, the NMD constructor is
also deleted.

Signed-off-by: Milica Lazarevic &lt;milica.lazarevic@syrmia.com&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220912122635.74032-5-milica.lazarevic@syrmia.com&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
</content>
</entry>
<entry>
<title>disas/nanomips: Delete NMD class field</title>
<updated>2022-10-31T10:32:07+00:00</updated>
<author>
<name>Milica Lazarevic</name>
</author>
<published>2022-09-12T12:26:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=0c2a3b43a1d818b31e2fce81db2085ffeb9a4400'/>
<id>urn:sha1:0c2a3b43a1d818b31e2fce81db2085ffeb9a4400</id>
<content type='text'>
The m_requested_instruction_categories field always has the same value,
ALL_ATTRIBUTES. The only use of that field is within the if statement.
When replaced with a specific value, the if statement is always false,
so it has been removed.

Now, when the only use of the m_requested_instruction_categories field
is removed, we can delete the field declaration and initialization in
the NMD class. Also, we're changing the way of the construction of the
NMD object in the nanomips_dis function.

Signed-off-by: Milica Lazarevic &lt;milica.lazarevic@syrmia.com&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220912122635.74032-4-milica.lazarevic@syrmia.com&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
</content>
</entry>
<entry>
<title>disas/nanomips: Extract enums out of the NMD class</title>
<updated>2022-10-31T10:32:07+00:00</updated>
<author>
<name>Milica Lazarevic</name>
</author>
<published>2022-09-12T12:26:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=bfffba15b24582a78f956d17f155c2f18aaf001c'/>
<id>urn:sha1:bfffba15b24582a78f956d17f155c2f18aaf001c</id>
<content type='text'>
Definitions of enums TABLE_ENTRY_TYPE and TABLE_ATTRIBUTE_TYPE are moved
out of the NMD class. The main goal is to remove NMD class completely.

Signed-off-by: Milica Lazarevic &lt;milica.lazarevic@syrmia.com&gt;
Reviewed-by: Thomas Huth &lt;thuth@redhat.com&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220912122635.74032-3-milica.lazarevic@syrmia.com&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
</content>
</entry>
</feed>
