mbox

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

Message ID 20221030222841.42377-1-philmd@linaro.org
State New
Headers show

Pull-request

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

Message

Philippe Mathieu-Daudé Oct. 30, 2022, 10:27 p.m. UTC
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

Comments

Philippe Mathieu-Daudé Oct. 31, 2022, 12:28 p.m. UTC | #1
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.
Stefan Hajnoczi Oct. 31, 2022, 6:39 p.m. UTC | #2
Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/7.2 for any user-visible changes.
Peter Maydell Nov. 8, 2022, 1:59 p.m. UTC | #3
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
Philippe Mathieu-Daudé Nov. 8, 2022, 2:23 p.m. UTC | #4
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.
Thomas Huth Nov. 8, 2022, 3:09 p.m. UTC | #5
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
Philippe Mathieu-Daudé Nov. 8, 2022, 3:23 p.m. UTC | #6
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?
Konstantin Kostiuk Nov. 8, 2022, 5:56 p.m. UTC | #7
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.
Paolo Bonzini Nov. 8, 2022, 6:39 p.m. UTC | #8
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

>