qemu/hw/arm
Daniel Bertalan f802ff1e28 hw/arm/bcm2835_property: Implement "get command line" message
This query copies the kernel command line into the message buffer. It
was previously stubbed out to return empty, this commit makes it reflect
the arguments specified with `-append`.

I observed the following peculiarities on my Pi 3B+:
- If the buffer is shorter than the string, the response header gives
  the full length, but no data is actually copied.
- No NUL terminator is added: even if the buffer is long enough to fit
  one, the buffer's original contents are preserved past the string's
  end.
- The VC firmware adds the following extra parameters beside the
  user-supplied ones (via /boot/cmdline.txt): `video`, `vc_mem.mem_base`
  and `vc_mem.mem_size`. This is currently not implemented in qemu.

Signed-off-by: Daniel Bertalan <dani@danielbertalan.dev>
Message-id: 20230425103250.56653-1-dani@danielbertalan.dev
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
[PMM: added comment about NUL and short-buffer behaviour]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2023-05-02 15:47:40 +01:00
..
allwinner-a10.c hw/arm: Add WDT to Allwinner-A10 and Cubieboard 2023-04-20 10:21:13 +01:00
allwinner-h3.c hw/arm: Add WDT to Allwinner-H3 and Orangepi-PC 2023-04-20 10:21:14 +01:00
armsse.c error: Move ERRP_GUARD() to the beginning of the function 2022-12-14 16:19:35 +01:00
armv7m.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
aspeed_ast10x0.c hw/arm/aspeed_ast10x0: Add TODO comment to use Cortex-M4F 2023-02-07 09:02:05 +01:00
aspeed_ast2600.c aspeed: Introduce a spi_boot region under the SoC 2023-03-02 13:57:50 +01:00
aspeed_eeprom.c hw/arm/aspeed: Modified BMC FRU byte data in yosemitev2 2023-03-07 16:53:18 +01:00
aspeed_eeprom.h hw/arm/aspeed: Adding new machine Tiogapass in QEMU 2023-03-02 13:57:50 +01:00
aspeed_soc.c aspeed: Introduce a spi_boot region under the SoC 2023-03-02 13:57:50 +01:00
aspeed.c hw/arm/aspeed: Added TMP421 type sensor's support in tiogapass 2023-03-07 16:53:18 +01:00
bcm2835_peripherals.c hw/arm/bcm2835_property: Implement "get command line" message 2023-05-02 15:47:40 +01:00
bcm2836.c hw/arm/bcm2835_property: Implement "get command line" message 2023-05-02 15:47:40 +01:00
boot.c hw/arm: do not free machine->fdt in arm_load_dtb() 2023-04-03 16:12:30 +01:00
collie.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
cubieboard.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
digic_boards.c hw/arm: Don't include qemu-common.h unnecessarily 2021-12-15 10:35:26 +00:00
digic.c arm/digic: replace snprintf() with g_strdup_printf() 2022-04-21 17:03:51 +04:00
exynos4_boards.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
exynos4210.c hw/arm: Fix some typos in comments (most found by codespell) 2023-04-20 10:21:13 +01:00
fby35.c aspeed: Introduce a spi_boot region under the SoC 2023-03-02 13:57:50 +01:00
fsl-imx6.c Add the ability to change the FEC PHY MDIO device number on i.MX6 processor 2020-07-13 14:36:08 +01:00
fsl-imx6ul.c fsl-imx6ul: Add fec[12]-phy-connected properties 2023-04-20 10:46:19 +01:00
fsl-imx7.c fsl-imx7: Add fec[12]-phy-connected properties 2023-04-20 10:46:35 +01:00
fsl-imx25.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
fsl-imx31.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
gumstix.c hw/arm: Remove unreachable code calling pflash_cfi01_register() 2023-01-12 17:03:14 +00:00
highbank.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
imx25_pdk.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
integratorcp.c hw: Replace trivial drive_get_next() by drive_get() 2021-12-15 08:38:16 +01:00
Kconfig arm/Kconfig: Do not build TCG-only boards on a KVM-only build 2023-05-02 10:54:32 +01:00
kzm.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
mainstone.c hw/arm: Remove unreachable code calling pflash_cfi01_register() 2023-01-12 17:03:14 +00:00
mcimx6ul-evk.c arm/mcimx6ul-evk: Set fec1-phy-connected property to false 2023-04-20 10:46:29 +01:00
mcimx7d-sabre.c arm/mcimx7d-sabre: Set fec2-phy-connected property to false 2023-04-20 10:46:43 +01:00
meson.build hw/arm/aspeed: Add aspeed_eeprom.c 2023-02-07 09:02:05 +01:00
microbit.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
mps2-tz.c hw: Replace qemu_or_irq typedef by OrIRQState 2023-02-27 13:27:05 +00:00
mps2.c hw/char/cmsdk-apb-uart: Open-code cmsdk_apb_uart_create() 2023-02-27 13:27:05 +00:00
msf2-soc.c arm: Remove system_clock_scale global 2021-09-01 11:08:21 +01:00
msf2-som.c tests/avocado: Truncate M2S-FG484 SOM SPI flash to 16MiB 2023-02-07 09:02:04 +01:00
musca.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
musicpal.c hw/arm: Fix some typos in comments (most found by codespell) 2023-04-20 10:21:13 +01:00
netduino2.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
netduinoplus2.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
npcm7xx_boards.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
npcm7xx.c hw/arm: Attach PSPI module to NPCM7XX SoC 2023-02-16 16:00:48 +00:00
nrf51_soc.c arm: Remove system_clock_scale global 2021-09-01 11:08:21 +01:00
nseries.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
olimex-stm32-h405.c hw/arm: Add Olimex H405 2023-01-12 16:50:19 +00:00
omap1.c hw/arm: Fix some typos in comments (most found by codespell) 2023-04-20 10:21:13 +01:00
omap2.c hw/arm: Fix some typos in comments (most found by codespell) 2023-04-20 10:21:13 +01:00
omap_sx1.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
orangepi.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
palm.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
pxa2xx_gpio.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
pxa2xx_pic.c target/arm: Replace sentinels with ARRAY_SIZE in cpregs.h 2022-05-05 09:35:50 +01:00
pxa2xx.c hw/arm/pxa2xx: Simplify pxa270_init() 2023-01-12 17:03:14 +00:00
raspi.c hw/arm/bcm2835_property: Implement "get command line" message 2023-05-02 15:47:40 +01:00
realview.c hw/i2c/versatile_i2c: Replace TYPE_VERSATILE_I2C -> TYPE_ARM_SBCON_I2C 2023-01-23 13:32:38 +00:00
sabrelite.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
sbsa-ref.c hw/ide: Rename ide_create_drive() -> ide_bus_create_drive() 2023-02-27 22:29:02 +01:00
smmu-common.c smmu: switch to use memory_region_unmap_iommu_notifier_range() 2023-03-02 19:13:52 -05:00
smmu-internal.h hw/arm/smmuv3: Fix SMMU_CMD_CFGI_STE_RANGE handling 2021-03-12 12:40:10 +00:00
smmuv3-internal.h hw/arm/smmuv3: Add GBPA register 2023-02-16 16:00:47 +00:00
smmuv3.c hw/arm/smmuv3: Add GBPA register 2023-02-16 16:00:47 +00:00
spitz.c hw/arm/pxa2xx: Simplify pxa270_init() 2023-01-12 17:03:14 +00:00
stellaris.c hw/char/pl011: Open-code pl011_luminary_create() 2023-02-27 13:27:05 +00:00
stm32f100_soc.c hw/arm/stm32f100: Wire up sysclk and refclk 2021-09-01 11:08:19 +01:00
stm32f205_soc.c hw/arm/stm32f205: Wire up sysclk and refclk 2021-09-01 11:08:19 +01:00
stm32f405_soc.c hw/arm/stm32f405: correctly describe the memory layout 2023-01-12 16:50:18 +00:00
stm32vldiscovery.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
strongarm.c bulk: Rename TARGET_FMT_plx -> HWADDR_FMT_plx 2023-01-18 11:14:34 +01:00
strongarm.h hw/arm/collie: Create the RAM in the board 2019-10-22 17:44:01 +01:00
tosa.c hw/arm/pxa2xx: Simplify pxa255_init() 2023-01-12 17:03:14 +00:00
trace-events docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
versatilepb.c hw/i2c/versatile_i2c: Replace TYPE_VERSATILE_I2C -> TYPE_ARM_SBCON_I2C 2023-01-23 13:32:38 +00:00
vexpress.c hw/i2c/versatile_i2c: Replace TYPE_VERSATILE_I2C -> TYPE_ARM_SBCON_I2C 2023-01-23 13:32:38 +00:00
virt-acpi-build.c hw/arm: Fix some typos in comments (most found by codespell) 2023-04-20 10:21:13 +01:00
virt.c target/arm: move cpu_tcg to tcg/cpu32.c 2023-05-02 10:54:31 +01:00
xilinx_zynq.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
xlnx-versal-virt.c hw/arm: Fix some typos in comments (most found by codespell) 2023-04-20 10:21:13 +01:00
xlnx-versal.c Drop duplicate #include 2023-02-08 07:28:05 +01:00
xlnx-zcu102.c hw/arm/xlnx-zcu102: Don't enable PSCI conduit when booting guest in EL3 2022-02-08 10:56:27 +00:00
xlnx-zynqmp.c hw/arm/xlnx-zynqmp: Connect ZynqMP's USB controllers 2022-09-29 17:40:01 +01:00
z2.c hw/arm: Remove unreachable code calling pflash_cfi01_register() 2023-01-12 17:03:14 +00:00