qemu/hw/arm
Peter Maydell ce4f70e81e hw/arm/nrf51_soc: Set system_clock_scale
The nrf51 SoC model wasn't setting the system_clock_scale
global.which meant that if guest code used the systick timer in "use
the processor clock" mode it would hang because time never advances.

Set the global to match the documented CPU clock speed for this SoC.

This SoC in fact doesn't have a SysTick timer (which is the only thing
currently that cares about the system_clock_scale), because it's
a configurable option in the Cortex-M0. However our Cortex-M0 and
thus our nrf51 and our micro:bit board do provide a SysTick, so
we ought to provide a functional one rather than a broken one.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20200727193458.31250-1-peter.maydell@linaro.org
2020-08-03 17:55:31 +01:00
..
allwinner-a10.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
allwinner-h3.c hw: Mark nd_table[] misuse in realize methods FIXME 2020-07-21 08:41:15 +02:00
armsse.c hw/arm/armsse: Assert info->num_cpus is in-bounds in armsse_realize() 2020-07-20 11:35:17 +01:00
armv7m.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
aspeed_ast2600.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
aspeed_soc.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
aspeed.c Minor changes to: 2020-07-20 11:03:09 +01:00
bcm2835_peripherals.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
bcm2836.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
boot.c hw/arm/boot: Fix MTE for EL3 direct kernel boot 2020-07-27 16:12:10 +01:00
collie.c hw/arm/collie: Put StrongARMState* into a CollieMachineState struct 2020-04-03 19:23:37 +01:00
cubieboard.c qom: Use returned bool to check for failure, Coccinelle part 2020-07-10 15:18:08 +02:00
digic_boards.c qdev: Use returned bool to check for qdev_realize() etc. failure 2020-07-10 15:01:06 +02:00
digic.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
exynos4_boards.c sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 1 2020-06-15 22:06:04 +02:00
exynos4210.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02: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 qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
fsl-imx7.c Add the ability to change the FEC PHY MDIO devices numbers on i.MX7 processor 2020-07-13 14:36:08 +01:00
fsl-imx25.c Add the ability to change the FEC PHY MDIO device number on i.MX25 processor 2020-07-13 14:36:07 +01:00
fsl-imx31.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
gumstix.c hw/arm/gumstix: Simplify since the machines are little-endian only 2020-03-05 16:09:14 +00:00
highbank.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
imx25_pdk.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
integratorcp.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
Kconfig hw: Only compile the usb-dwc2 controller if it is really needed 2020-07-24 16:15:28 +02:00
kzm.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
mainstone.c hw/arm: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:46 +01:00
Makefile.objs hw/arm: add Xunlong Orange Pi PC machine 2020-03-12 16:27:33 +00:00
mcimx6ul-evk.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
mcimx7d-sabre.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
microbit.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
mps2-tz.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
mps2.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
msf2-soc.c msf2-soc, stellaris: Don't wire up SYSRESETREQ 2020-08-03 17:55:03 +01:00
msf2-som.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
musca.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
musicpal.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00
netduino2.c hw/arm/netduino2, netduinoplus2: Set system_clock_scale 2020-08-03 17:55:03 +01:00
netduinoplus2.c hw/arm/netduino2, netduinoplus2: Set system_clock_scale 2020-08-03 17:55:03 +01:00
nrf51_soc.c hw/arm/nrf51_soc: Set system_clock_scale 2020-08-03 17:55:31 +01:00
nseries.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00
omap1.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
omap2.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
omap_sx1.c hw/arm: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:46 +01:00
orangepi.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
palm.c hw/arm/palm.c: Encapsulate misc GPIO handling in a device 2020-07-13 14:36:12 +01:00
pxa2xx_gpio.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
pxa2xx_pic.c hw/arm/pxa2xx_pic: Use LOG_GUEST_ERROR for bad guest register accesses 2020-07-03 16:59:45 +01:00
pxa2xx.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00
raspi.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
realview.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00
sabrelite.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
sbsa-ref.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
smmu-common.c hw/arm/smmu-common: Simplify smmu_find_smmu_pcibus() logic 2020-03-05 16:09:14 +00:00
smmu-internal.h hw/arm/smmu-common: VMSAv8-64 page table walk 2018-05-04 18:05:51 +01:00
smmuv3-internal.h hw/arm/smmuv3: Use correct bit positions in EVT_SET_ADDR2 macro 2019-12-20 14:03:00 +00:00
smmuv3.c hw: Remove unnecessary cast when calling dma_memory_read() 2020-02-20 14:47:08 +01:00
spitz.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00
stellaris.c msf2-soc, stellaris: Don't wire up SYSRESETREQ 2020-08-03 17:55:03 +01:00
stm32f205_soc.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
stm32f405_soc.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
strongarm.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
strongarm.h hw/arm/collie: Create the RAM in the board 2019-10-22 17:44:01 +01:00
sysbus-fdt.c hw/arm/virt: vTPM support 2020-03-05 12:18:16 -05:00
tosa.c Minor changes to: 2020-07-20 11:03:09 +01:00
trace-events trace-events: Fix attribution of trace points to source 2019-03-22 16:18:07 +00:00
versatilepb.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00
vexpress.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00
virt-acpi-build.c hw/arm/virt-acpi-build: Only expose flash on older machine types 2020-07-03 16:59:43 +01:00
virt.c hw/arm/virt: Disable memory hotplug when MTE is enabled 2020-07-20 11:35:17 +01:00
xilinx_zynq.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
xlnx-versal-virt.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
xlnx-versal.c hw: Mark nd_table[] misuse in realize methods FIXME 2020-07-21 08:41:15 +02:00
xlnx-zcu102.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
xlnx-zynqmp.c QOM patches for 2020-07-21 2020-07-21 18:31:52 +01:00
z2.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00