[RFC PATCH 0/4] target/ppc: add disable-tcg option

Bruno Larsen (billionai) posted 4 patches 3 years ago
Test checkpatch failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210409151916.97326-1-bruno.larsen@eldorado.org.br
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Greg Kurz <groug@kaod.org>, David Gibson <david@gibson.dropbear.id.au>
target/ppc/arch_dump.c          |   17 +
target/ppc/cpu.c                |  859 +++++++++++++++++++++++
target/ppc/cpu.h                |   15 +
target/ppc/gdbstub.c            |  253 +++++++
target/ppc/kvm.c                |   30 +
target/ppc/kvm_ppc.h            |   11 +
target/ppc/machine.c            |   33 +-
target/ppc/meson.build          |   22 +-
target/ppc/tcg-stub.c           |  139 ++++
target/ppc/translate_init.c.inc | 1148 +------------------------------
10 files changed, 1407 insertions(+), 1120 deletions(-)
create mode 100644 target/ppc/tcg-stub.c
[RFC PATCH 0/4] target/ppc: add disable-tcg option
Posted by Bruno Larsen (billionai) 3 years ago
This patch series aims to add the option to build without TCG for the
powerpc target. This RFC shows mostly the strategies employed when
dealing with compilation problems, and ask for input on the bits
we don't quite understand yet.

The first patch mostly code motion, as referenced in 2021-04/msg0717.
The second patch shows the 2 strategies we've considered, and hope to
get feedback on. The third patch contains the stubs we haven't decided
on how to deal with yet, but needed to exist to compile the project.
The final patch just changes the meson.build rules

Bruno Larsen (billionai) (4):
  target/ppc: Code motion required to build disabling tcg
  target/ppc: added solutions for problems encountered when building
    with disable-tcg
  target/ppc: Add stubs for tcg functions, so it build with disable-tcg
  target/ppc: updated build rules for disable-tcg option

 target/ppc/arch_dump.c          |   17 +
 target/ppc/cpu.c                |  859 +++++++++++++++++++++++
 target/ppc/cpu.h                |   15 +
 target/ppc/gdbstub.c            |  253 +++++++
 target/ppc/kvm.c                |   30 +
 target/ppc/kvm_ppc.h            |   11 +
 target/ppc/machine.c            |   33 +-
 target/ppc/meson.build          |   22 +-
 target/ppc/tcg-stub.c           |  139 ++++
 target/ppc/translate_init.c.inc | 1148 +------------------------------
 10 files changed, 1407 insertions(+), 1120 deletions(-)
 create mode 100644 target/ppc/tcg-stub.c

-- 
2.17.1


Re: [RFC PATCH 0/4] target/ppc: add disable-tcg option
Posted by no-reply@patchew.org 3 years ago
Patchew URL: https://patchew.org/QEMU/20210409151916.97326-1-bruno.larsen@eldorado.org.br/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20210409151916.97326-1-bruno.larsen@eldorado.org.br
Subject: [RFC PATCH 0/4] target/ppc: add disable-tcg option

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]      patchew/161786467973.295167.5612704777283969903.stgit@bahia.lan -> patchew/161786467973.295167.5612704777283969903.stgit@bahia.lan
 - [tag update]      patchew/20210409150527.15053-1-peter.maydell@linaro.org -> patchew/20210409150527.15053-1-peter.maydell@linaro.org
 * [new tag]         patchew/20210409151916.97326-1-bruno.larsen@eldorado.org.br -> patchew/20210409151916.97326-1-bruno.larsen@eldorado.org.br
Switched to a new branch 'test'
0250bc9 target/ppc: updated build rules for disable-tcg option
e36c2a7 target/ppc: Add stubs for tcg functions, so it builds
4e6d44d target/ppc: added solutions for building with disable-tcg
38ccad3 target/ppc: Code motion required to build disabling tcg

=== OUTPUT BEGIN ===
1/4 Checking commit 38ccad308a44 (target/ppc: Code motion required to build disabling tcg)
2/4 Checking commit 4e6d44d2a68a (target/ppc: added solutions for building with disable-tcg)
WARNING: Block comments use a leading /* on a separate line
#43: FILE: target/ppc/arch_dump.c:182:
+    /* This is the first solution implemented. My personal favorite as it

WARNING: Block comments use a trailing */ on a separate line
#44: FILE: target/ppc/arch_dump.c:183:
+     * allows for explicit error handling, however it is much less readable */

ERROR: space required before the open brace '{'
#46: FILE: target/ppc/arch_dump.c:185:
+    if(kvm_enabled()){

ERROR: space required before the open parenthesis '('
#46: FILE: target/ppc/arch_dump.c:185:
+    if(kvm_enabled()){

ERROR: space required after that close brace '}'
#48: FILE: target/ppc/arch_dump.c:187:
+    }else

WARNING: line over 80 characters
#55: FILE: target/ppc/arch_dump.c:194:
+        /* TODO: add proper error handling, even tough this should never be reached */

ERROR: space required before the open brace '{'
#79: FILE: target/ppc/kvm.c:2953:
+int kvmppc_mtvscr(PowerPCCPU *cpu, uint32_t val){

ERROR: space required before the open brace '{'
#87: FILE: target/ppc/kvm.c:2961:
+    if(ret < 0){

ERROR: space required before the open parenthesis '('
#87: FILE: target/ppc/kvm.c:2961:
+    if(ret < 0){

ERROR: space required before the open brace '{'
#93: FILE: target/ppc/kvm.c:2967:
+int kvmppc_mfvscr(PowerPCCPU *cpu){

ERROR: space required before the open brace '{'
#101: FILE: target/ppc/kvm.c:2975:
+    if(ret < 0){

ERROR: space required before the open parenthesis '('
#101: FILE: target/ppc/kvm.c:2975:
+    if(ret < 0){

ERROR: "(foo*)" should be "(foo *)"
#115: FILE: target/ppc/kvm_ppc.h:90:
+int kvmppc_mfvscr(PowerPCCPU*);

WARNING: Block comments use a leading /* on a separate line
#117: FILE: target/ppc/kvm_ppc.h:92:
+/* This is the second (quick and dirty) solution. Not my personal favorite

WARNING: Block comments use a trailing */ on a separate line
#119: FILE: target/ppc/kvm_ppc.h:94:
+ * for error checking. but it requires less change in other files */

ERROR: space required after that ',' (ctx:VxV)
#121: FILE: target/ppc/kvm_ppc.h:96:
+#define helper_mtvscr(env, val) kvmppc_mtvscr(env_archcpu(env),val)
                                                               ^

ERROR: space required before the open brace '{'
#148: FILE: target/ppc/machine.c:101:
+    if(kvm_enabled()){

ERROR: space required before the open parenthesis '('
#148: FILE: target/ppc/machine.c:101:
+    if(kvm_enabled()){

ERROR: space required after that close brace '}'
#150: FILE: target/ppc/machine.c:103:
+    }else

WARNING: line over 80 characters
#156: FILE: target/ppc/machine.c:109:
+        /* TODO: Add correct error handling, even though this should never be reached */

ERROR: space required before the open brace '{'
#167: FILE: target/ppc/machine.c:467:
+    if(kvm_enabled()){

ERROR: space required before the open parenthesis '('
#167: FILE: target/ppc/machine.c:467:
+    if(kvm_enabled()){

ERROR: space required before the open brace '{'
#184: FILE: target/ppc/machine.c:484:
+    if(kvm_enabled()){

ERROR: space required before the open parenthesis '('
#184: FILE: target/ppc/machine.c:484:
+    if(kvm_enabled()){

total: 18 errors, 6 warnings, 147 lines checked

Patch 2/4 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

3/4 Checking commit e36c2a70087a (target/ppc: Add stubs for tcg functions, so it builds)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#23: 
new file mode 100644

ERROR: open brace '{' following function declarations go on the next line
#37: FILE: target/ppc/tcg-stub.c:10:
+void ppc_store_sdr1(CPUPPCState *env, target_ulong value) {

ERROR: open brace '{' following function declarations go on the next line
#42: FILE: target/ppc/tcg-stub.c:15:
+void ppc_store_ptcr(CPUPPCState *env, target_ulong value) {

ERROR: open brace '{' following function declarations go on the next line
#48: FILE: target/ppc/tcg-stub.c:21:
+void ppc_store_msr(CPUPPCState *env, target_ulong value) {

ERROR: space required before the open brace '{'
#53: FILE: target/ppc/tcg-stub.c:26:
+void dump_mmu(CPUPPCState *env){

ERROR: open brace '{' following function declarations go on the next line
#58: FILE: target/ppc/tcg-stub.c:31:
+void store_fpscr(CPUPPCState *env, uint64_t arg, uint32_t mask) {

ERROR: open brace '{' following function declarations go on the next line
#63: FILE: target/ppc/tcg-stub.c:36:
+void ppc_cpu_do_interrupt(CPUState *cpu) {

ERROR: trailing whitespace
#82: FILE: target/ppc/tcg-stub.c:55:
+    return; $

ERROR: open brace '{' following function declarations go on the next line
#85: FILE: target/ppc/tcg-stub.c:58:
+void ppc_store_lpcr(PowerPCCPU *cpu, target_ulong val) {

ERROR: trailing whitespace
#99: FILE: target/ppc/tcg-stub.c:72:
+    return; $

ERROR: trailing whitespace
#105: FILE: target/ppc/tcg-stub.c:78:
+    return; $

ERROR: open brace '{' following function declarations go on the next line
#114: FILE: target/ppc/tcg-stub.c:87:
+void ppc_cpu_do_fwnmi_machine_check(CPUState *cs, target_ulong vector) {

ERROR: space required before the open brace '{'
#119: FILE: target/ppc/tcg-stub.c:92:
+void ppc_cpu_do_system_reset(CPUState *cs){

ERROR: externs should be avoided in .c files
#125: FILE: target/ppc/tcg-stub.c:98:
+bool ppc64_v3_get_pate(PowerPCCPU *cpu, target_ulong lpid,

ERROR: open brace '{' following function declarations go on the next line
#138: FILE: target/ppc/tcg-stub.c:111:
+void create_ppc_opcodes(PowerPCCPU *cpu, Error **errp) {

ERROR: open brace '{' following function declarations go on the next line
#142: FILE: target/ppc/tcg-stub.c:115:
+void init_ppc_proc(PowerPCCPU *cpu) {

ERROR: open brace '{' following function declarations go on the next line
#146: FILE: target/ppc/tcg-stub.c:119:
+void destroy_ppc_opcodes(PowerPCCPU *cpu) {

ERROR: open brace '{' following function declarations go on the next line
#150: FILE: target/ppc/tcg-stub.c:123:
+void ppc_tlb_invalidate_all(CPUPPCState *env) {

ERROR: open brace '{' following function declarations go on the next line
#154: FILE: target/ppc/tcg-stub.c:127:
+void ppc_cpu_dump_state(CPUState *cpu, FILE *f, int flags) {

ERROR: open brace '{' following function declarations go on the next line
#158: FILE: target/ppc/tcg-stub.c:131:
+void ppc_cpu_dump_statistics(CPUState *cpu, int flags) {

ERROR: open brace '{' following function declarations go on the next line
#164: FILE: target/ppc/tcg-stub.c:137:
+hwaddr ppc_cpu_get_phys_page_debug(CPUState *cpu, vaddr addr) {

total: 20 errors, 1 warnings, 139 lines checked

Patch 3/4 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

4/4 Checking commit 0250bc923e4d (target/ppc: updated build rules for disable-tcg option)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20210409151916.97326-1-bruno.larsen@eldorado.org.br/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Re: [RFC PATCH 0/4] target/ppc: add disable-tcg option
Posted by David Gibson 3 years ago
On Fri, Apr 09, 2021 at 08:57:48AM -0700, no-reply@patchew.org wrote:
> Patchew URL: https://patchew.org/QEMU/20210409151916.97326-1-bruno.larsen@eldorado.org.br/
> 
> 
> 
> Hi,
> 
> This series seems to have some coding style problems. See output below for
> more information:
> 
> Type: series
> Message-id: 20210409151916.97326-1-bruno.larsen@eldorado.org.br
> Subject: [RFC PATCH 0/4] target/ppc: add disable-tcg option

You will need to fix these style errors.

Note that there's quite a bit of existing code in target-ppc which
doesn't have current-correct qemu style.  Despite this, please make
any changes in a checkpatch happy style - the hope is that we'll
gradually convert the legacy pieces to updated style.

> 
> === TEST SCRIPT BEGIN ===
> #!/bin/bash
> git rev-parse base > /dev/null || exit 0
> git config --local diff.renamelimit 0
> git config --local diff.renames True
> git config --local diff.algorithm histogram
> ./scripts/checkpatch.pl --mailback base..
> === TEST SCRIPT END ===
> 
> Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
> From https://github.com/patchew-project/qemu
>  - [tag update]      patchew/161786467973.295167.5612704777283969903.stgit@bahia.lan -> patchew/161786467973.295167.5612704777283969903.stgit@bahia.lan
>  - [tag update]      patchew/20210409150527.15053-1-peter.maydell@linaro.org -> patchew/20210409150527.15053-1-peter.maydell@linaro.org
>  * [new tag]         patchew/20210409151916.97326-1-bruno.larsen@eldorado.org.br -> patchew/20210409151916.97326-1-bruno.larsen@eldorado.org.br
> Switched to a new branch 'test'
> 0250bc9 target/ppc: updated build rules for disable-tcg option
> e36c2a7 target/ppc: Add stubs for tcg functions, so it builds
> 4e6d44d target/ppc: added solutions for building with disable-tcg
> 38ccad3 target/ppc: Code motion required to build disabling tcg
> 
> === OUTPUT BEGIN ===
> 1/4 Checking commit 38ccad308a44 (target/ppc: Code motion required to build disabling tcg)
> 2/4 Checking commit 4e6d44d2a68a (target/ppc: added solutions for building with disable-tcg)
> WARNING: Block comments use a leading /* on a separate line
> #43: FILE: target/ppc/arch_dump.c:182:
> +    /* This is the first solution implemented. My personal favorite as it
> 
> WARNING: Block comments use a trailing */ on a separate line
> #44: FILE: target/ppc/arch_dump.c:183:
> +     * allows for explicit error handling, however it is much less readable */
> 
> ERROR: space required before the open brace '{'
> #46: FILE: target/ppc/arch_dump.c:185:
> +    if(kvm_enabled()){
> 
> ERROR: space required before the open parenthesis '('
> #46: FILE: target/ppc/arch_dump.c:185:
> +    if(kvm_enabled()){
> 
> ERROR: space required after that close brace '}'
> #48: FILE: target/ppc/arch_dump.c:187:
> +    }else
> 
> WARNING: line over 80 characters
> #55: FILE: target/ppc/arch_dump.c:194:
> +        /* TODO: add proper error handling, even tough this should never be reached */
> 
> ERROR: space required before the open brace '{'
> #79: FILE: target/ppc/kvm.c:2953:
> +int kvmppc_mtvscr(PowerPCCPU *cpu, uint32_t val){
> 
> ERROR: space required before the open brace '{'
> #87: FILE: target/ppc/kvm.c:2961:
> +    if(ret < 0){
> 
> ERROR: space required before the open parenthesis '('
> #87: FILE: target/ppc/kvm.c:2961:
> +    if(ret < 0){
> 
> ERROR: space required before the open brace '{'
> #93: FILE: target/ppc/kvm.c:2967:
> +int kvmppc_mfvscr(PowerPCCPU *cpu){
> 
> ERROR: space required before the open brace '{'
> #101: FILE: target/ppc/kvm.c:2975:
> +    if(ret < 0){
> 
> ERROR: space required before the open parenthesis '('
> #101: FILE: target/ppc/kvm.c:2975:
> +    if(ret < 0){
> 
> ERROR: "(foo*)" should be "(foo *)"
> #115: FILE: target/ppc/kvm_ppc.h:90:
> +int kvmppc_mfvscr(PowerPCCPU*);
> 
> WARNING: Block comments use a leading /* on a separate line
> #117: FILE: target/ppc/kvm_ppc.h:92:
> +/* This is the second (quick and dirty) solution. Not my personal favorite
> 
> WARNING: Block comments use a trailing */ on a separate line
> #119: FILE: target/ppc/kvm_ppc.h:94:
> + * for error checking. but it requires less change in other files */
> 
> ERROR: space required after that ',' (ctx:VxV)
> #121: FILE: target/ppc/kvm_ppc.h:96:
> +#define helper_mtvscr(env, val) kvmppc_mtvscr(env_archcpu(env),val)
>                                                                ^
> 
> ERROR: space required before the open brace '{'
> #148: FILE: target/ppc/machine.c:101:
> +    if(kvm_enabled()){
> 
> ERROR: space required before the open parenthesis '('
> #148: FILE: target/ppc/machine.c:101:
> +    if(kvm_enabled()){
> 
> ERROR: space required after that close brace '}'
> #150: FILE: target/ppc/machine.c:103:
> +    }else
> 
> WARNING: line over 80 characters
> #156: FILE: target/ppc/machine.c:109:
> +        /* TODO: Add correct error handling, even though this should never be reached */
> 
> ERROR: space required before the open brace '{'
> #167: FILE: target/ppc/machine.c:467:
> +    if(kvm_enabled()){
> 
> ERROR: space required before the open parenthesis '('
> #167: FILE: target/ppc/machine.c:467:
> +    if(kvm_enabled()){
> 
> ERROR: space required before the open brace '{'
> #184: FILE: target/ppc/machine.c:484:
> +    if(kvm_enabled()){
> 
> ERROR: space required before the open parenthesis '('
> #184: FILE: target/ppc/machine.c:484:
> +    if(kvm_enabled()){
> 
> total: 18 errors, 6 warnings, 147 lines checked
> 
> Patch 2/4 has style problems, please review.  If any of these errors
> are false positives report them to the maintainer, see
> CHECKPATCH in MAINTAINERS.
> 
> 3/4 Checking commit e36c2a70087a (target/ppc: Add stubs for tcg functions, so it builds)
> Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
> WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
> #23: 
> new file mode 100644
> 
> ERROR: open brace '{' following function declarations go on the next line
> #37: FILE: target/ppc/tcg-stub.c:10:
> +void ppc_store_sdr1(CPUPPCState *env, target_ulong value) {
> 
> ERROR: open brace '{' following function declarations go on the next line
> #42: FILE: target/ppc/tcg-stub.c:15:
> +void ppc_store_ptcr(CPUPPCState *env, target_ulong value) {
> 
> ERROR: open brace '{' following function declarations go on the next line
> #48: FILE: target/ppc/tcg-stub.c:21:
> +void ppc_store_msr(CPUPPCState *env, target_ulong value) {
> 
> ERROR: space required before the open brace '{'
> #53: FILE: target/ppc/tcg-stub.c:26:
> +void dump_mmu(CPUPPCState *env){
> 
> ERROR: open brace '{' following function declarations go on the next line
> #58: FILE: target/ppc/tcg-stub.c:31:
> +void store_fpscr(CPUPPCState *env, uint64_t arg, uint32_t mask) {
> 
> ERROR: open brace '{' following function declarations go on the next line
> #63: FILE: target/ppc/tcg-stub.c:36:
> +void ppc_cpu_do_interrupt(CPUState *cpu) {
> 
> ERROR: trailing whitespace
> #82: FILE: target/ppc/tcg-stub.c:55:
> +    return; $
> 
> ERROR: open brace '{' following function declarations go on the next line
> #85: FILE: target/ppc/tcg-stub.c:58:
> +void ppc_store_lpcr(PowerPCCPU *cpu, target_ulong val) {
> 
> ERROR: trailing whitespace
> #99: FILE: target/ppc/tcg-stub.c:72:
> +    return; $
> 
> ERROR: trailing whitespace
> #105: FILE: target/ppc/tcg-stub.c:78:
> +    return; $
> 
> ERROR: open brace '{' following function declarations go on the next line
> #114: FILE: target/ppc/tcg-stub.c:87:
> +void ppc_cpu_do_fwnmi_machine_check(CPUState *cs, target_ulong vector) {
> 
> ERROR: space required before the open brace '{'
> #119: FILE: target/ppc/tcg-stub.c:92:
> +void ppc_cpu_do_system_reset(CPUState *cs){
> 
> ERROR: externs should be avoided in .c files
> #125: FILE: target/ppc/tcg-stub.c:98:
> +bool ppc64_v3_get_pate(PowerPCCPU *cpu, target_ulong lpid,
> 
> ERROR: open brace '{' following function declarations go on the next line
> #138: FILE: target/ppc/tcg-stub.c:111:
> +void create_ppc_opcodes(PowerPCCPU *cpu, Error **errp) {
> 
> ERROR: open brace '{' following function declarations go on the next line
> #142: FILE: target/ppc/tcg-stub.c:115:
> +void init_ppc_proc(PowerPCCPU *cpu) {
> 
> ERROR: open brace '{' following function declarations go on the next line
> #146: FILE: target/ppc/tcg-stub.c:119:
> +void destroy_ppc_opcodes(PowerPCCPU *cpu) {
> 
> ERROR: open brace '{' following function declarations go on the next line
> #150: FILE: target/ppc/tcg-stub.c:123:
> +void ppc_tlb_invalidate_all(CPUPPCState *env) {
> 
> ERROR: open brace '{' following function declarations go on the next line
> #154: FILE: target/ppc/tcg-stub.c:127:
> +void ppc_cpu_dump_state(CPUState *cpu, FILE *f, int flags) {
> 
> ERROR: open brace '{' following function declarations go on the next line
> #158: FILE: target/ppc/tcg-stub.c:131:
> +void ppc_cpu_dump_statistics(CPUState *cpu, int flags) {
> 
> ERROR: open brace '{' following function declarations go on the next line
> #164: FILE: target/ppc/tcg-stub.c:137:
> +hwaddr ppc_cpu_get_phys_page_debug(CPUState *cpu, vaddr addr) {
> 
> total: 20 errors, 1 warnings, 139 lines checked
> 
> Patch 3/4 has style problems, please review.  If any of these errors
> are false positives report them to the maintainer, see
> CHECKPATCH in MAINTAINERS.
> 
> 4/4 Checking commit 0250bc923e4d (target/ppc: updated build rules for disable-tcg option)
> === OUTPUT END ===
> 
> Test command exited with code: 1
> 
> 
> The full log is available at
> http://patchew.org/logs/20210409151916.97326-1-bruno.larsen@eldorado.org.br/testing.checkpatch/?type=message.
> ---
> Email generated automatically by Patchew [https://patchew.org/].
> Please send your feedback to patchew-devel@redhat.com

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson
Re: [RFC PATCH 0/4] target/ppc: add disable-tcg option
Posted by David Gibson 3 years ago
For future reference, please CC me explicitly on things you'd like me
to review.  I do scan the qemu-ppc@nongnu.org list, but it makes it
easier for me to find (and less likely that I'll accidentally overlook
it) if I'm also CCed directly.

On Fri, Apr 09, 2021 at 12:19:12PM -0300, Bruno Larsen (billionai) wrote:
> This patch series aims to add the option to build without TCG for the
> powerpc target. This RFC shows mostly the strategies employed when
> dealing with compilation problems, and ask for input on the bits
> we don't quite understand yet.
> 
> The first patch mostly code motion, as referenced in 2021-04/msg0717.
> The second patch shows the 2 strategies we've considered, and hope to
> get feedback on. The third patch contains the stubs we haven't decided
> on how to deal with yet, but needed to exist to compile the project.
> The final patch just changes the meson.build rules
> 
> Bruno Larsen (billionai) (4):
>   target/ppc: Code motion required to build disabling tcg
>   target/ppc: added solutions for problems encountered when building
>     with disable-tcg
>   target/ppc: Add stubs for tcg functions, so it build with disable-tcg
>   target/ppc: updated build rules for disable-tcg option
> 
>  target/ppc/arch_dump.c          |   17 +
>  target/ppc/cpu.c                |  859 +++++++++++++++++++++++
>  target/ppc/cpu.h                |   15 +
>  target/ppc/gdbstub.c            |  253 +++++++
>  target/ppc/kvm.c                |   30 +
>  target/ppc/kvm_ppc.h            |   11 +
>  target/ppc/machine.c            |   33 +-
>  target/ppc/meson.build          |   22 +-
>  target/ppc/tcg-stub.c           |  139 ++++
>  target/ppc/translate_init.c.inc | 1148 +------------------------------
>  10 files changed, 1407 insertions(+), 1120 deletions(-)
>  create mode 100644 target/ppc/tcg-stub.c
> 

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson