[Qemu-devel] [PATCH v3 0/7] Kconfig dependencies for MIPS machines (but Malta)

Philippe Mathieu-Daudé posted 7 patches 5 years, 1 month ago
Test checkpatch passed
Test asan failed
Test docker-mingw@fedora passed
Test docker-clang@ubuntu passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190311005618.19007-1-philmd@redhat.com
Maintainers: Aurelien Jarno <aurelien@aurel32.net>, Aleksandar Rikalo <arikalo@wavecomp.com>, Aleksandar Markovic <amarkovic@wavecomp.com>
default-configs/mips-softmmu-common.mak |  4 ---
default-configs/mips64-softmmu.mak      |  5 ---
default-configs/mips64el-softmmu.mak    | 11 -------
hw/isa/Kconfig                          | 13 +++++---
hw/mips/Kconfig                         | 41 +++++++++++++++++++++++++
hw/misc/Kconfig                         |  3 --
hw/misc/Makefile.objs                   |  2 +-
hw/pci-host/Kconfig                     |  4 +++
hw/pci-host/Makefile.objs               |  2 +-
9 files changed, 56 insertions(+), 29 deletions(-)
[Qemu-devel] [PATCH v3 0/7] Kconfig dependencies for MIPS machines (but Malta)
Posted by Philippe Mathieu-Daudé 5 years, 1 month ago
Express the MIPS machine dependencies with Kconfig.

Due to its complexity, the Malta board fill follow in a different
series.

v3:
- addressed review comments from Thomas and Aleksandar
  (noted in each patch)

v2: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg00887.html
- Do not remove machines from the default config (Thomas)
- Corrected comment about CONFIG_PCI_BONITO (Thomas)

v1: https://www.mail-archive.com/qemu-devel@nongnu.org/msg593013.html

$ git backport-diff -u kconfig_mips-v2
Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively

001/7:[----] [--] 'hw/mips: Express dependencies of the MIPSsim machine with kconfig'
002/7:[0001] [FC] 'hw/mips: Express dependencies of the Jazz machine with kconfig'
003/7:[0002] [FC] 'hw/mips: Express dependencies of the r4k platform with kconfig'
004/7:[down] 'hw/mips: Remove the redundant CONFIG_MIPS_ITU Makefile variable'
005/7:[----] [-C] 'hw/mips: Express dependencies of the Boston machine with kconfig'
006/7:[----] [-C] 'hw/pci-host: Use CONFIG_PCI_BONITO to select the Bonito North Bridge'
007/7:[----] [-C] 'hw/mips: Express dependencies of the Fulong 2E machine with kconfig'

Regards,

Phil.

Philippe Mathieu-Daudé (7):
  hw/mips: Express dependencies of the MIPSsim machine with Kconfig
  hw/mips: Express dependencies of the Jazz machine with Kconfig
  hw/mips: Express dependencies of the r4k platform with Kconfig
  hw/mips: Remove the redundant CONFIG_MIPS_ITU Makefile variable
  hw/mips: Express dependencies of the Boston machine with Kconfig
  hw/pci-host: Use CONFIG_PCI_BONITO to select the Bonito North Bridge
  hw/mips: Express dependencies of the Fulong 2E machine with Kconfig

 default-configs/mips-softmmu-common.mak |  4 ---
 default-configs/mips64-softmmu.mak      |  5 ---
 default-configs/mips64el-softmmu.mak    | 11 -------
 hw/isa/Kconfig                          | 13 +++++---
 hw/mips/Kconfig                         | 41 +++++++++++++++++++++++++
 hw/misc/Kconfig                         |  3 --
 hw/misc/Makefile.objs                   |  2 +-
 hw/pci-host/Kconfig                     |  4 +++
 hw/pci-host/Makefile.objs               |  2 +-
 9 files changed, 56 insertions(+), 29 deletions(-)

-- 
2.20.1


Re: [Qemu-devel] [PATCH v3 0/7] Kconfig dependencies for MIPS machines (but Malta)
Posted by Aleksandar Markovic 4 years, 11 months ago
On Mar 11, 2019 1:56 AM, "Philippe Mathieu-Daudé" <philmd@redhat.com> wrote:
>
> Express the MIPS machine dependencies with Kconfig.
>
> Due to its complexity, the Malta board fill follow in a different
> series.
>

Philippe,

What would be the status of this series? I am willing to integrate all
this, including all followups, but have hard time sorting out what happend
after this submission, what is the most complete version etc. Can you
enlighten me please?

Yours,
Aleksandar

> v3:
> - addressed review comments from Thomas and Aleksandar
>   (noted in each patch)
>
> v2: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg00887.html
> - Do not remove machines from the default config (Thomas)
> - Corrected comment about CONFIG_PCI_BONITO (Thomas)
>
> v1: https://www.mail-archive.com/qemu-devel@nongnu.org/msg593013.html
>
> $ git backport-diff -u kconfig_mips-v2
> Key:
> [----] : patches are identical
> [####] : number of functional differences between upstream/downstream
patch
> The flags [FC] indicate (F)unctional and (C)ontextual differences,
respectively
>
> 001/7:[----] [--] 'hw/mips: Express dependencies of the MIPSsim machine
with kconfig'
> 002/7:[0001] [FC] 'hw/mips: Express dependencies of the Jazz machine with
kconfig'
> 003/7:[0002] [FC] 'hw/mips: Express dependencies of the r4k platform with
kconfig'
> 004/7:[down] 'hw/mips: Remove the redundant CONFIG_MIPS_ITU Makefile
variable'
> 005/7:[----] [-C] 'hw/mips: Express dependencies of the Boston machine
with kconfig'
> 006/7:[----] [-C] 'hw/pci-host: Use CONFIG_PCI_BONITO to select the
Bonito North Bridge'
> 007/7:[----] [-C] 'hw/mips: Express dependencies of the Fulong 2E machine
with kconfig'
>
> Regards,
>
> Phil.
>
> Philippe Mathieu-Daudé (7):
>   hw/mips: Express dependencies of the MIPSsim machine with Kconfig
>   hw/mips: Express dependencies of the Jazz machine with Kconfig
>   hw/mips: Express dependencies of the r4k platform with Kconfig
>   hw/mips: Remove the redundant CONFIG_MIPS_ITU Makefile variable
>   hw/mips: Express dependencies of the Boston machine with Kconfig
>   hw/pci-host: Use CONFIG_PCI_BONITO to select the Bonito North Bridge
>   hw/mips: Express dependencies of the Fulong 2E machine with Kconfig
>
>  default-configs/mips-softmmu-common.mak |  4 ---
>  default-configs/mips64-softmmu.mak      |  5 ---
>  default-configs/mips64el-softmmu.mak    | 11 -------
>  hw/isa/Kconfig                          | 13 +++++---
>  hw/mips/Kconfig                         | 41 +++++++++++++++++++++++++
>  hw/misc/Kconfig                         |  3 --
>  hw/misc/Makefile.objs                   |  2 +-
>  hw/pci-host/Kconfig                     |  4 +++
>  hw/pci-host/Makefile.objs               |  2 +-
>  9 files changed, 56 insertions(+), 29 deletions(-)
>
> --
> 2.20.1
>
>
Re: [Qemu-devel] [PATCH v3 0/7] Kconfig dependencies for MIPS machines (but Malta)
Posted by Philippe Mathieu-Daudé 4 years, 11 months ago
Hi Aleksandar,

On 5/27/19 8:31 PM, Aleksandar Markovic wrote:
> 
> On Mar 11, 2019 1:56 AM, "Philippe Mathieu-Daudé" <philmd@redhat.com
> <mailto:philmd@redhat.com>> wrote:
>>
>> Express the MIPS machine dependencies with Kconfig.
>>
>> Due to its complexity, the Malta board fill follow in a different
>> series.
>>
> 
> Philippe,
> 
> What would be the status of this series? I am willing to integrate all
> this, including all followups, but have hard time sorting out what
> happend after this submission, what is the most complete version etc.
> Can you enlighten me please?

Thanks for your interest in this series :)

I was chatting with Thomas about this series earlier today!
I addressed your comment about the ITU/CPS devices, then wanted to join
all the Malta patches in the same series, but there are too many for a
single series so I'll keep them separate.
About Malta, I can do it two ways: one quick and dirty, and one clean
but long. Problem with long series is they can take too long before
landing. I'm trying to figure a quick but not that dirty way to solve
this, then we can improve later.

I'll resend during the week.

Regards,

Phil.

Re: [Qemu-devel] [PATCH v3 0/7] Kconfig dependencies for MIPS machines (but Malta)
Posted by Philippe Mathieu-Daudé 4 years, 11 months ago
> On 5/27/19 8:31 PM, Aleksandar Markovic wrote:
> > What would be the status of this series? I am willing to integrate all
> > this, including all followups, but have hard time sorting out what
> > happend after this submission, what is the most complete version etc.
> > Can you enlighten me please?
>
> Thanks for your interest in this series :)
>
> I was chatting with Thomas about this series earlier today!
> I addressed your comment about the ITU/CPS devices, then wanted to join
> all the Malta patches in the same series, but there are too many for a
> single series so I'll keep them separate.

After some sleep I could remember why I postponed this series:

1/ making the ITU selectable gives:

  /usr/bin/ld: target/mips/op_helper.o: in function `helper_mtc0_saar':
  ./target/mips/op_helper.c:1614: undefined reference to `itc_reconfigure'
  /usr/bin/ld: target/mips/op_helper.o: in function `helper_mthc0_saar':
  ./target/mips/op_helper.c:1631: undefined reference to `itc_reconfigure'
  collect2: error: ld returned 1 exit status

Anyway it is now selectable but has to be always selected.

2/ I thought only the Malta board was deeply mixed with the X86 ACPI
code, but I later noticed the Fulong is too.

  /usr/bin/ld: ../hw/isa/vt82c686.o: in function `vt82c686b_pm_realize':
  ./hw/isa/vt82c686.c:381: undefined reference to `acpi_pm_tmr_init'
  /usr/bin/ld: ./hw/isa/vt82c686.c:382: undefined reference to
`acpi_pm1_evt_init'
  /usr/bin/ld: ../hw/isa/vt82c686.o: in function `pm_update_sci':
  ./hw/isa/vt82c686.c:195: undefined reference to `acpi_pm1_evt_get_sts'
  collect2: error: ld returned 1 exit status

Both VT82C686B/PIIX4 southbridges require considerable cleanup.
I think I now have something workable, but I have to sell my patches
correctly to the different subsystem maintainers ;)

Regards,

Phil.

Re: [Qemu-devel] [PATCH v3 0/7] Kconfig dependencies for MIPS machines (but Malta)
Posted by Aleksandar Markovic 4 years, 11 months ago
On May 28, 2019 8:49 AM, "Philippe Mathieu-Daudé" <philmd@redhat.com> wrote:
>
> > On 5/27/19 8:31 PM, Aleksandar Markovic wrote:
> > > What would be the status of this series? I am willing to integrate all
> > > this, including all followups, but have hard time sorting out what
> > > happend after this submission, what is the most complete version etc.
> > > Can you enlighten me please?
> >
> > Thanks for your interest in this series :)
> >
> > I was chatting with Thomas about this series earlier today!
> > I addressed your comment about the ITU/CPS devices, then wanted to join
> > all the Malta patches in the same series, but there are too many for a
> > single series so I'll keep them separate.
>
> After some sleep I could remember why I postponed this series:
>
> 1/ making the ITU selectable gives:
>
>   /usr/bin/ld: target/mips/op_helper.o: in function `helper_mtc0_saar':
>   ./target/mips/op_helper.c:1614: undefined reference to `itc_reconfigure'
>   /usr/bin/ld: target/mips/op_helper.o: in function `helper_mthc0_saar':
>   ./target/mips/op_helper.c:1631: undefined reference to `itc_reconfigure'
>   collect2: error: ld returned 1 exit status
>
> Anyway it is now selectable but has to be always selected.
>
> 2/ I thought only the Malta board was deeply mixed with the X86 ACPI
> code, but I later noticed the Fulong is too.
>
>   /usr/bin/ld: ../hw/isa/vt82c686.o: in function `vt82c686b_pm_realize':
>   ./hw/isa/vt82c686.c:381: undefined reference to `acpi_pm_tmr_init'
>   /usr/bin/ld: ./hw/isa/vt82c686.c:382: undefined reference to
> `acpi_pm1_evt_init'
>   /usr/bin/ld: ../hw/isa/vt82c686.o: in function `pm_update_sci':
>   ./hw/isa/vt82c686.c:195: undefined reference to `acpi_pm1_evt_get_sts'
>   collect2: error: ld returned 1 exit status
>
> Both VT82C686B/PIIX4 southbridges require considerable cleanup.
> I think I now have something workable, but I have to sell my patches
> correctly to the different subsystem maintainers ;)
>

I appreciate all this very much!

I don't want to rush you in any way, but just want to tell you that the
next MIPS pull request is planned for mid or end of the next week - so if
you judge some parts can be independently wrapped up by that time, by no
means send such set of patches. But again, it is up to you, no obligations
and no questions asked.

Au revoir,
Aleksandar

> Regards,
>
> Phil.
Re: [Qemu-devel] [PATCH v3 0/7] Kconfig dependencies for MIPS machines (but Malta)
Posted by Aleksandar Markovic 4 years, 10 months ago
On Mar 11, 2019 1:56 AM, "Philippe Mathieu-Daudé" <philmd@redhat.com> wrote:
>
> Express the MIPS machine dependencies with Kconfig.
>
> Due to its complexity, the Malta board fill follow in a different
> series.
>

Philippe,

What do we do with this series for 4.1?

Yours,
Aleksandar

> v3:
> - addressed review comments from Thomas and Aleksandar
>   (noted in each patch)
>
> v2: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg00887.html
> - Do not remove machines from the default config (Thomas)
> - Corrected comment about CONFIG_PCI_BONITO (Thomas)
>
> v1: https://www.mail-archive.com/qemu-devel@nongnu.org/msg593013.html
>
> $ git backport-diff -u kconfig_mips-v2
> Key:
> [----] : patches are identical
> [####] : number of functional differences between upstream/downstream
patch
> The flags [FC] indicate (F)unctional and (C)ontextual differences,
respectively
>
> 001/7:[----] [--] 'hw/mips: Express dependencies of the MIPSsim machine
with kconfig'
> 002/7:[0001] [FC] 'hw/mips: Express dependencies of the Jazz machine with
kconfig'
> 003/7:[0002] [FC] 'hw/mips: Express dependencies of the r4k platform with
kconfig'
> 004/7:[down] 'hw/mips: Remove the redundant CONFIG_MIPS_ITU Makefile
variable'
> 005/7:[----] [-C] 'hw/mips: Express dependencies of the Boston machine
with kconfig'
> 006/7:[----] [-C] 'hw/pci-host: Use CONFIG_PCI_BONITO to select the
Bonito North Bridge'
> 007/7:[----] [-C] 'hw/mips: Express dependencies of the Fulong 2E machine
with kconfig'
>
> Regards,
>
> Phil.
>
> Philippe Mathieu-Daudé (7):
>   hw/mips: Express dependencies of the MIPSsim machine with Kconfig
>   hw/mips: Express dependencies of the Jazz machine with Kconfig
>   hw/mips: Express dependencies of the r4k platform with Kconfig
>   hw/mips: Remove the redundant CONFIG_MIPS_ITU Makefile variable
>   hw/mips: Express dependencies of the Boston machine with Kconfig
>   hw/pci-host: Use CONFIG_PCI_BONITO to select the Bonito North Bridge
>   hw/mips: Express dependencies of the Fulong 2E machine with Kconfig
>
>  default-configs/mips-softmmu-common.mak |  4 ---
>  default-configs/mips64-softmmu.mak      |  5 ---
>  default-configs/mips64el-softmmu.mak    | 11 -------
>  hw/isa/Kconfig                          | 13 +++++---
>  hw/mips/Kconfig                         | 41 +++++++++++++++++++++++++
>  hw/misc/Kconfig                         |  3 --
>  hw/misc/Makefile.objs                   |  2 +-
>  hw/pci-host/Kconfig                     |  4 +++
>  hw/pci-host/Makefile.objs               |  2 +-
>  9 files changed, 56 insertions(+), 29 deletions(-)
>
> --
> 2.20.1
>
>
Re: [Qemu-devel] [PATCH v3 0/7] Kconfig dependencies for MIPS machines (but Malta)
Posted by Philippe Mathieu-Daudé 4 years, 10 months ago
Hi Aleksandar,

On 6/30/19 9:12 AM, Aleksandar Markovic wrote:
> 
> On Mar 11, 2019 1:56 AM, "Philippe Mathieu-Daudé" <philmd@redhat.com
> <mailto:philmd@redhat.com>> wrote:
>>
>> Express the MIPS machine dependencies with Kconfig.
>>
>> Due to its complexity, the Malta board fill follow in a different
>> series.
>>
> 
> Philippe,
> 
> What do we do with this series for 4.1?

As commented in another reply of this cover, while addressing your
comment "systems with CPS that doesn't have ITU" I hit an incongruous issue:

  /usr/bin/ld: target/mips/op_helper.o: in function `helper_mtc0_saar':
  ./target/mips/op_helper.c:1614: undefined reference to `itc_reconfigure'
  /usr/bin/ld: target/mips/op_helper.o: in function `helper_mthc0_saar':
  ./target/mips/op_helper.c:1631: undefined reference to `itc_reconfigure'
  collect2: error: ld returned 1 exit status

Then while trying to resolve this I exhausted the time I had to work on
this.

Since I doubt we can fix easily the design flow when (coproc)
instructions access optional device before 4.1, I'll also take out the
Boston patches, and see what's left I can respin.

Regards,

Phil.

Re: [Qemu-devel] [PATCH v3 0/7] Kconfig dependencies for MIPS machines (but Malta)
Posted by Aleksandar Markovic 4 years, 10 months ago
> Since I doubt we can fix easily the design flow when (coproc)
> instructions access optional device before 4.1, I'll also take out the
> Boston patches, and see what's left I can respin.

No problem, what can we do.

Or you can tell me just what patches I should apply from this series now.

I plan a MIPS pull request tomorrow evening.

Bon aprés midi,
Aleksandar

> Regards,
>Phil.