[PULL 00/55] MIPS patches for 2022-10-30

Philippe Mathieu-Daudé posted 55 patches 1 year, 6 months ago
Only 52 patches received!
configs/devices/mips-softmmu/common.mak      |    1 -
configs/devices/mips64el-softmmu/default.mak |    1 -
disas/meson.build                            |    2 +-
disas/mips.c                                 |   12 +-
disas/{nanomips.cpp => nanomips.c}           | 8186 +++++++++---------
disas/nanomips.h                             | 1076 ---
hw/alpha/dp264.c                             |    2 -
hw/hppa/machine.c                            |    2 -
hw/i386/pc.c                                 |    3 -
hw/i386/pc_piix.c                            |    5 +-
hw/ide/piix.c                                |    5 +-
hw/ide/via.c                                 |    2 +-
hw/isa/Kconfig                               |    9 +
hw/isa/lpc_ich9.c                            |    3 +
hw/isa/piix3.c                               |   28 +-
hw/isa/piix4.c                               |   10 +-
hw/isa/vt82c686.c                            |  120 +-
hw/mips/bootloader.c                         |   28 +-
hw/mips/boston.c                             |   14 +-
hw/mips/fuloong2e.c                          |   48 +-
hw/mips/malta.c                              |  139 +-
hw/ppc/Kconfig                               |    1 -
hw/ppc/pegasos2.c                            |   25 +-
hw/ppc/prep.c                                |    2 -
hw/sparc64/sun4u.c                           |    1 -
hw/usb/vt82c686-uhci-pci.c                   |    4 +-
include/hw/ide/piix.h                        |    7 +
include/hw/isa/vt82c686.h                    |    4 +-
include/hw/mips/bootloader.h                 |    8 +-
29 files changed, 4181 insertions(+), 5567 deletions(-)
rename disas/{nanomips.cpp => nanomips.c} (73%)
delete mode 100644 disas/nanomips.h
create mode 100644 include/hw/ide/piix.h
[PULL 00/55] MIPS patches for 2022-10-30
Posted by Philippe Mathieu-Daudé 1 year, 6 months ago
The following changes since commit 344744e148e6e865f5a57e745b02a87e5ea534ad:

  Merge tag 'dump-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging (2022-10-26 10:53:49 -0400)

are available in the Git repository at:

  https://github.com/philmd/qemu.git tags/mips-20221030

for you to fetch changes up to 487099aee951e4966936acd3e9afd24c69de85ea:

  hw/mips/malta: Use bootloader helper to set BAR registers (2022-10-30 23:08:10 +0100)

----------------------------------------------------------------
MIPS patches queue

- Convert nanoMIPS disassembler from C++ to C (Milica Lazarevic)
- Consolidate VT82xx/PIIX south bridges (Bernhard Beschow)
- Remove unused MAX_IDE_BUS definition (Zoltan Balaton)
- Fix branch displacement for BEQZC/BNEZC (David Daney)
- Don't set link_up for Boston's xilinx-pcie (Jiaxun Yang)
- Use bootloader API to set BAR registers in Malta (Jiaxun Yang)

Unfortunately I couldn't run my usual test suite, but I ran the
best testing I can do in the current time frame :/
----------------------------------------------------------------

BALATON Zoltan (1):
  hw: Remove unused MAX_IDE_BUS define

Bernhard Beschow (25):
  hw/isa/vt82c686: Resolve chip-specific realize methods
  hw/isa/vt82c686: Resolve unneeded attribute
  hw/isa/vt82c686: Prefer pci_address_space() over get_system_memory()
  hw/isa/vt82c686: Reuse errp
  hw/isa/vt82c686: Introduce TYPE_VIA_IDE define
  hw/isa/vt82c686: Instantiate IDE function in host device
  hw/isa/vt82c686: Introduce TYPE_VT82C686B_USB_UHCI define
  hw/isa/vt82c686: Instantiate USB functions in host device
  hw/isa/vt82c686: Instantiate PM function in host device
  hw/isa/vt82c686: Instantiate AC97 and MC97 functions in host device
  hw/mips/fuloong2e: Inline vt82c686b_southbridge_init() and remove it
  hw/isa/vt82c686: Embed RTCState in host device
  hw/isa/vt82c686: Create rtc-time alias in boards instead
  hw/i386/pc: Create DMA controllers in south bridges
  hw/isa/piix3: Remove extra ';' outside of functions
  hw/isa/piix3: Add size constraints to rcr_ops
  hw/isa/piix3: Modernize reset handling
  hw/isa/piix3: Prefer pci_address_space() over get_system_memory()
  hw/isa/piix4: Rename wrongly named method
  hw/ide/piix: Introduce TYPE_ macros for PIIX IDE controllers
  hw/isa/piix3: Remove unused include
  hw/mips/malta: Reuse dev variable
  hw/isa/Kconfig: Fix dependencies of piix4 southbridge
  hw/isa/piix4: Add missing initialization
  hw/isa/piix4: Move pci_ide_create_devs() call to board code

David Daney (1):
  disas/mips: Fix branch displacement for BEQZC and BNEZC

Jiaxun Yang (3):
  hw/mips/boston: Don't set link_up for xilinx-pcie
  hw/mips: Use bl_gen_kernel_jump to generate bootloaders
  hw/mips/malta: Use bootloader helper to set BAR registers

Milica Lazarevic (24):
  disas/nanomips: Remove namespace img
  disas/nanomips: Extract enums out of the NMD class
  disas/nanomips: Delete NMD class field
  disas/nanomips: Delete NMD class second field
  disas/nanomips: Remove helper methods from class
  disas/nanomips: Remove __cond methods from class
  disas/nanomips: Remove disasm methods from class
  disas/nanomips: Remove Pool tables from the class
  disas/nanomips: Remove NMD class
  disas/nanomips: Move typedefs etc to nanomips.cpp
  disas/nanomips: Delete nanomips.h
  disas/nanomips: Remove #include <sstream>
  disas/nanomips: Delete copy functions
  disas/nanomips: Delete wrapper functions
  disas/nanomips: Replace std::string type
  disas/nanomips: Remove IMMEDIATE functions
  disas/nanomips: Remove CPR function
  disas/nanomips: Prevent memory leaking
  disas/nanomips: Remove function overloading
  disas/nanomips: Expand Dis_info struct
  disas/nanomips: Replace exception handling
  disas/nanomips: Replace Cpp enums for C enums
  disas/nanomips: Remove argument passing by ref
  disas/nanomips: Rename nanomips.cpp to nanomips.c

Philippe Mathieu-Daudé (1):
  hw/mips/bootloader: Allow bl_gen_jump_kernel to optionally set
    register

 configs/devices/mips-softmmu/common.mak      |    1 -
 configs/devices/mips64el-softmmu/default.mak |    1 -
 disas/meson.build                            |    2 +-
 disas/mips.c                                 |   12 +-
 disas/{nanomips.cpp => nanomips.c}           | 8186 +++++++++---------
 disas/nanomips.h                             | 1076 ---
 hw/alpha/dp264.c                             |    2 -
 hw/hppa/machine.c                            |    2 -
 hw/i386/pc.c                                 |    3 -
 hw/i386/pc_piix.c                            |    5 +-
 hw/ide/piix.c                                |    5 +-
 hw/ide/via.c                                 |    2 +-
 hw/isa/Kconfig                               |    9 +
 hw/isa/lpc_ich9.c                            |    3 +
 hw/isa/piix3.c                               |   28 +-
 hw/isa/piix4.c                               |   10 +-
 hw/isa/vt82c686.c                            |  120 +-
 hw/mips/bootloader.c                         |   28 +-
 hw/mips/boston.c                             |   14 +-
 hw/mips/fuloong2e.c                          |   48 +-
 hw/mips/malta.c                              |  139 +-
 hw/ppc/Kconfig                               |    1 -
 hw/ppc/pegasos2.c                            |   25 +-
 hw/ppc/prep.c                                |    2 -
 hw/sparc64/sun4u.c                           |    1 -
 hw/usb/vt82c686-uhci-pci.c                   |    4 +-
 include/hw/ide/piix.h                        |    7 +
 include/hw/isa/vt82c686.h                    |    4 +-
 include/hw/mips/bootloader.h                 |    8 +-
 29 files changed, 4181 insertions(+), 5567 deletions(-)
 rename disas/{nanomips.cpp => nanomips.c} (73%)
 delete mode 100644 disas/nanomips.h
 create mode 100644 include/hw/ide/piix.h

-- 
2.37.3


Re: [PULL 00/55] MIPS patches for 2022-10-30
Posted by Peter Maydell 1 year, 5 months ago
On Sun, 30 Oct 2022 at 22:29, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> The following changes since commit 344744e148e6e865f5a57e745b02a87e5ea534ad:
>
>   Merge tag 'dump-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging (2022-10-26 10:53:49 -0400)
>
> are available in the Git repository at:
>
>   https://github.com/philmd/qemu.git tags/mips-20221030
>
> for you to fetch changes up to 487099aee951e4966936acd3e9afd24c69de85ea:
>
>   hw/mips/malta: Use bootloader helper to set BAR registers (2022-10-30 23:08:10 +0100)
>
> ----------------------------------------------------------------
> MIPS patches queue
>
> - Convert nanoMIPS disassembler from C++ to C (Milica Lazarevic)

Was this the last use of C++ in the tree, or am I forgetting
some other part that still needs the C++ compiler?

If it is the last thing, we should put in the "Build Dependencies"
part of the release notes that a C++ compiler is no longer required
and mention that the configure options to specify it will go away in
a future release.

thanks
-- PMM
Re: [PULL 00/55] MIPS patches for 2022-10-30
Posted by Philippe Mathieu-Daudé 1 year, 5 months ago
On 8/11/22 14:59, Peter Maydell wrote:
> On Sun, 30 Oct 2022 at 22:29, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>>
>> The following changes since commit 344744e148e6e865f5a57e745b02a87e5ea534ad:
>>
>>    Merge tag 'dump-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging (2022-10-26 10:53:49 -0400)
>>
>> are available in the Git repository at:
>>
>>    https://github.com/philmd/qemu.git tags/mips-20221030
>>
>> for you to fetch changes up to 487099aee951e4966936acd3e9afd24c69de85ea:
>>
>>    hw/mips/malta: Use bootloader helper to set BAR registers (2022-10-30 23:08:10 +0100)
>>
>> ----------------------------------------------------------------
>> MIPS patches queue
>>
>> - Convert nanoMIPS disassembler from C++ to C (Milica Lazarevic)
> 
> Was this the last use of C++ in the tree, or am I forgetting
> some other part that still needs the C++ compiler?
> 
> If it is the last thing, we should put in the "Build Dependencies"
> part of the release notes that a C++ compiler is no longer required
> and mention that the configure options to specify it will go away in
> a future release.

I guess the last use is from the Guest Agent on Windows...

$ git ls-files | fgrep .cpp
qga/vss-win32/install.cpp
qga/vss-win32/provider.cpp
qga/vss-win32/requester.cpp

Cc'ing QGA & Windows teams.

Re: [PULL 00/55] MIPS patches for 2022-10-30
Posted by Thomas Huth 1 year, 5 months ago
On 08/11/2022 15.23, Philippe Mathieu-Daudé wrote:
> On 8/11/22 14:59, Peter Maydell wrote:
>> On Sun, 30 Oct 2022 at 22:29, Philippe Mathieu-Daudé <philmd@linaro.org> 
>> wrote:
>>>
>>> The following changes since commit 344744e148e6e865f5a57e745b02a87e5ea534ad:
>>>
>>>    Merge tag 'dump-pull-request' of 
>>> https://gitlab.com/marcandre.lureau/qemu into staging (2022-10-26 
>>> 10:53:49 -0400)
>>>
>>> are available in the Git repository at:
>>>
>>>    https://github.com/philmd/qemu.git tags/mips-20221030
>>>
>>> for you to fetch changes up to 487099aee951e4966936acd3e9afd24c69de85ea:
>>>
>>>    hw/mips/malta: Use bootloader helper to set BAR registers (2022-10-30 
>>> 23:08:10 +0100)
>>>
>>> ----------------------------------------------------------------
>>> MIPS patches queue
>>>
>>> - Convert nanoMIPS disassembler from C++ to C (Milica Lazarevic)
>>
>> Was this the last use of C++ in the tree, or am I forgetting
>> some other part that still needs the C++ compiler?
>>
>> If it is the last thing, we should put in the "Build Dependencies"
>> part of the release notes that a C++ compiler is no longer required
>> and mention that the configure options to specify it will go away in
>> a future release.
> 
> I guess the last use is from the Guest Agent on Windows...
> 
> $ git ls-files | fgrep .cpp
> qga/vss-win32/install.cpp
> qga/vss-win32/provider.cpp
> qga/vss-win32/requester.cpp

Yes, I think the c++ configure options are still required for that Windows 
stuff ... but IIRC Paolo once mentioned that we could simplify the linker 
logic in configure or meson.build once the nanomips stuff has been 
converted, since we now do not have to mix C and C++ linkage anymore?

  Thomas


Re: [PULL 00/55] MIPS patches for 2022-10-30
Posted by Paolo Bonzini 1 year, 5 months ago
Il mar 8 nov 2022, 16:09 Thomas Huth <thuth@redhat.com> ha scritto:

> >> If it is the last thing, we should put in the "Build Dependencies"
> >> part of the release notes that a C++ compiler is no longer required
> >> and mention that the configure options to specify it will go away in
> >> a future release.
> >
> > I guess the last use is from the Guest Agent on Windows...
> >
> > $ git ls-files | fgrep .cpp
> > qga/vss-win32/install.cpp
> > qga/vss-win32/provider.cpp
> > qga/vss-win32/requester.cpp
>
> Yes, I think the c++ configure options are still required for that Windows
> stuff ... but IIRC Paolo once mentioned that we could simplify the linker
> logic in configure or meson.build once the nanomips stuff has been
> converted, since we now do not have to mix C and C++ linkage anymore?
>

Yes, it can be simplified to remove the link_language checks.

Paolo

>
Re: [PULL 00/55] MIPS patches for 2022-10-30
Posted by Philippe Mathieu-Daudé 1 year, 5 months ago
On 8/11/22 16:09, Thomas Huth wrote:
> On 08/11/2022 15.23, Philippe Mathieu-Daudé wrote:
>> On 8/11/22 14:59, Peter Maydell wrote:

>>> Was this the last use of C++ in the tree, or am I forgetting
>>> some other part that still needs the C++ compiler?
>>>
>>> If it is the last thing, we should put in the "Build Dependencies"
>>> part of the release notes that a C++ compiler is no longer required
>>> and mention that the configure options to specify it will go away in
>>> a future release.
>>
>> I guess the last use is from the Guest Agent on Windows...
>>
>> $ git ls-files | fgrep .cpp
>> qga/vss-win32/install.cpp
>> qga/vss-win32/provider.cpp
>> qga/vss-win32/requester.cpp
> 
> Yes, I think the c++ configure options are still required for that 
> Windows stuff ... but IIRC Paolo once mentioned that we could simplify 
> the linker logic in configure or meson.build once the nanomips stuff has 
> been converted, since we now do not have to mix C and C++ linkage anymore?

Oh I guess I got it, we only need to link qga.exe as a standalone binary
unrelated to the qemu-system/user binaries, so we can simplify most of
the linkage?


Re: [PULL 00/55] MIPS patches for 2022-10-30
Posted by Konstantin Kostiuk 1 year, 5 months ago
On Tue, Nov 8, 2022 at 5:23 PM Philippe Mathieu-Daudé <philmd@linaro.org>
wrote:

> On 8/11/22 16:09, Thomas Huth wrote:
> > On 08/11/2022 15.23, Philippe Mathieu-Daudé wrote:
> >> On 8/11/22 14:59, Peter Maydell wrote:
>
> >>> Was this the last use of C++ in the tree, or am I forgetting
> >>> some other part that still needs the C++ compiler?
> >>>
> >>> If it is the last thing, we should put in the "Build Dependencies"
> >>> part of the release notes that a C++ compiler is no longer required
> >>> and mention that the configure options to specify it will go away in
> >>> a future release.
> >>
> >> I guess the last use is from the Guest Agent on Windows...
> >>
> >> $ git ls-files | fgrep .cpp
> >> qga/vss-win32/install.cpp
> >> qga/vss-win32/provider.cpp
> >> qga/vss-win32/requester.cpp
> >
> > Yes, I think the c++ configure options are still required for that
> > Windows stuff ... but IIRC Paolo once mentioned that we could simplify
> > the linker logic in configure or meson.build once the nanomips stuff has
> > been converted, since we now do not have to mix C and C++ linkage
> anymore?
>
> Oh I guess I got it, we only need to link qga.exe as a standalone binary
> unrelated to the qemu-system/user binaries, so we can simplify most of
> the linkage?
>
>
Hi All,

Currently, we need C++ only for the VSS part of Windows Guest Agent.
Anyway, the VSS source is fully based on Windows API, so in general,
we can rewrite it to C.

Best Regards,
Konstantin Kostiuk.
Re: [PULL 00/55] MIPS patches for 2022-10-30
Posted by Stefan Hajnoczi 1 year, 6 months ago
Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/7.2 for any user-visible changes.
Re: [PULL 00/55] MIPS patches for 2022-10-30
Posted by Philippe Mathieu-Daudé 1 year, 6 months ago
On 30/10/22 23:27, Philippe Mathieu-Daudé wrote:
> The following changes since commit 344744e148e6e865f5a57e745b02a87e5ea534ad:
> 
>    Merge tag 'dump-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging (2022-10-26 10:53:49 -0400)
> 
> are available in the Git repository at:
> 
>    https://github.com/philmd/qemu.git tags/mips-20221030
> 
> for you to fetch changes up to 487099aee951e4966936acd3e9afd24c69de85ea:
> 
>    hw/mips/malta: Use bootloader helper to set BAR registers (2022-10-30 23:08:10 +0100)
> 
> ----------------------------------------------------------------
> MIPS patches queue
> 
> - Convert nanoMIPS disassembler from C++ to C (Milica Lazarevic)
> - Consolidate VT82xx/PIIX south bridges (Bernhard Beschow)
> - Remove unused MAX_IDE_BUS definition (Zoltan Balaton)
> - Fix branch displacement for BEQZC/BNEZC (David Daney)
> - Don't set link_up for Boston's xilinx-pcie (Jiaxun Yang)
> - Use bootloader API to set BAR registers in Malta (Jiaxun Yang)
> 
> Unfortunately I couldn't run my usual test suite, but I ran the
> best testing I can do in the current time frame :/
> ----------------------------------------------------------------
Last 3 patches (53-55) are missing because they contain:

   Reviewed-by: Jiaxun Yang <jiaxun,yang@flygoat.com>

(notice the comma), which my MTA rejected.

I updated to Jiaxun's correct email address:

   Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>

and pushed the same tag.

Regards,

Phil.