mbox series

[v3,0/7] Kconfig dependencies for MIPS machines (but Malta)

Message ID 20190311005618.19007-1-philmd@redhat.com
Headers show
Series Kconfig dependencies for MIPS machines (but Malta) | expand

Message

Philippe Mathieu-Daudé March 11, 2019, 12:56 a.m. UTC
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(-)

Comments

Aleksandar Markovic May 27, 2019, 6:31 p.m. UTC | #1
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
>
>
Philippe Mathieu-Daudé May 27, 2019, 9:35 p.m. UTC | #2
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.
Philippe Mathieu-Daudé May 28, 2019, 6:49 a.m. UTC | #3
> 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.
Aleksandar Markovic May 28, 2019, 8:49 a.m. UTC | #4
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.
Aleksandar Markovic June 30, 2019, 7:12 a.m. UTC | #5
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
>
>
Philippe Mathieu-Daudé July 1, 2019, 10:30 a.m. UTC | #6
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.
Aleksandar Markovic July 1, 2019, 10:56 a.m. UTC | #7
> 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.