qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] c88d07: hw/core/loader: allow loading larger


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] c88d07: hw/core/loader: allow loading larger ROMs
Date: Tue, 16 Jul 2024 22:40:44 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: c88d07488c7d9cfdb755d460c63ca80aba323465
      
https://github.com/qemu/qemu/commit/c88d07488c7d9cfdb755d460c63ca80aba323465
  Author: Gregor Haas <gregorhaas1997@gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/core/loader.c

  Log Message:
  -----------
  hw/core/loader: allow loading larger ROMs

The read() syscall is not guaranteed to return all data from a file. The
default ROM loader implementation currently does not take this into account,
instead failing if all bytes are not read at once. This change loads the ROM
using g_file_get_contents() instead, which correctly reads all data using
multiple calls to read() while also returning the loaded ROM size.

Signed-off-by: Gregor Haas <gregorhaas1997@gmail.com>
Reviewed-by: Xingtao Yao <yaoxt.fnst@fujitsu.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240628182706.99525-1-gregorhaas1997@gmail.com>
[PMD: Use gsize with g_file_get_contents()]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 9a365c25362c0d6b4cc0a53f88aae22b7d2532c6
      
https://github.com/qemu/qemu/commit/9a365c25362c0d6b4cc0a53f88aae22b7d2532c6
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/isa/vt82c686.c
    M hw/mips/fuloong2e.c
    M hw/ppc/amigaone.c
    M hw/ppc/pegasos2.c

  Log Message:
  -----------
  hw/isa/vt82c686: Turn "intr" irq into a named gpio

Makes the code more comprehensible, matches the datasheet and
the piix4 device model.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240704205854.18537-2-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 1ee5f645721832a1285157f6ee2a34cc549c30d2
      
https://github.com/qemu/qemu/commit/1ee5f645721832a1285157f6ee2a34cc549c30d2
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M include/hw/qdev-core.h

  Log Message:
  -----------
  include/hw/qdev-core.h: Correct and clarify gpio doc comments

The doc comments for the functions for named GPIO inputs and
outputs had a couple of problems:
 * some copy-and-paste errors meant the qdev_connect_gpio_out_named()
   doc comment had references to input GPIOs that should be to
   output GPIOs
 * it wasn't very clear that named GPIOs are arrays and so the
   connect functions specify a single GPIO line by giving both
   the name of the array and the index within that array

Fix the copy-and-paste errors and slightly expand the text
to say that functions are connecting one line in a named GPIO
array, not a single named GPIO line.

Reported-by: BALATON Zoltan <balaton@eik.bme.hu>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240708153312.3109380-1-peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: a376a8d58a164c28a8402d0ea7b05c1235c02f7a
      
https://github.com/qemu/qemu/commit/a376a8d58a164c28a8402d0ea7b05c1235c02f7a
  Author: Ani Sinha <anisinha@redhat.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/core/loader.c
    M include/hw/loader.h

  Log Message:
  -----------
  loader: remove load_image_gzipped function as its not used anywhere

load_image_gzipped() does not seem to be used anywhere. Remove it.

Signed-off-by: Ani Sinha <anisinha@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240711072448.32673-1-anisinha@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: de680286b527965a503b87dda59ebc8f539684f2
      
https://github.com/qemu/qemu/commit/de680286b527965a503b87dda59ebc8f539684f2
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M target/tricore/cpu.c

  Log Message:
  -----------
  accel/tcg: Make cpu_exec_interrupt hook mandatory

The TCGCPUOps::cpu_exec_interrupt hook is currently not mandatory; if
it is left NULL then we treat it as if it had returned false. However
since pretty much every architecture needs to handle interrupts,
almost every target we have provides the hook. The one exception is
Tricore, which doesn't currently implement the architectural
interrupt handling.

Add a "do nothing" implementation of cpu_exec_hook for Tricore,
assert on startup that the CPU does provide the hook, and remove
the runtime NULL check before calling it.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20240712113949.4146855-1-peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 6b6593107d65113d3b83a936b06bab6c1c9fafe0
      
https://github.com/qemu/qemu/commit/6b6593107d65113d3b83a936b06bab6c1c9fafe0
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M include/hw/core/cpu.h
    M system/cpus.c

  Log Message:
  -----------
  system/cpus: Add cpu_pause() function

This factors the CPU pause function from pause_all_vcpus() into a
new cpu_pause() function, similarly to cpu_resume(). cpu_resume()
is moved to keep it next to cpu_pause().

Cc: Philippe Mathieu-Daudé <philmd@linaro.org>
Cc: Peter Xu <peterx@redhat.com>
Cc: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Peter Xu <peterx@redhat.com>
Message-ID: <20240712120247.477133-17-npiggin@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: dfaf55a19ab0e0afba8aa34c7fb04c1566e41519
      
https://github.com/qemu/qemu/commit/dfaf55a19ab0e0afba8aa34c7fb04c1566e41519
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/scsi/esp.c

  Log Message:
  -----------
  esp: remove transfer size check from DMA DATA IN and DATA OUT transfers

The transfer size check was originally added to prevent consecutive DMA TI
commands from causing an assert() due to an existing SCSI request being in
progress, but since the last set of updates [*] this is no longer required.

Remove the transfer size check from DMA DATA IN and DATA OUT transfers so
that issuing a DMA TI command when there is no data left to transfer does
not cause an assert() due to an existing SCSI request being in progress.

[*] See commits f3ace75be8..78d68f312a

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2415
Message-ID: <20240713224249.468084-1-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 3f5ef05fe029419159fc67772b0bc1cc81e633bd
      
https://github.com/qemu/qemu/commit/3f5ef05fe029419159fc67772b0bc1cc81e633bd
  Author: Akihiko Odaki <akihiko.odaki@daynix.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M ui/cocoa.m

  Log Message:
  -----------
  ui/cocoa: Release CGColorSpace

CGImageCreate | Apple Developer Documentation
https://developer.apple.com/documentation/coregraphics/1455149-cgimagecreate
> The color space is retained; on return, you may safely release it.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Tested-by: Phil Dennis-Jordan <phil@philjordan.eu>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240715-cursor-v3-1-afa5b9492dbf@daynix.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: a418e7aeea14d1cbe7dc9160aa0874bc1056ae74
      
https://github.com/qemu/qemu/commit/a418e7aeea14d1cbe7dc9160aa0874bc1056ae74
  Author: Akihiko Odaki <akihiko.odaki@daynix.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/display/ati.c
    M hw/display/virtio-gpu.c
    M hw/display/vmware_vga.c
    M include/ui/console.h
    M ui/console.c
    M ui/dbus-listener.c
    M ui/gtk.c
    M ui/sdl2.c
    M ui/spice-display.c
    M ui/vnc.c

  Log Message:
  -----------
  ui/console: Convert mouse visibility parameter into bool

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Tested-by: Phil Dennis-Jordan <phil@philjordan.eu>
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240715-cursor-v3-2-afa5b9492dbf@daynix.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: d2277f02b819c795e671ce27f4a48d5e8fce97b9
      
https://github.com/qemu/qemu/commit/d2277f02b819c795e671ce27f4a48d5e8fce97b9
  Author: Akihiko Odaki <akihiko.odaki@daynix.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M meson.build
    M ui/cocoa.m

  Log Message:
  -----------
  ui/cocoa: Add cursor composition

Add accelerated cursor composition to ui/cocoa. This does not only
improve performance for display devices that exposes the capability to
the guest according to dpy_cursor_define_supported(), but fixes the
cursor display for devices that unconditionally expects the availability
of the capability (e.g., virtio-gpu).

The common pattern to implement accelerated cursor composition is to
replace the cursor and warp it so that the replaced cursor is shown at
the correct position on the guest display for relative pointer devices.
Unfortunately, ui/cocoa cannot do the same because warping the cursor
position interfers with the mouse input so it uses CALayer instead;
although it is not specialized for cursor composition, it still can
compose images with hardware acceleration.

Co-authored-by: Phil Dennis-Jordan <phil@philjordan.eu>
Tested-by: Phil Dennis-Jordan <phil@philjordan.eu>
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20240715-cursor-v3-3-afa5b9492dbf@daynix.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 4bba839808bb1c4f500a11462220a687b4d9ab25
      
https://github.com/qemu/qemu/commit/4bba839808bb1c4f500a11462220a687b4d9ab25
  Author: Akihiko Odaki <akihiko.odaki@daynix.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/display/qxl-render.c
    M hw/display/vmware_vga.c
    M include/ui/console.h
    M ui/console.c

  Log Message:
  -----------
  ui/console: Remove dpy_cursor_define_supported()

Remove dpy_cursor_define_supported() as it brings no benefit today and
it has a few inherent problems.

All graphical displays except egl-headless support cursor composition
without DMA-BUF, and egl-headless is meant to be used in conjunction
with another graphical display, so dpy_cursor_define_supported()
always returns true and meaningless.

Even if we add a new display without cursor composition in the future,
dpy_cursor_define_supported() will be problematic as a cursor display
fix for it because some display devices like virtio-gpu cannot tell the
lack of cursor composition capability to the guest and are unable to
utilize the value the function returns. Therefore, all non-headless
graphical displays must actually implement cursor composition for
correct cursor display.

Another problem with dpy_cursor_define_supported() is that it returns
true even if only some of the display listeners support cursor
composition, which is wrong unless all display listeners that lack
cursor composition is headless.

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Phil Dennis-Jordan <phil@philjordan.eu>
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20240715-cursor-v3-4-afa5b9492dbf@daynix.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: a99dc9cd611cbaf10edee6260272e299626d0871
      
https://github.com/qemu/qemu/commit/a99dc9cd611cbaf10edee6260272e299626d0871
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M system/vl.c

  Log Message:
  -----------
  vl: fix "type is NULL" in -vga help

Don't pass NULL to module_object_class_by_name(), when the interface is
unavailable.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240715114420.2062870-1-marcandre.lureau@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 644a52778a90581dbda909f38b9eaf71501fd9cd
      
https://github.com/qemu/qemu/commit/644a52778a90581dbda909f38b9eaf71501fd9cd
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M system/physmem.c

  Log Message:
  -----------
  system/physmem: use return value of ram_block_discard_require() as errno

When ram_block_discard_require() fails, errno is passed to error_setg_errno().
It's a stale value or 0 which is unrelated to ram_block_discard_require().

As ram_block_discard_require() already returns -EBUSY in failure case,
use it as errno for error_setg_errno().

Fixes: 852f0048f3ea ("make guest_memfd require uncoordinated discard")
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-ID: <20240716064213.290696-1-zhenzhong.duan@intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 1b5a561c7376189ff0afc2d081625e33ffd09478
      
https://github.com/qemu/qemu/commit/1b5a561c7376189ff0afc2d081625e33ffd09478
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/sd/sd.c
    M include/hw/sd/sd.h

  Log Message:
  -----------
  hw/sd/sdcard: Basis for eMMC support

Since eMMC are soldered on boards, it is not user-creatable.

RCA register is initialized to 0x0001, per spec v4.3,
chapter 8.5 "RCA register":

  The default value of the RCA register is 0x0001.
  The value 0x0000 is reserved to set all cards into
  the Stand-by State with CMD7.

The CSD register is very similar to SD one, except
the version announced is v4.3.

eMMC CID register is slightly different from SD:
- One extra PNM (5 -> 6)
- MDT is only 1 byte (2 -> 1).

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Cédric Le Goater <clg@redhat.com>
Message-Id: <20240712162719.88165-2-philmd@linaro.org>


  Commit: 99e84304b31e1948864ca6df07248a380d2ba2b3
      
https://github.com/qemu/qemu/commit/99e84304b31e1948864ca6df07248a380d2ba2b3
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Register generic command handlers

Tested-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Tested-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Cédric Le Goater <clg@redhat.com>
Message-Id: <20240712162719.88165-3-philmd@linaro.org>


  Commit: 4143d2374a06c3bde232f02250bdf1fdcb421dbd
      
https://github.com/qemu/qemu/commit/4143d2374a06c3bde232f02250bdf1fdcb421dbd
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Register unimplemented command handlers

Per the spec v4.3 these commands are mandatory,
but we don't implement them.

Reviewed-by: Cédric Le Goater <clg@redhat.com>
Tested-by: Cédric Le Goater <clg@redhat.com>
Tested-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Cédric Le Goater <clg@redhat.com>
Message-Id: <20240712162719.88165-4-philmd@linaro.org>


  Commit: 3007fa1156222a564b5311663644101ae76135f2
      
https://github.com/qemu/qemu/commit/3007fa1156222a564b5311663644101ae76135f2
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Add emmc_cmd_SET_RELATIVE_ADDR handler (CMD3)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Tested-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Cédric Le Goater <clg@redhat.com>
Message-Id: <20240712162719.88165-5-philmd@linaro.org>


  Commit: 7851548485671a7dc298cdf9fbcd852b08572fd4
      
https://github.com/qemu/qemu/commit/7851548485671a7dc298cdf9fbcd852b08572fd4
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Fix SET_BLOCK_COUNT command argument on eMMC (CMD23)

The number of blocks is defined in the lower bits [15:0].

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Tested-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Cédric Le Goater <clg@redhat.com>
Message-Id: <20240712162719.88165-6-philmd@linaro.org>


  Commit: b13b29ed3812cf249db61fec8840917966a9d0c9
      
https://github.com/qemu/qemu/commit/b13b29ed3812cf249db61fec8840917966a9d0c9
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Add emmc_cmd_PROGRAM_CID handler (CMD26)

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Tested-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Message-Id: <20240712162719.88165-7-philmd@linaro.org>


  Commit: cfde1788dd41cdc9720af7a91feeb4efde000a81
      
https://github.com/qemu/qemu/commit/cfde1788dd41cdc9720af7a91feeb4efde000a81
  Author: Luc Michel <luc.michel@amd.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Implement eMMC sleep state (CMD5)

The JEDEC standards specifies a sleep state where the eMMC won't
answer any command appart from RESET and WAKEUP and go to low power
state.  Implement this state and the corresponding command number 5.

Signed-off-by: Luc Michel <luc.michel@amd.com>
Signed-off-by: Francisco Iglesias <francisco.iglesias@amd.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Message-Id: <20240712162719.88165-8-philmd@linaro.org>


  Commit: a1e04619950f29bfad781fb0d4cbcda65f5d5245
      
https://github.com/qemu/qemu/commit/a1e04619950f29bfad781fb0d4cbcda65f5d5245
  Author: Vincent Palatin <vpalatin@chromium.org>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Add emmc_cmd_SEND_EXT_CSD handler (CMD8)

The parameters mimick a real 4GB eMMC, but it can be set to various
sizes.

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Sai Pavan Boddu <sai.pavan.boddu@xilinx.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>

EXT_CSD values from Vincent's patch simplivied for Spec v4.3:

- Remove deprecated keys:
  . EXT_CSD_SEC_ERASE_MULT
  . EXT_CSD_SEC_TRIM_MULT

- Set some keys to not defined / implemented:
  . EXT_CSD_HPI_FEATURES
  . EXT_CSD_BKOPS_SUPPORT
  . EXT_CSD_SEC_FEATURE_SUPPORT
  . EXT_CSD_ERASE_TIMEOUT_MULT
  . EXT_CSD_PART_SWITCH_TIME
  . EXT_CSD_OUT_OF_INTERRUPT_TIME

- Simplify:
  . EXT_CSD_ACC_SIZE (6 -> 1)
      16KB of super_page_size -> 512B (BDRV_SECTOR_SIZE)
  . EXT_CSD_HC_ERASE_GRP_SIZE (4 -> 1)
  . EXT_CSD_HC_WP_GRP_SIZE (4 -> 1)
  . EXT_CSD_S_C_VCC[Q] (8 -> 1)
  . EXT_CSD_S_A_TIMEOUT (17 -> 1)
  . EXT_CSD_CARD_TYPE (7 -> 3)
      Dual data rate -> High-Speed mode

- Update:
  . EXT_CSD_CARD_TYPE (7 -> 3)
      High-Speed MultiMediaCard @ 26MHz & 52MHz
  . Performances (0xa -> 0x46)
      Class B at 3MB/s. -> Class J at 21MB/s
  . EXT_CSD_REV (5 -> 3)
      Rev 1.5 (spec v4.41) -> Rev 1.3 (spec v4.3)

- Use load/store API to set EXT_CSD_SEC_CNT

- Remove R/W keys, normally zeroed at reset
  . EXT_CSD_BOOT_INFO

Migrate the Modes segment (192 lower bytes) but not the
full EXT_CSD register, see Spec v4.3, chapter 8.4
"Extended CSD register":

  The Extended CSD register defines the card properties
  and selected modes. It is 512 bytes long. The most
  significant 320 bytes are the Properties segment, which
  defines the card capabilities and cannot be modified by
  the host. The lower 192 bytes are the Modes segment,
  which defines the configuration the card is working in.
  These modes can be changed by the host by means of the
  SWITCH command.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Cédric Le Goater <clg@redhat.com>
Message-Id: <20240712162719.88165-9-philmd@linaro.org>


  Commit: c3561ab6249322893273707016b2b2253d0e89c3
      
https://github.com/qemu/qemu/commit/c3561ab6249322893273707016b2b2253d0e89c3
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Add eMMC 'boot-partition-size' property

Avoid hardcoding 1MiB boot size in EXT_CSD_BOOT_MULT,
expose it as 'boot-partition-size' QOM property.

By default, do not use any size. The board is responsible
to set the boot partition size property.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Cédric Le Goater <clg@redhat.com>
Message-Id: <20240712162719.88165-10-philmd@linaro.org>


  Commit: 8f25b74a32316b718884796459921696cd43f048
      
https://github.com/qemu/qemu/commit/8f25b74a32316b718884796459921696cd43f048
  Author: Sai Pavan Boddu <sai.pavan.boddu@xilinx.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/sd/sd.c
    M hw/sd/trace-events

  Log Message:
  -----------
  hw/sd/sdcard: Add mmc SWITCH function support (CMD6)

switch operation in mmc cards, updated the ext_csd register to
request changes in card operations. Here we implement similar
sequence but requests are mostly dummy and make no change.

Implement SWITCH_ERROR if the write operation offset goes beyond
length of ext_csd.

Signed-off-by: Sai Pavan Boddu <sai.pavan.boddu@xilinx.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[PMD: Convert to SDProto handlers, add trace events]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Tested-by: Cédric Le Goater <clg@redhat.com>
Message-Id: <20240712162719.88165-11-philmd@linaro.org>


  Commit: c8cb19876d3e29bffd7ffd87586ff451f97f5f46
      
https://github.com/qemu/qemu/commit/c8cb19876d3e29bffd7ffd87586ff451f97f5f46
  Author: Joel Stanley <joel@jms.id.au>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M hw/sd/sd.c

  Log Message:
  -----------
  hw/sd/sdcard: Support boot area in emmc image

This assumes a specially constructed image:

  $ dd if=/dev/zero of=mmc-bootarea.img count=2 bs=1M
  $ dd if=u-boot-spl.bin of=mmc-bootarea.img conv=notrunc
  $ dd if=u-boot.bin of=mmc-bootarea.img conv=notrunc count=64 bs=1K
  $ cat mmc-bootarea.img obmc-phosphor-image.wic > mmc.img
  $ truncate --size 16GB mmc.img

For now this still requires a mtd image to load the SPL:

  $ qemu-system-arm -M tacoma-bmc -nographic \
      -global driver=sd-card,property=emmc,value=true \
      -drive file=mmc.img,if=sd,index=2,format=raw

Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20240712162719.88165-12-philmd@linaro.org>


  Commit: a9f2ffa0f5c7bdb43981015573b375f070b70287
      
https://github.com/qemu/qemu/commit/a9f2ffa0f5c7bdb43981015573b375f070b70287
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M hw/core/loader.c
    M hw/display/ati.c
    M hw/display/qxl-render.c
    M hw/display/virtio-gpu.c
    M hw/display/vmware_vga.c
    M hw/isa/vt82c686.c
    M hw/mips/fuloong2e.c
    M hw/ppc/amigaone.c
    M hw/ppc/pegasos2.c
    M hw/scsi/esp.c
    M include/hw/core/cpu.h
    M include/hw/loader.h
    M include/hw/qdev-core.h
    M include/ui/console.h
    M meson.build
    M system/cpus.c
    M system/physmem.c
    M system/vl.c
    M target/tricore/cpu.c
    M ui/cocoa.m
    M ui/console.c
    M ui/dbus-listener.c
    M ui/gtk.c
    M ui/sdl2.c
    M ui/spice-display.c
    M ui/vnc.c

  Log Message:
  -----------
  Merge tag 'hw-misc-20240716' of https://github.com/philmd/qemu into staging

Misc HW & UI patches queue

- Allow loading safely ROMs larger than 4GiB (Gregor)
- Convert vt82c686 IRQ as named 'intr' (Bernhard)
- Clarify QDev GPIO API (Peter)
- Drop unused load_image_gzipped function (Ani)
- Make TCGCPUOps::cpu_exec_interrupt handler mandatory (Peter)
- Factor cpu_pause() out (Nicholas)
- Remove transfer size check from ESP DMA DATA IN / OUT transfers (Mark)
- Add accelerated cursor composition to Cocoa UI (Akihiko)
- Fix '-vga help' CLI (Marc-André)
- Fix displayed errno in ram_block_add (Zhenzhong)

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmaWto0ACgkQ4+MsLN6t
# wN54fBAAwfhSQ9PKTYNlnsmJteXAsPCUg8KZwRblkAZs1z/xJX/sFKJF3PZ8fn4r
# Ty+Fiu4Sylfv19mTc/8Bc8pKfHn9zwY7Kb/H5kHjEuFwEZolODHXO8znRV621iZq
# PAeI64dVo5yIgqlAnf6xPSITwe2f75IS0ivIIKYwFsPqeGMUl6dvh/5xqoxis/hQ
# j/1hFLe+jX4whIcOFcqbR3oV3CZy+nMBLJH1/OtvKJ5aC8vFxt5xsKM0xkG94Pmx
# iYhVx4yjULRSSLMaRowqHqEtPB0pmYyuxz0CwjlcI8PU+gUa+dsZLOomD8YenmJR
# FQubQJOKkqlvQ8j7+2okwQs3NDW1TzwsYnvJKB3+EE+DD3Wq/ny5D0eMcnn5NW1Z
# 7rO624XhkvLsJlTJzVvuzpulmC+UFb/6S8CyStGPDxWCGrU3WqdZeoqbbhmXzacU
# ck17Cs2Ma4k0OIRYgAVdnwq96cuQCFNNzNq/iakcJs5Lsaa6Cai/YByKf1tBaGRm
# d/mJgN7WAJrOSpiRhNuNlay4O+hX0rn+wLwecbKW9sbKuoo9eHjzi8YAQuw/TVYr
# oMF/McqtWFCUyVt0eHtA3C+1dSW4+qQTDQSvabbXx54otRSEnMSEubgYFsdu3hF4
# P0mZyxPg4nPxy3uoz9hVQ63F45quaXX/B2fwvoYSBl58xuyxY6M=
# =rOg6
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 17 Jul 2024 04:06:05 AM AEST
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" 
[full]

* tag 'hw-misc-20240716' of https://github.com/philmd/qemu:
  system/physmem: use return value of ram_block_discard_require() as errno
  vl: fix "type is NULL" in -vga help
  ui/console: Remove dpy_cursor_define_supported()
  ui/cocoa: Add cursor composition
  ui/console: Convert mouse visibility parameter into bool
  ui/cocoa: Release CGColorSpace
  esp: remove transfer size check from DMA DATA IN and DATA OUT transfers
  system/cpus: Add cpu_pause() function
  accel/tcg: Make cpu_exec_interrupt hook mandatory
  loader: remove load_image_gzipped function as its not used anywhere
  include/hw/qdev-core.h: Correct and clarify gpio doc comments
  hw/isa/vt82c686: Turn "intr" irq into a named gpio
  hw/core/loader: allow loading larger ROMs

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: e2f346aa98646e84eabe0256f89d08e89b1837cf
      
https://github.com/qemu/qemu/commit/e2f346aa98646e84eabe0256f89d08e89b1837cf
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M hw/sd/sd.c
    M hw/sd/trace-events
    M include/hw/sd/sd.h

  Log Message:
  -----------
  Merge tag 'sdmmc-20240716' of https://github.com/philmd/qemu into staging

SD/MMC patches queue

Addition of eMMC support is a long-term collaborative virtual work by:

 - Cédric Le Goater
 - Edgar E. Iglesias
 - Francisco Iglesias
 - Joel Stanley
 - Luc Michel
 - Philippe Mathieu-Daudé
 - Sai Pavan Boddu
 - Vincent Palatin

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmaWvlEACgkQ4+MsLN6t
# wN7p7hAAj6JV3fIg1iKBR49asQVzU3/nYRIlWnp6QsLRGX+qwjMnuMzlvpinTtq4
# SJZobw1OJp/2LNaEGqAqNHqBpwAPibUnkei0pd1Y+v6Cyywo7X5Y1hRvQf46Ezqm
# u2FxsAfWc4cQs+sFrbNq/v7X2+R6VmChkA+EVc4cB0gwMOjvtg8RQObdhKr7Y6UX
# b9KvRDSNMH75ht39RD/smtcn/kprkkTQYo/ciBbVWdnBMiKuhN0qLXbKnZu9lMs4
# Ru29ypT+98pL1E/4YbgNcLGYXHjKrSIpD3+DEvmWe09LdG2+YMASv7do3iKfAYN5
# KdQ9BNZxYrpmeDAiyL521pODsgvU/wDDdbK0xUztPqcHhpYkvcfYWdzO8wr28Ib0
# wOEA0+xzveeD+1ZKjilbZ6tKzsRrKgv1O8j1T8rXab2/3mjrW2R5G/5y4bpM8E4h
# KuqGwC2YjWsJi3CwRL5Cvu5YBsiyYF7mk0zTKK2qwO87B7Pa0PJ3Y9x0xIWm4blp
# RoZ1SaCChH3M1hKK3jDjrIutXrZG8CzHpe17QjTQeUxo+/wX3VfDYbXasTe1orFu
# +JkUBU+xZ6m1+dWAa22H5KbeY8wd99p6w+ChnVmS15WqVK8i2e4gfTsKGh7Idt3t
# Vf4CaCD/2vRtKo4AN+YNDUg1DWV89zXRbnkR5oWUWG3Fda5Qo3k=
# =m52p
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 17 Jul 2024 04:39:13 AM AEST
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" 
[full]

* tag 'sdmmc-20240716' of https://github.com/philmd/qemu:
  hw/sd/sdcard: Support boot area in emmc image
  hw/sd/sdcard: Add mmc SWITCH function support (CMD6)
  hw/sd/sdcard: Add eMMC 'boot-partition-size' property
  hw/sd/sdcard: Add emmc_cmd_SEND_EXT_CSD handler (CMD8)
  hw/sd/sdcard: Implement eMMC sleep state (CMD5)
  hw/sd/sdcard: Add emmc_cmd_PROGRAM_CID handler (CMD26)
  hw/sd/sdcard: Fix SET_BLOCK_COUNT command argument on eMMC (CMD23)
  hw/sd/sdcard: Add emmc_cmd_SET_RELATIVE_ADDR handler (CMD3)
  hw/sd/sdcard: Register unimplemented command handlers
  hw/sd/sdcard: Register generic command handlers
  hw/sd/sdcard: Basis for eMMC support

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Compare: https://github.com/qemu/qemu/compare/959269e91094...e2f346aa9864

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications



reply via email to

[Prev in Thread] Current Thread [Next in Thread]